[Maxima] Bug in integrate?

David Ronis David.Ronis at McGill.CA
Tue May 29 21:43:01 CDT 2012


I trying to use maxima to evaluate a messy multidimensional integral.
The integrand has several variables some of which I've called k[i]
(primarily in order to get imaxima to display them with nice
subscripts).  Here's an abbreviated version of what I'm trying to do:

                kill(all);
                
                declare(integrate, linear);
                declare(laplace, linear);
                declare(limit, linear);
                assume(Gamma>0, D>0, z>0, k[0]>0, k[1]>0);
                assume(xi^2*D-k[0]^2*D-Gamma>0);
                assume(xi^2*D+k[0]^2*D-Gamma>0);
                assume(xi^2*D-k[0]^2*D+Gamma>0);
                assume(abs(k[1]-k[0])-k[1]-k[0]<0);
                assume(Z-2*k[0]^2*D+2*Gamma>0);
                assume(Z-2*k[0]^2*D+2*Gamma>0);
                assume(Z-k[0]^2*D+2*Gamma>0);
                
                domain:complex;
                
                fm:exp(-D*k[0]^2*(t[0]-t[1]+t[3]-t[2])-Gamma*(t[1]+t[2]))
                   *(DeltaS(xi)*exp(-D*xi^2*(t[1]+t[2]))
                       +Seq(xi)*exp(-D*xi^2*(t[2]-t[1])))
                     *k[0]*xi*((xi^2-k[0]^2-k[1]^2)*phi(k[1]))^2/k[0];
                
                DeltaS(xi):=0;
                Seq(xi):=1;
                
                fm:ev(fm, t[1]=T+tau/2, t[2]=T-tau/2);
                
                factorsum(integrate(fm, T, -tau/2, t[3]+tau/2));
                
                
                a[0]:integrate(%, tau, -t[3], 0);
                a[0]:ev(a[0], t[0]=t[3]+tau);
                a[0]:laplace(a[0], tau, z);
                a[0]:laplace(a[0], t[3], Z);
                b[0]:integrate(a[0], xi, abs(k[0]-k[1]), k[0]+k[1]);
                
                
Everything works as I'd expect except for the last line.   The result
ends up with k[i] sometimes being replaced by k(i) for i=0,1.   If this
is reproducible it's a bug (there is no k(i) in my code).

I'm running tonight's git/master:

-------------------------------------------------------------
Maxima version: "branch_5_27_base_83_g2ee8710"
Maxima build date: "2012-05-29 21:56:18"
Host type: "i686-pc-linux-gnu"
Lisp implementation type: "CLISP"
Lisp implementation version: "2.49 (2010-07-07) (built 3488645701)
(memory 3547331788)"


I can substitute k[i] for k(i), but I'm not sure that the result is
otherwise correct.




More information about the Maxima mailing list