An integration bug



On 11/19/07, Milan Lukic <milan at eskimo.com> wrote:

> I am calculating the arc length of a piece of parabola. Here is the
> integral,
>
> 'integrate(sqrt(9*x^2+37),x,0,2);
>
> I would like Maxima to do the problem using the following
> substitution:
>
> changevar(%,3*x=sqrt(37)*sinh(t),t,x);
>
> Maxima returns,
>
> 37*('integrate(cosh(t)*sqrt(sinh(t)^2+1),t,0,asinh(6/sqrt(37))))/3
> %,nouns;

Milan, it looks like Maxima is behaving as intended here.
asinh(6/sqrt(37)), nouns; => floating point number
which then causes integrate to forget about trying to use
exact constants. All trigonometric and hyperbolic functions have
that behavior, that foo(x), nouns; => float when x is a number.

To tell Maxima to verbify only integrate,
37*('integrate(cosh(t)*sqrt(sinh(t)^2+1),t,0,asinh(6/sqrt(37))))/3, integrate;
  => 37*%e^-(2*asinh(6/sqrt(37)))
  *(%e^(4*asinh(6/sqrt(37)))+4*asinh(6/sqrt(37))
                              *%e^(2*asinh(6/sqrt(37)))-1) /24
%, numer;
 => 13.91960941686494

I think that verbify => numerical evaluation has come up before.
It certainly is subtle. But we haven't changed anything about it;
maybe it is time to revisit that topic.

Robert Dodier