数値的に 2 つの空間次元で偏微分方程式を解くプログラムを C で作成しようとしています: W(x,p,t)。実際の等式にはあまりにも多くの記号が含まれており、ここでの書き方がわからないため、それを提供しないことをお許しください。
私が知っていることから、方程式を解くには、3 つのループが必要です。
For (t=0;t<t_max;t+=1)
For (x=0;x<x_max;x+=1)
For (p=0;p<p_max;p+=1)
( The numerical form of the equation, using a 2D array - W[x_max][p_max] )
これは、1 つの次元でうまく機能します。- しかし、問題は次のとおりです。上記の場合、プログラムは単純に 100 万年で実行されます。- 私は 120 歳までしか生きられないのではないかと真剣に考えているので、完成を見ることはできません!
3 つのネストされたループを使用せずに、このような方程式を解く方法は何ですか? 計算を高速化する他の手法はありますか (並列化など)? 偏微分方程式の解法についてさらに学ぶための良いリソースは何ですか?