simplification of atan2(0,x)



Nijso Beishuizen <nijso at hotmail.com> writes:
> I sometimes get as an intermediate solution of a calculation
> atan2(0,x).
>
> When x:5, then trigreduce knows that atan2(0,5) = 0, but when x is
> defined as a constant or nothing is assumed on x, then atan2 stays.
>
> I don't speak lisp, but I think the simplification atan2(0,x)=0 can be
> done by adding something in comm2.lisp?

Well,

    (%i1) atan2(0,-1);
    (%o1)                                 %pi
    (%i2) atan2(0,1);
    (%o2)                                  0
    (%i3) atan2(0,0);

    atan2: atan2(0,0) is undefined.
     -- an error. To debug this try: debugmode(true);

Moreover Maxima is pretty clever here, it seems:

    (%i4) assume(x > 0)$

    (%i5) atan2(0,x);
    (%o5)                                  0
    (%i6) forget(x > 0)$ assume (x < 0)$

    (%i8) atan2(0,x);
    (%o8)                                 %pi


Rupert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20130203/ef284f77/attachment.pgp>;