real and imag part of acosh(x) for real x



Maxima thinks the real part of acosh(x) is just acosh(x)
and that the imaginary part of acosh(x) is zero.

In the range 0.1 <= x <= 0.9 acosh(x) is imaginary,
although floating point errors shows a negligible
real part.

As a result quad_qag cannot cope with acosh(x)
in this range.
----------------------------------------------------------

(%i1) realpart(acosh(x));

(%o1) acosh(x)

(%i2) imagpart(acosh(x));

(%o2) 0

(%i3) for v:0.1 step 0.1 thru 0.9 do
       print (" ",v," ",float(acosh(v)))$

  0.1   1.470628905633337*%i
  0.2   1.369438406004566*%i
  0.3   1.266103672779499*%i
  0.4   1.159279480727409*%i
  0.5   1.047197551196598*%i-1.1102230246251565E-16
  0.6   0.92729521800161*%i
  0.7   0.79539883018414*%i+2.2204460492503128E-16
  0.8   0.64350110879328*%i
  0.9   0.45102681179626*%i-1.1102230246251565E-16

(%i4) quad_qag(acosh(x),x,0.2,0.5,3);

(%o4) quad_qag(acosh(x),x,0.2,0.5,3,epsrel = 1.0E-8,epsabs = 0.0,limit = 
200)

(%i5) quad_qag(imagpart(acosh(x)),x,0.2,0.5,3);

(%o5) [0.0,0.0,31,0]

(%i6) quad_qag(realpart(acosh(x)),x,0.2,0.5,3);

(%o6) quad_qag(acosh(x),x,0.2,0.5,3,epsrel = 1.0E-8,epsabs = 0.0,limit = 
200)

----------------
Ted Woollett
(v. 5.25.1, Windows)