WorkingPrecision

WorkingPrecision

さまざまな数値的演算に与えるオプションで,内部計算で維持する精度の桁数を指定する.

詳細

  • WorkingPrecisionは,NIntegrateFindRootのような関数に与えるオプションである.
  • WorkingPrecision->n と設定することで,内部計算が最大 n 桁の精度で行われるようになる.
  • WorkingPrecision->MachinePrecisionと設定することで,すべての内部計算が機械数で行われるようになる.
  • 内部計算が n 桁の精度で行われる場合でも,最終的な結果の精度はこれより劣ることがある.

例題

すべて開くすべて閉じる

  (2)

60桁精度演算で根を求める:

24桁精度演算で微分方程式を解く:

スコープ  (4)

24桁精度演算で関数を評価する:

精度を高くしないと大部分が数値丸め誤差になる:

24桁精度演算で積分を近似する:

作業精度より10小さくなるようにPrecisionGoalが自動的に高められる:

50桁まで精度を適応的に増加して関数の最小値を求める:

PrecisionGoalAccuracyGoalは最終精度の半分になるように自動的に設定される:

32桁精度演算で微分方程式を解く:

PrecisionGoalAccuracyGoalは作業精度の半分になるように設定される:

InterpolationOrder->Allを使うとステップ間の誤差が減少する:

アプリケーション  (1)

一連の解の精度を使ってDuffingの方程式の解の質をチェックする:

一連の解の作業精度が徐々に高くなるようにする:

次のプロットは,終りに近付くに従って解の中に許容範囲を逸脱するものがあるのを示している:

x[100]を作業精度の関数としてプロットする:

最高精度での解への収束はおよそ6桁が信頼できることを示している:

考えられる問題  (2)

関数の低精度のパラメータは高精度の演算の使用を無効にすることがある:

結果はの粗悪な近似になる:

厳密なパラメータを使うと異なる精度での比較が可能になる:

求解にかかる時間が作業精度の関数として指数的に増大することが予想される:

作業精度の関数としての計算時間の対数プロット:

Wolfram Research (1988), WorkingPrecision, Wolfram言語関数, https://reference.wolfram.com/language/ref/WorkingPrecision.html (2003年に更新).

テキスト

Wolfram Research (1988), WorkingPrecision, Wolfram言語関数, https://reference.wolfram.com/language/ref/WorkingPrecision.html (2003年に更新).

CMS

Wolfram Language. 1988. "WorkingPrecision." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/WorkingPrecision.html.

APA

Wolfram Language. (1988). WorkingPrecision. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/WorkingPrecision.html

BibTeX

@misc{reference.wolfram_2024_workingprecision, author="Wolfram Research", title="{WorkingPrecision}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/WorkingPrecision.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_workingprecision, organization={Wolfram Research}, title={WorkingPrecision}, year={2003}, url={https://reference.wolfram.com/language/ref/WorkingPrecision.html}, note=[Accessed: 22-November-2024 ]}