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