Subject: Expand, factor... as a way to solve, simplify?
From: Daniel Lemire
Date: Wed, 03 Oct 2001 16:28:30 -0300
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