Expand, factor... as a way to solve, simplify?



Good day,

I still don't think it is reasonable. If the only support the computer 
is providing me is a set of functions to modify expression manually (do 
this, do that), then it is of no use. (Mind you, that's not what Maxima 
does, but that's what you seem to be arguing it should do.)

For simple problems, I will do it faster with pen and paper.

For harder problems, it will just fail because charting my route amounts 
to do it the hard work. I want the computer here to do the grunt work 
for me.

I'm not saying that it is the case for Maxima... I'm referring to the 
mythical software that should require the user to know the steps 
involved in solving the problem before having it solve it.

If it cannot solve without human assistance the problems we ask our 
"introductory calculus" students to do by computer, it is a big "No No" 
as a research tool for me.

And don't tell me that because it is free, open source, it is "ok" for 
it not to be competitive. I don't use "free" software because it is 
inexpensive, I use it because I expect it to serve me better. Again, I'm 
not saying Maxima wouldn't serve me better... I'm referring to the 
comments I've read.

Let's call a cat, a cat...

If Maxima can't do it because it is beyond Maxima, then please, just say 
that Maxima can't do it (yet?). Don't tell me that the problem we have 
our calculus students solving down in the lab, 100 meters from my 
office, cannot be solved by computer. Don't tell me I don't understand 
computer algebra.

The truth, it seems, is that Maxima cannot solve

exp(a * x) = C * exp(b * x)

Either it can solve it or not. If I have to manually divide throughout 
by exp(b * x), then it cannot solve it on its own, period. It is lacking 
in that regard with respect to commercial tools.


The correct thing to do is to put this problem on the "to do" list and 
say "such as such tool does it, then Maxima, surely, could do it, if 
someone shows up looking for a way to contribute, here's what he could do".

  I know how it works.I wrote a lot of GPL software. Go and look. My 
software has limitations. I don't expect perfect software... however, if 
my software cannot do something it should be able to do (if only because 
competing software do it), I won't start arguing that it is "how it 
works". If you don't want your user to speak up, the community is never 
going to build great software.

I just get mad when people say things like... "the problem isn't with 
the software, it is with you..." You have to be very careful when you 
say this... because software should serve humans, not the other way 
around. Software should work help the work of humans, not shape the work 
they do. It is up to the software to get better. Humans won't get 
smarter any time soon. Software can much more easily adapt. This type of 
answer has been given by Mac fanatics for years... "we don't have 
multitasking, but real multitasking is not good anyhow, that's not how 
it should work", "we have limited memory management, but that's not a 
defect, it is a feature". When you start thinking like this, bugs don't 
get fixed, features don't get implemented. That's how Apple almost died.

Come on!

I've run Maxima several times on my Linux box. As I ran it again and 
again, my machine started to get slower and slower. Yet, Maxima wasn't 
"on". I did "ps -A" to discover that several Maxima processes were 
running unattended. I'm afraid to report this as a bug because people 
are going to start arguing that it is a feature and that it is up to me 
to run "kill" after I execute a piece of software.

If the community wants to be serious about this, you need a RFE (request 
for enhancement) list and a bug list. It is quite alright to say that 
this RFE is probably not going to happen because of this or that... but 
the community shouldn't reject RFE and bug reports on the basis that it 
is the "user's fault" or "this software is free".

This has nothing to do with blaming the authors at this point. This is 
just great and I'm really looking forward to day when I'll be using 
Maxima all the time... I only want to help by reporting what I think 
should be improved and what should be corrected. I only want Maxima to 
be better than the commercial alternatives. I assure you that it doesn't 
make me happy to say the opposite...




> I'm not saying that you should use expand, factor, etc. at random; it may be
> necessary to examine the problem carefully before you attack it with
> computer algebra - to map out where you're going.



-- 
Daniel Lemire, Ph.D.
http://www.ondelette.com