この質問は、scipy.integrate モジュールの odeint 関数に関するものです。
私は次の原則に基づいて相互作用する銀河をシミュレートしています。2 つの原子核をケプラー軌道で動かし、銀河内のすべての星を質量なしにします。
私は 1 つの銀河の参照フレームで作業しているので、2 つの古典的なニュートン重力と 1 つの遠心力を使用しています。
これらはすべて odeint (scipy.integrate モジュール) と統合されており、うまく機能します。odeint が星を統合する速度に問題があります。すべての星は、約 100 時間ステップ (約 10 億年) で統合されるのに約 10 ~ 15 秒かかりますが、これは統合するのに数時間かかります。合計1000スター。私の教授によると、HIS プログラムは約 5 分間実行され、その数の星を実行します。方程式を変更することができず、odeint が実際に実行時間の 99% を占めているため、どうすればこの速度を改善できるか見当もつきません。
簡単に言えば、odeintの計算時間を改善するにはどうすればよいですか?
ありがとう