Bug in the integrate.



>>>>> "Dylan" == Dylan Thurston <dpt@math.harvard.edu> writes:

    Dylan> On Mon, Apr 15, 2002 at 10:04:39AM +0200, Juan Pablo Hierro ?lvarez wrote:
    >> Recently, there has been a bug announced in this list. Basically, maxima 
    >> failed to integrate properly expresions of the type:
    >> integrate(3^log(x), x);
    >> It produced an erroneous result, which is worst than not producing result at 
    >> all. The reason is just it tries to use the sin algorithm to evaluate the 
    >> integral instead of the risch algorithm, which is more general but produces 
    >> results which are harder to simplify.
    >> 
    >> One quick hack to test this could be to type
    >> :lisp(push '%risch nounl)
    >> before evaluating such integral ...

    Dylan> Surely the correct fix is to make sure that the sin algorithm does not
    Dylan> return incorrect results, and then if that algorithm fails try the risch
    Dylan> algorithm?

I agree.  Doesn't Wolfgang Jenkner's patch correct the problem?  I
haven't tried it out yet.

Ray