振り子の運動を用いた常微分方程式解法のベンチマーク#

振り子の角度 \(\theta\) に関する運動方程式

\[ \ddot{\theta} = -\sin{\theta} \]

に対して常微分方程式のソルバーを適用し,計算時間と誤差を測定した.

ステップ幅の自動調整付きのソルバーに対するベンチマーク結果#

ステップ幅の自動調整機能 [23] 付きで実装したソルバーについてベンチマークを行った.

時刻 \(t=0\) における初期値をもとに時刻 \(t=10\) における解を求める時間と精度を測定した.

ステップ幅固定のソルバーに対するベンチマーク結果#

固定のステップ幅による数値解法を実装したソルバーについてベンチマークを行った.

時刻 \(t=0\) における初期値をもとに時刻 \(t=100\) における解を求める時間と精度を測定した.

環境#

  • CPU: Intel(R) Core(TM) Ultra 5 125H

  • コンパイラ:Clang 21.1.8

ソースコード#

numerical-collection-cpp リポジトリ [1] のコミット 1ab776c2c47780ad0e2433dc4d70fe4d336abee1 時点のものを使用した.