coping with messages from integrate



I'm not complaining, and I know Maxima needs user input
to proceed, even though the answer does not depend on
the user's input.

I guess the user of integrate should use these
questions from Maxima as an indication that the definite integral
below should be checked using other means?
---------------------------------------------------------------------
Maxima 5.25.1 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)


(%i1) integrate(acos(%i*x),x,-2,3);

Is  W35620  positive or negative?

pos;
Is  W37394  positive or negative?

pos;
(%o1) %i*(-3*log(sqrt(10)+3)-2*log(sqrt(5)-2)+sqrt(10)-sqrt(5))+5*%pi/2

(%i3) float(rectform(integrate(acos(%i*x),x,-2,3)));

Is  W40485  positive or negative?

pos;
Is  W42259  positive or negative?

neg;
(%o3) 7.853981633974483-1.641858744669991*%i
(%i4) float(rectform(integrate(acos(%i*x),x,-2,3)));

Is  W44437  positive or negative?

neg;
Is  W46056  positive or negative?

pos;
(%o4) 7.853981633974483-1.641858744669991*%i
(%i5) float(rectform(integrate(acos(%i*x),x,-2,3)));

Is  W49147  positive or negative?

neg;
Is  W50766  positive or negative?

neg;
(%o5) 7.853981633974483-1.641858744669991*%i
--------------------------------------------------------------
One way to check just the floating point answer is
  using quad_qag, for example, as in:
----------------------------------------------

(%i6) check(ex,var,v1,v2) :=
    (print("  integrate = ",
        float(rectform(integrate(ex,var,v1,v2)))),

     print("  quad real = ",
        part(quad_qag(realpart(ex),var,v1,v2,3),1)),

     print("  quad imag = ",
        part(quad_qag(imagpart(ex),var,v1,v2,3),1)))$

(%i7) check(acos(%i*x),x,-2,3)$

Is  W52944  positive or negative?

pos;
Is  W54718  positive or negative?

pos;
  integrate =  7.853981633974483-1.641858744669991*%i
  quad real =  7.853981633974482
  quad imag =  -1.64185874466999
-----------------------------------------


Ted Woollett