[math] Complex Tanh for "big" numbers
-------------------------------------

                 Key: MATH-722
                 URL: https://issues.apache.org/jira/browse/MATH-722
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 2.2
         Environment: I'm working with Eclipse 3.6.2 on Windows XP, but the bug 
is Enviroment independent
            Reporter: Juan Barandiaran
            Priority: Minor


Hi,

In Complex.java the tanh is computed with the following formula:

tanh(a + bi) = sinh(2a)/(cosh(2a)+cos(2b)) + [sin(2b)/(cosh(2a)+cos(2b))]i

The problem that I'm finding is that as soon as "a" is a "big" number,
both sinh(2a) and cosh(2a) are infinity and then the method tanh returns in
the real part NaN (infinity/infinity) when it should return 1.0.

Wouldn't it be appropiate to add something as in the FastMath library??:

if (real>20.0){
      return createComplex(1.0, 0.0);
}
if (real<-20.0){
      return createComplex(-1.0, 0.0);
}


Best regards,

JBB


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to