Re: Bug in lower limit of integration ?



Clearly, I should've used "assume"


(%i18) assume(rad > 0);
(%o18)                            [redundant]
(%i19) integrate(r,z,-sqrt(rad),sqrt(rad));
                                              2
(%o19)                         2 r sqrt(20 - r )
(%i20)



On 5/22/06, Henry Lenzi <henry.lenzi at gmail.com> wrote:
> Hi All --
>
> Is there a bug in the integration routine that involve square roots?
>
> 1) Why does Maxima not accept -sqrt(something) and proceeds to do
> sqrt(-something)?
>
> (%i8) integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
>      2
> Is  r  - 20  positive, negative, or zero?
>
> positive;
> Defint: Lower limit of integration must be real.
>  -- an error.  Quitting.  To debug this try debugmode(true);
> (%i9)
> Maxima encountered a Lisp error:
>
>
> Ctrl-C: User break
>
> Automatically continuing.
> To reenable the Lisp debugger set *debugger-hook* to nil.
> (%i9)  integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
> Defint: Lower limit of integration must be real.
>  -- an error.  Quitting.  To debug this try debugmode(true);
> (%i10)
> Maxima encountered a Lisp error:
> (%i10)
>
> ...restarting...
>
> 2) This time, I'll answer that what's inside the sqrt is negative:
>
> Maxima 5.9.3 http://maxima.sourceforge.net
> Using Lisp CLISP 2.38 (2006-01-24)
> Distributed under the GNU Public License. See the file COPYING.
> Dedicated to the memory of William Schelter.
> This is a development version of Maxima. The function bug_report()
> provides bug reporting information.
> (%i1)  integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
>      2
> Is  r  - 20  positive, negative, or zero?
>
> negative;
>
> When I answer negative, it works
>
> (%o1)                          2 r sqrt(20 - r^2 )
> (%i2)
>
>
> Any comments.
>
> Henry
>