それぞれが多くの積分と微分を含む連立反復方程式のシステムを解こうとしています。
まず、maxima (Sage に組み込まれている) を使用して解析的に解決しましたが、解は、未知の関数に対して行った最初の推測に依存しすぎていました。定数の最初の推測では、ほとんどすぐに答えが返されましたが、最初の推測として使用された記号関数は、計算に深く入り込むためのシステム。
しかし、私が Sage で試したのは、実際には元の方程式の単純化されたバージョンだったので、積分と導関数を数値的に扱う以外に選択肢がないのではないかと考えましたが、無視できない問題がいくつかありました。
積分には数値的な制限のみが許可され、変数は上限などとして許可されませんでした (変数やパラメーターを計算に残したとしても、数値法のアルゴリズムは分析的なアルゴリズムよりも高速であると思いましたが、そうではありませんでした。そのように動作します)。
被積分関数は、統合されていない余分な変数とパラメーターを受け入れることもできませんでした。
偏導関数を計算したり、積分の被積分関数で導関数を使用したりすることができなかったため、微分関数自体が大きな障害でした。
数値導関数のすべての問題を取り除くために、シンボリック diff() 関数で置き換えました。速度の向上はまだ期待できましたが、数値積分の問題は解決しません。
ここで、3 つの質問があります。
a- 方程式を離散化し、混合式ではなく完全な数値処理を行う以外に方法がないと結論付けるのは正しいですか?
b- もしそうなら、これを自動的に行う方法はありますか? 私の方程式は、ODEint などを使用する DE のものではなく、反復方程式です。各ステップで未知数を新しい値に更新するためだけに積分と微分があります。
c- 私の計算のサイズが非常に大きい場合、python から fortran などに切り替えることについて何か提案はありますか?
よろしくお願いします