When computing atanh(3.1) in R2018.a and R2020.a the complex part has positive sign.
When computing in fortran (and Mathematica) the result is negative.

 采纳的回答

Hello Francisco,
The imaginary part is i*pi/2, so the two answers are a+i*pi/2 and a-i*pi/2, where a is real. Both answers are equally valid, so unless an answer is violating some prearranged standard set by the particular software invoked, there is not an error. Note that
tanh(a+i*b) = tanh(a+i*b+i*n*pi)
so there is an ambiguity modulo i*pi in the atahh function..

3 个评论

I am aware that atanh is a multivalued function, however I would expect that the principal value be the same in all the programming languages. Maybe I am wrong. By the way the ppv is 1/2*(log(1+xz)-log(1-xz)).
But there is no international standards commission that decides which is the principal branch to take on some multi-valued result. And while it seems pretty standard to take the POSITIVE branch for a sqrt, so it may have seemed just as logical to take the positive branch here.
The result is valid and non-unique. You cannot say more than that.
I agree with you. Still, is somehow awkward that sqrt(4) gives the principal value (regardless if this is positive or negative) while atanh(3.1) does not. I will accept the answer.
Thank you very much.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Fortran with MATLAB 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by