On Sat, Oct 10, 2009 at 2:55 AM, Leo Butler <l.butler at ed.ac.uk> wrote:
> < > (%o6) if k-1 < 0 then integrate(%e^(%i*k*x)*sin(x)/x,x,minf,inf) elseif
> < > equal(k-1,0) then %pi else 0
> < >
> < > The answer shows that when k-1<0 Maxima can't do the integration.
> This shows a weakness in the noninteractive code. If you walk through
> the cases that 'integrate' throws up, you will see that it does
> correctly identify all the various conditions on k. The noninteractive
> result you show is not following the various cases that are thrown up.
Well, noninteractive only tries to construct one level of if-then-else.
Often enough trying to follow up on the alternatives leads you
down the rabbit hole. (I wrote it to continue trying to resolve
each alternative, and it's easy to find examples for which that
leads to endless looping or other problems.)
Sometimes it's obvious that trying just one more time would yield
a useful result. Dunno how to detect that automatically.
I haven't looked at the present example but maybe it is one of
those that could benefit from trying just a little harder.
If someone would please file a bug report about it and assign it
to me, that would be very helpful. Thanks for your interest in noninteractive.
best
Robert Dodier