3

R base 関数を使用して Windows で双曲線タンジェントを推定すると、tanh大きな値 (実数、虚部が 0) の場合、関数は 'NaN' を返します。

tanh(356 + 0i)
> NaN + 0i

ただし、Mac では同じ値が 1 を返します (「実際の」数学値と一致すると、1 に近くなるはずです)。

tanh(356 + 0i)
> 1 + 0i

質問 1: なぜこのようなことが起こっているのか、手がかりを持っている人はいますか?

追加情報

tanhMacは任意の大きな値に対して 1 を返すように見えるため、これは浮動小数点の問題ではないようです。

tanh(999999677873648767519238192348124812341234182374817239847812738481234871823+0i)
> 1 + 0i

この問題は、虚数部に次のように関連しているようです。

tanh(356)
> 1

Windows と Mac の両方で。この問題は、システム (またはプロセッサ?) 固有のようです:

  • El Capitan v 10.11.6プロセッサを搭載した Mac: 2.7 GHz Intel Core i5
  • Sierra v 10.12.3プロセッサを搭載した Mac: 3.2 GHz Intel Core i5
  • Windows 10 Home v 1607プロセッサー: Intel Core m3-SY30 CPU@ 0.90 GHz 1.51 GHz
  • Windows 7 Home Premium Service Pack 1プロセッサ: Intel Core i5-2410M CPU @2.30 GHz 2.30 GHz。

これらの Windows マシンNaNは、Mac の1 + 0i. すべての場合において、「最新」(64 ビット) の R バージョン 3.3.3 を使用しています。

4

1 に答える 1