アルゴリズムのモニターと選択
Mathematica の関数は内部がどのような仕組みになっているのかを知る必要がないように注意深く設定されている.しかし,特に反復アルゴリズムを使用する数値計算の場合には,アルゴリズムの内部過程がモニターできると便利なことがある.
数値関数の過程のモニター
これはステップが取られる度に

の値を出力する.
| Out[1]= |  |
ではなく
を使うのが重要であることに注意されたい.expr が規則が与えられたときだけではなく,使われる度に評価されるためには遅延型の規則
が必要である.
| Out[2]= |  |
| Out[3]= |  |
解へ向けて着実にステップを重ねるために,反復的な数値アルゴリズムが与えられた関数を数回評価しなければならないことがある.これは例えば各ステップが関数の値の差分によって導関数を推定しなければならないからだったり,ステップが成功するためにはいくつかの試みが必要だったりするからである.
| Out[4]= |  |
| Out[5]= |  |
Mathematica のアルゴリズムによる評価パターンは非常に複雑なことがある.
| Out[6]= |  |
Methodオプション
特定のタイプの数値計算のため複数の異なるメソッドが知られていることがある.そのような場合に Mathematica は普通文献で説明されているもの,説明されていないものの中で一般に最も成功率が高いものをサポートする.特定の問題に対し,最良のメソッドを自動的に選択するのには多大な努力が必要である.しかし,問題をよく知っていれば,あるいは数値メソッドについて研究しているのであれば,使うべきメソッドを Mathematica に明示的に与えてみてもよいだろう.関数レファレンスページには Mathematica に組込まれているメソッドのいくつかが載っている.その他のメソッドについては「数値および関連関数」あるいは拡張ドキュメントで説明してある.
これはメソッド

使って微分方程式を解き,必要なステップと評価を返す.
自動選択されたメソッドの場合,これは必要なステップと評価の数になる.
| Out[8]= |  |
これは他のいくつかのメソッドではどうなるかを示している.自動的に選択されたアダムス(Adams)法が最も速い.
| Out[9]= |  |
これは差分次数のパラメータが変更された場合に陽的ルンゲ・クッタ(Runge-Kutta)法を使ったらどうなるかを示している.
| Out[10]= |  |