ドキュメントによると、Python の decimal モジュールの.exp() 操作は
「... を使用して正しく丸められます」。
テーブル作成者のジレンマのため、それが保証されないことを願っています。なぜなら、適度に低い精度の通常の見た目の入力に対する計算が、たとえば 1 年もかからないという保証を好むから
です
。
Python はこれにどのように対処しますか?
(バージョンによって違う?)
ドキュメントによると、Python の decimal モジュールの.exp() 操作は
「... を使用して正しく丸められます」。
テーブル作成者のジレンマのため、それが保証されないことを願っています。なぜなら、適度に低い精度の通常の見た目の入力に対する計算が、たとえば 1 年もかからないという保証を好むから
です
。
Python はこれにどのように対処しますか?
(バージョンによって違う?)
exp()
とのpow()
機能は異なります。
あなたがリンクしている「テーブル作成者のジレンマ」の説明では、x yは既知のアルゴリズムでは限られた時間で正しく丸めることはできないと述べています。ただし、これは明らかに、そのドメインのすべてのサブセットに当てはまるわけではありません。ドメインを x=3 と y=2 に制限すると、正確に四捨五入された答えがわかります。
Google で簡単に検索すると、David Defour、Florent de Dinechin、Jean-Michel Muller 著の「Correctly -Rounded Exponential Function in Double-Precision Arithmetic」が見つかります ( CiteSeer、PDF )。この記事では、正しく丸められた を計算するためのアルゴリズムをexp()
提供し、実行時間の最悪の場合の境界を示します。
これは radix=10 の場合ではありませんが、表作成者のジレンマが関数に必ずしも当てはまらないことを示していexp()
ます。