数学において、パーカー・ソチャッキ法は、ジェームズ・マディソン大学数学部のG・エドガー・パーカーとジェームズ・ソチャッキによって開発された、常微分方程式(ODE)を解くアルゴリズムである。この方法は、係数が代数形式または数値形式で表された、微分方程式の マクローリン級数解を生成する。
パーカー・ソチャッキ法は、2つの単純な観察に基づいています。
べき級数のいくつかの係数が順番に計算され、時間ステップが選択され、その時点で級数が評価され、このプロセスが繰り返されます。
最終的な結果は、元の常微分方程式問題に対する高次の区分解です。求める解の位数は、プログラム内で調整可能な変数であり、ステップごとに変更できます。解の位数は、プログラムを実行しているマシンの浮動小数点表現によってのみ制限されます。また、場合によっては、任意精度浮動小数点数を使用することで拡張したり、特殊なケースでは整数または有理数係数のみで解を求めたりすることもできます。
この手法は加算、減算、乗算のみを必要とするため、高速計算に非常に便利です。(除算は小さな整数の逆数のみで、事前に計算しておくことができます。)高次数の使用(べき級数の係数を多数計算する)も便利です。(通常、高次数では精度を損なうことなく時間ステップを長くできるため、効率が向上します。)次数とステップサイズは、ステップごとに簡単に変更できます。解の保証された誤差境界を計算することも可能で、任意精度の浮動小数点ライブラリを使用することで、この手法で任意の精度の解を計算できます。
パーカー・ソチャッキ法では、積分ステップ間の情報は高次の次元で展開されます。パーカー・ソチャッキ法では、積分を行う際に、各時点間の滑らかな解を与えるべき級数の係数を保存するようにプログラムを設計できます。これらの係数を保存して使用することで、多項式評価によってステップ間の高次の解が得られます。他の多くの古典的な積分法では、積分ステップ間の情報を得るために補間に頼らざるを得ず、誤差が増加します。
パーカー・ソチャッキ法では、1ステップあたりの誤差は事前に定められている。 [ 1 ]これにより、パーカー・ソチャッキプログラムは、誤差が任意の非ゼロ許容値以下になることを保証するステップサイズを計算することができる。この計算されたステップサイズを、マシンイプシロンの半分未満の誤差許容値で用いると、シンプレクティック積分が得られる。
常微分方程式を数値的に解くほとんどの手法は、変数の選択された値に対する導関数の評価のみを必要とするため、MATLABのようなシステムには、同じ呼び出しシーケンスを共有する複数の手法の実装が含まれています。ユーザーは、呼び出す関数の名前を変更するだけで、異なる手法を試すことができます。パーカー・ソチャッキ法は、方程式を適切な形にするためにより多くの作業を必要とし、同じ呼び出しシーケンスを使用することができません。