(塾の教材用に作成.)
Ubuntu16.04.
プログラムはC++で作成.
Boost, Eigenを適宜使用した.
Boost C++ライブラリ : http://www.boost.org
Eigen 線形代数ライブラリ : http://eigen.tuxfamily.org
Sample001はいろいろおかしいので,Sample002から見たほうが良い. オイラー法で簡単な1階常微分方程式の数値計算のサンプルプログラム.
古典的4段4次のルンゲ・クッタ法の数値計算のサンプルプログラム.
2階の常微分方程式をオイラー法で解くサンプルプログラム.
2階の常微分方程式を古典的ルンゲ・クッタ法(以下RK4と略記)で解くサンプルプログラム.
線形代数ライブラリEigenを使用したRK4による単振り子のサンプルプログラム.
RK4における二重振り子のサンプルプログラム.
gnuplotによる可視化のサンプルプログラムもあり.
時間刻み幅制御することに精度良く高速に計算することを目標にしたサンプルプログラム.
1970年台からよく使われる埋込み型ルンゲ・クッタ方の一種のルンゲ・クッタ・フェールブルク法(以下RKF4)のサンプルプログラム.
5次公式で次の値を決定することも可能.試してみること.
Boostライブラリによる多倍長浮動小数点数演算でRKF4法のサンプルプログラム.
線形代数ライブラリEigenを使用してしたサンプルプログラム.
RKF4で二体問題の数値計算プログラム例.
上にほぼ同じ.
数値計算的に難しい離心率での計算例.
アレンストーフ軌道の計算.高次のルンゲ・クッタ法のプログラム例.
高次埋込み型ルンゲ・クッタ法による多体問題の数値解法.
多体問題シミュレーション例. 可視化.
ピタゴラス3体問題. Burrau's problem of three bodies.
EigenのVectorを使ったほうがスマートに書けたと思う.