integrate adds "ind" to correct answer



on sept 06, 09, Raymond Toy wrote

>>
>> Since maxima can find the indefinite integral, this
>> must be a limit(...)  bug:
> Not necessarily.  While I have not had a chance to look at the cause of
> the bug, the algorithm for definite integration is usually very, very
> different from the typical school method of finding the indefinite
> integral and plugging in the limits.  Usually, maxima tries to convert
> the definite integral into some kind of contour integral and evaluates
> that via residues using precomputed  results or by explicitly computing
> the residues.
>
> Ray
>
>
If we force use of the limit method, ldefint(..) also chokes in a different 
way.
If we help it out by putting exp(-a*x) out front, it also gets "ind"

(%i1) display2d:false$
(%i2) assume( a>0, w>0 )$
(%i3) le : ldefint(x*exp(-a*x)*cos(w*x),x,0,inf);
(%o3) ('limit(w^3*x*%e^-(a*x)*sin(w*x)+a^2*w*x*%e^-(a*x)*sin(w*x)
                                      +2*a*w*%e^-(a*x)*sin(w*x)
                                      -a*w^2*x*%e^-(a*x)*cos(w*x)
                                      -a^3*x*%e^-(a*x)*cos(w*x)
                                      +w^2*%e^-(a*x)*cos(w*x)
                                      -a^2*%e^-(a*x)*cos(w*x),x,inf))
       /(w^4+2*a^2*w^2+a^4)
       -w^2/(w^4+2*a^2*w^2+a^4)+a^2/(w^4+2*a^2*w^2+a^4)
(%i4) learg : part(le,1,1,1);
(%o4) w^3*x*%e^-(a*x)*sin(w*x)+a^2*w*x*%e^-(a*x)*sin(w*x)
                              +2*a*w*%e^-(a*x)*sin(w*x)
                              -a*w^2*x*%e^-(a*x)*cos(w*x)
                              -a^3*x*%e^-(a*x)*cos(w*x)+w^2*%e^-(a*x)*cos(w*x)
                              -a^2*%e^-(a*x)*cos(w*x)
(%i5) collectterms(learg,exp(-a*x));
(%o5) leart
(%i6) collectterms(learg,exp(-a*x));
(%o6) %e^-(a*x)*(w^3*x*sin(w*x)+a^2*w*x*sin(w*x)+2*a*w*sin(w*x)
                               -a*w^2*x*cos(w*x)-a^3*x*cos(w*x)+w^2*cos(w*x)
                               -a^2*cos(w*x))
(%i7) limit(%,x,inf);
(%o7) ind

Ted Woollett