Test suite failures with cvs version?



Dieter Kaiser wrote:
> Hello Ray,
> 
> Thank you very much for your work on the Exponential Integrals. 

Thank you for doing the hard work of actually implementing these.

> You have posted:
> 
>> This is probably why maxima compute log(-z) incorrectly.  It does take the
>> phase term of -z modulo 2*%pi.

I see I made a mistake.  It should say "doesn't take the phase term".

> 
> I think the problem is more easy. With the default value for logexpand Maxima
> simplifies log(1/z) to -log(z) and we get 1/2*(log(z)-(log(1/z)) = 0 for all
> values. But we know that this is wrong for a negative real value. 

I think maxima is doing what it's supposed to do, but the documentation
isn't clear if log(1/z) is supposed to be -log(z) if logexand is true.
Declaring z to be complex doesn't inhibit this transformation.  Not sure
if it should or not.

But with logexpand:false, and z declared complex, we get

expand(rectform(1/2*(log(z)-log(1/z))-log(-z)));
-log(cabs(z))/2-log(1/cabs(z))/2-%i*%pi

Which isn't quite right.  I think it's caused by

rectform(log(-z)) -> log(cabs(z)) + %i*(carg(z)+%pi).

This isn't the principal log.

Ray