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.

 採用された回答

David Goodmanson
David Goodmanson 2021 年 2 月 13 日
編集済み: David Goodmanson 2021 年 2 月 13 日

1 投票

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 件のコメント

Francisco Peñuñuri
Francisco Peñuñuri 2021 年 2 月 13 日
編集済み: Francisco Peñuñuri 2021 年 2 月 13 日
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)).
John D'Errico
John D'Errico 2021 年 2 月 13 日
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.
Francisco Peñuñuri
Francisco Peñuñuri 2021 年 2 月 13 日
編集済み: Francisco Peñuñuri 2021 年 2 月 13 日
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