# [Maxima] rootscontract(%i/2) -> -%i/2

Richard Fateman fateman at cs.berkeley.edu
Wed Sep 2 19:45:35 CDT 2009

I think that the choice of branches of functions makes some of these
obvious transformations
non-identities. Talking about exponents, which is really what is going
on, I think,  consider...

log(x*y) is not log(x)+log(y), always.

0=log(1)=log((-1)*(-1)) = log(-1)+log(-1) = 2*%i*%pi.

Maybe what you are seeing is that putting stuff in the numerator can
also introduce a factor of %i*%pi.
Sometimes.

If a transformation is not ALWAYS true, it is not a great rule to apply,
even if someone explicitly sets
some flag or other.  That's how we get nuclear reactor meltdowns --
unforeseen consequences of
things that are "obviously true"  and yet sometimes false.

RJF

Barton Willis wrote:
> -----maxima-bounces at math.utexas.edu wrote: -----
>
>
>> If we cut out the special substitution %i -> -1*(-1)^(-1/2) the errors
>> will vanish. The testsuite and the share-testsuite have no problems. The
>> only change is, that we no longer get the simplification %i/sqrt(x) ->
>> -1/sqrt(-x).
>>
>> Furthermore, I think this simplification is in most cases not very
>> useful.
>>
>
>
>> What do you think? Should we cut out this special case, which causes in
>> most cases wrong results?
>>
>
> By itself, I don't think i/sqrt(x) -> -1/sqrt(-x) is useful. Maybe in
> combination with some other term, it might be, but I doubt it. Since
> the bug is not that difficult to trigger and it gives wrong results,
> I suggest that you comment out the offending code and make a source
> code comment about why the code was commented out.
>
> Barton
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.math.utexas.edu/pipermail/maxima/attachments/20090902/53ff81b9/attachment-0001.htm