有限差分法とは
有限差分法(Finite Difference Method, FDM)は、
微分方程式を数値的に解くための手法です。この方法は、微分を差分近似(差分商)で置き換えることで、連続的な問題を離散的な問題に変換します。オイラーによって18世紀に考案されたとされるこの手法は、現代では特に
偏微分方程式の数値解法として広く利用されています。
有限差分法の基礎
離散化
有限差分法を用いるにあたり、まず問題の領域を離散化する必要があります。これは通常、領域を一様な格子に分割することで行われます。この処理により、微分に対する離散的な数値近似の集合が得られます。特に時間発展を伴う問題では、時間刻みという概念が重要になります。
誤差
数値解法では、真の解(解析解)と近似解との間には誤差が生じます。有限差分法における誤差の主な原因は、丸め誤差と打ち切り誤差(または離散化誤差)です。打ち切り誤差は、近似によって切り捨てられた高次の項によって生じます。
局所打ち切り誤差
局所打ち切り誤差は、各点における近似の誤差を指します。これは、真の値 f'(xi) と近似値 f'i との差として定義されます。この誤差を評価するためには、
テイラー展開の剰余項が利用されます。例えば、関数 f(x) を
テイラー展開すると、次のようになります。
math
f(x_{0}+ih)=f(x_{0})+f'(x_{0})ih+{\frac {f''(\xi )}{2!}}(ih)^{2}
この式から、有限差分法による近似の誤差を評価できます。例えば、一階差分近似の場合、局所打ち切り誤差は刻み幅hの2乗に比例します。
有限差分法の応用例
最も簡単な例として、次の1階
常微分方程式を考えてみましょう。
math
u'(x)=3u(x)+2
この
方程式を解くために、差分商を用いて微分を近似します。
math
{\frac {u(x+h)-u(x)}{h}}\approx u'(x)
これにより、次の差分
方程式が得られます。
math
u(x+h)=u(x)+h(3u(x)+2)
この方法はオイラー法と呼ばれ、
微分方程式を差分
方程式で近似する基本的な例です。
偏微分方程式の例として、1次元の熱伝導
方程式を考えてみましょう。
math
U_{t}=U_{xx}
ここで、U_t は時間に関する微分、U_xx は空間に関する2階微分を表します。この
方程式を数値的に解くために、時間と空間をそれぞれ離散化します。
空間の離散化: 空間領域をメッシュ x_0, x_1, ..., x_J で分割します。
時間の離散化: 時間領域をメッシュ t_0, t_1, ..., t_N で分割します。
このとき、空間間隔を h、時間間隔を k とします。また、U(x_j, t_n) の近似値を u_j^n とします。
陽解法
時刻 t_n で前進差分、空間 x_j で2次中央差分を用いて近似すると、次の漸化式が得られます。
math
{\frac {u_{j}^{n+1}-u_{j}^{n}}{k\Delta t}}={\frac {u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}}{h^{2}}}
この解法を陽解法と呼び、次の式で u_j^{n+1} を計算できます。
math
u_{j}^{n+1}=(1-2r)u_{j}^{n}+ru_{j-1}^{n}+ru_{j+1}^{n}
ただし、r = kΔt/h^2 は
拡散数です。
陽解法は計算が簡単ですが、数値的に安定な解を得るためには、r ≤ 1/2 という条件を満たす必要があります。
陰解法
時刻 t_{n+1} で後退差分、空間 x_j で2次中央差分を用いると、次の漸化式が得られます。
math
{\frac {u_{j}^{n+1}-u_{j}^{n}}{k\Delta t}}={\frac {u_{j+1}^{n+1}-2u_{j}^{n+1}+u_{j-1}^{n+1}}{h^{2}}}
この解法を陰解法と呼びます。陰解法は常に数値的に安定ですが、各時間ステップで線形
方程式系を解く必要があります。
クランク・ニコルソン法
時刻 t_{n+1/2} で中央差分、空間 x_j で2次中央差分を用いると、次の漸化式が得られます。
math
2\left({\frac {u_{j}^{n+1}-u_{j}^{n}}{k\Delta t}}\right)={\frac {u_{j+1}^{n+1}-2u_{j}^{n+1}+u_{j-1}^{n+1}}{h^{2}}}+{\frac {u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}}{h^{2}}}
この解法をクランク・ニコルソン法と呼び、数値的に安定であり、精度も高いことが特徴です。
まとめ
有限差分法は、
微分方程式を数値的に解くための強力なツールです。陽解法、陰解法、クランク・ニコルソン法など、様々な解法が存在し、それぞれ特徴が異なります。問題に応じて適切な解法を選択することが重要です。
有限差分法の精度と計算量は、離散化の方法や刻み幅の取り方に依存します。実用上は、必要な精度と計算時間を考慮して、最適な条件で近似を行う必要があります。
参考文献
有限差分法 - Wikipedia
Finite difference method (
英語) -
スカラーペディア百科事典
関連項目
有限体積法
有限要素法
外部リンク
* Finite difference method (
英語) -
スカラーペディア百科事典「差分法」の項目。