微分方程式を数値的に解く、とはどういうことか?

はじめに

この記事では、微分方程式を数値的に解く、とはどういうことか解説します。例えば、質点の運動を記述するニュートンの運動方程式や、流体の運動を記述するナヴィエ・ストークス方程式などの微分方程式をコンピュータでどのように扱うか解説します。これらの微分方程式をそのままパソコンに打ち込んでも解は得られません。そのために、「離散化」と呼ばれる特殊な操作をする必要があります。現代文明は、微分方程式を数値的に解くことによって成り立っている、と言っても過言ではありません。是非、その仕組みを勉強しましょう!

微分方程式とは

まず、微分方程式とは、微分を含む方程式のことです。例としては、先ほど述べたニュートンの運動方程式や、ナヴィエ・ストークス方程式があります。ニュートンの運動方程式は、時間に関する微分しか含まれていないので「常微分方程式」と呼ばれています。一方、ナヴィエ・ストークス方程式は、時間と空間(一般的には3次元)の両方に関する微分が含まれており、「偏微分方程式」と呼ばれています。微分が1種類のときは常微分方程式、2種類以上のときは偏微分方程式です。

なぜ微分方程式を解きたいのか?

なぜ微分方程式なんて難しいものを考えるのでしょうか?実は、我々の住む世界は微分方程式を使うと上手く記述できるということがわかっています。例えば、投げ上げたボールの動きを考える際にはニュートンの運動方程式を、ジェット機の周りの気流を考える際にはナヴィエ・ストークス方程式を解きます。そんなわけで我々が世界について考える際には、微分方程式は避けて通ることができないものなのです。

なぜ数値的に(コンピュータを使って)解くのか?

一般的に、微分方程式は数値的に(コンピュータを使って)解かれています。なぜかというと、これらの微分方程式はほとんどの場合解析的に解けない(手で解けない)からです。もちろん、手で解ける場合もあります(ニュートンの運動方程式における万有引力ポテンシャルや、ナヴィエ・ストークス方程式におけるハーゲン・ポワズイユ流れなど)。しかし、現実的に興味がある問題は手で解けません。そこで、コンピュータを使って数値的に微分方程式を解くのです。

離散化という営み

実は、これらの微分方程式をそのままパソコンに打ち込んでも解は得られません。そのために、「離散化」と呼ばれる特殊な操作をする必要があります。コンピュータが扱うことのできる量は離散量(0と1)で、かつ四則演算(足す、引く、掛ける、割る)しかできません。一方、微分方程式は連続な量です。そこで、連続な量である微分方程式を離散的に変換する必要があります。これが「離散化」という操作です。離散化にはたくさんの手法があります。例えば、差分法、有限体積法、有限要素法、スペクトル法、境界要素法、粒子法、格子ボルツマン法などなど。

そして連立一次方程式へ

微分方程式を離散化するとどうなるのか?実は、連立一次方程式になります!こうなれば、四則演算しかできないコンピュータでも解くことができるようになります。連立一次方程式になるとは意外だったでしょうか?最終的に連立一次方程式を解かなければならないので、微分方程式を数値的に解く際は線形代数の知識が必要になります。大学に入ってすぐ教養の授業で線形代数をやらされた人も多いのではないでしょうか。あの時は、目標もなく行列式やランクなどの概念、よくわからない基底を使った証明などやらされましたが、実はこんなところで使われているのです。授業では、もっとモチベーションを説明してほしかったですね。

おわりに

この記事では、微分方程式を数値的に解く、とはどういうことか解説しました。数式は使いませんでしたが、流れはご理解頂けたでしょうか?もっと詳しい記事も書いていきますのでご期待ください。最後に、どんな理工系の科目を勉強するのにも必要なのは、微分積分と線形代数であることを強調して終わりたいと思います。

この記事が気に入ったらサポートをしてみませんか?