Trouble with the pattern matcher ...



On 9/12/2013 10:46 PM, David Scherfgen wrote:
> Richard, that's great help, thank you!
> Indeed I'm trying to make Maxima solve integrals the "human way" for 
> learning purposes.
> If you have any additional information/hints on that topic (maybe it 
> has even been done already?), I'd be very grateful.
>
> Regards,
> David
>
* Computer algebra systems often do not use the same steps that are 
taught to freshman calc students.
Therefore just revealing the steps theire algorithms take is not 
necessarily helpful. On the other hand,
really interested students might benefit by learning about these 
alternative methods.  Most calc
students just want to pass the required course and then forget it all :(

* I am aware of one web site that claims to show the steps that a 
student is supposed to take,
for a small payment   US$0.05, when I looked last.  calc101.com.
It seems to use Mathematica in some form, but presumably not to directly 
do the integrals requested.

*Wolfram Alpha will probably do textbook indefinite integration problems 
fairly well; maybe botching
the simplest form sometimes. Free.  Not showing the steps.

* Joel Moses' PhD thesis program SIN uses about a dozen methods that are 
relatively easy to
explain; you can look at this and simulate them.  e.g. look for an 
expression that is a rational
function of sin(x) and cos(x),  substitute tan(x/2)...

I don't know how much code this would require -- the most effective 
method, "derivative divides" is
fairly short as written out in my paper.  the other methods might be longer.

* Some of the solution "methods"  shown in calculus courses are not 
methods at all, but examples
of inspired guesses.  Some are invalid in the complex plane, and a 
fundamental fact -- that
some integrals cannot be expressed in terms of elementary functions -- 
is often lost in the
confusion:  "I can't figure this out --- maybe I'm not smart enough --- 
what, no one can do it ??"

If you rewrite Moses' stuff so that it is more general and/or easy to 
read, that might be fun.
Moses' program, somewhat re-written, is in Maxima, source code file sin.lisp

RJF