[ 
https://issues.apache.org/jira/browse/MATH-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15986132#comment-15986132
 ] 

Wilhelm Burger commented on MATH-1397:
--------------------------------------

I am not sure what the status of this issue is (apparently has been unsolved 
for years), but this is an URGENT PROBLEM and should be fixed soon!

I told my students to use a "proven" libary instread of doing their own 
implementation of 'Complex' and the first thing they run across is this bug. 
What should I tell them now? Surprisingly, the (NaN, NaN) outcome is intended 
(even checked in a test case!), although I do not know of any other environment 
with a similar behaviour.

Why is the pow() based on the log() in the first place? Wouldn't it be simpler 
to perform exponentiation in polar form, without the 0-singularity?

--Wilhelm

> Complex.ZERO.pow(2.0) is NaN
> ----------------------------
>
>                 Key: MATH-1397
>                 URL: https://issues.apache.org/jira/browse/MATH-1397
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.6.1
>         Environment: Linux, Java1.7/Java1.8
>            Reporter: Mario Wenzel
>            Assignee: Eric Barnhill
>            Priority: Minor
>             Fix For: 4.0
>
>
> ```
> package complextest;
> import org.apache.commons.math3.complex.Complex;
> public class T {
>       public static void main(String[] args) {
>               System.out.println(Complex.ZERO.pow(2.0));
>       }
> }
> ```
> This is the code and the readout is `(NaN, NaN)`. This surely isn't right. 
> For one, it should actually be zero 
> (https://www.wolframalpha.com/input/?i=(0%2B0i)%5E2) and second of all, the 
> documentation doesn't state that anything could go wrong from a Complex 
> number that has no NaNs and Infs.
> The other definition states that it doesn't work when the base is Zero, but 
> it surely should. This strange corner case destroys any naive implementation 
> of stuff wrt the mandelbrot set.
> It would be nice to not have to implement this exception myself.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to