時間差分方式の性質を考える標準的方法のひとつは、 振動数がわかった単振動を与えて、ふるまいを調べることである。 ひとつの振動数に限定すれば、 微分は現われず、代数の問題になってしまう。ただし、複素数の代数である。 ここでは、気象モデルの基礎として使われている議論を、 新田ほか (1972) の p. 13 -- 17 (この部分の執筆者: 遠藤、大林、岩嶋)に 沿って説明する。
単振動の微分方程式は、複素数を使うと、
d Z ----- = i ω Z (1) d tのように書くことができる。真の解は
Z = Z0 exp(iωt) (2)である。 1ステップ Δtでの変化を
Z(t+Δt) = Atrue Z(t) (3)のように書けば、 Atrue = exp(iωΔt)となる。 ここで、Ω = ωΔtという記号を導入する。 これは無次元の量であり、差分の時間ステップと、 振動の周期の2π分の1との比になっている (2πで割るのは以下の式の形を簡単にするためである)。 したがって、Atrue = exp(iΩ)である。
差分計算によるΔtでの変化を
Z(t+Δt) = A Z(t) (4)のように書けば、Aは1ステップでZがなん倍になるかを 表わしているが、複素数である。 Aの絶対値 |A| が振動の振幅の増幅率、 Aの偏角 arg(A) = arctan( Im(A) / Re(A) ) が振動の位相の変化を表わす。 単振動の場合、|Atrue| = 1 で、 これは振動の振幅が一定であることに対応している。 差分近似したとき、 |A|が1より大きければ、振動は計算上増幅し、 1より小さければ、減衰することになる。 実際に差分方式を使う場合、 現実に存在しないか、小さな振幅であるような振動の振幅が、 どんどん増幅することにより、計算結果が大きくあばれることが、 計算の誤差を大きくすることが多い。 したがって、|A|が1より大きい差分方式は、「不安定」であるといい、 好まれない。 |A|が1より小さい方式は「安定」であるという。 |A|が1に等しい方式は、「中立」であるというが、安定に含めることもある。 位相については、arg(A)が arg(Atrue) = Ωよりも 大きい場合は振動の位相が進み、 Ωよりも小さい場合は遅れることになる。 もちろん、Ωとの差が小さいことが望ましいが、 安定性に比べれば優先順位が低い性質である。
いくつかの差分方式について、具体的に見てみよう。 (1)式を、2つの時間ステップを使った差分方式で近似したものは、
Z(t+Δt) - Z(t) = i Ω (α Z(t) + β Z(t+Δt) ) (5)のように書くことができる。 ただし、
(5)を Z(t+Δt)について解き、(4)のようにAを定義すれば、
1 + iΩα A = ----------- (6) 1 - iΩβとなる。
次に、予測修正法について見てみる。
前方予測・後方修正法(気象モデル関係者は松野スキームという)は、
Z仮(t+Δt) - Z(t) = iΩZ(t) Z(t+Δt) - Z(t) = iΩZ仮(t+Δt)のように書けるが、仮の値を消去して整理すると、
A = 1 + iΩ - Ω2したがって
|A| = (1 - Ω2 + Ω4)1/2となり、Ωが1以下なら安定、1より大きければ不安定である。
前方予測・台形修正法は、同様に調べると、常に不安定だが、 前方差分よりは、Ωが約1以下のところでは、 不安定のどあいが小さい(増幅率が1に近い)。
中央差分は、
Z(t+Δt) - Z(t-Δt) = 2iΩZ(t)のように、3つのステップが関係する。これを次のように連立方程式の 形に書いてみる。
Z(t+Δt) 2iΩ 1 Z(t) ( ) = ( ) ( ) Z(t) 1 0 Z(t-Δt)ここでは、1ステップ間の変化は、1つの複素数Aがかかる代わりに、 上の式の右辺に出てくる行列がかかることで表現される。 この行列には固有値が2つあるが、その絶対値がいずれも1以下ならば この差分方式は安定であり、どちらかの絶対値が1より大きければ 不安定である。 実際に固有値を計算してみると、
λ1 = iΩ + (1 - Ω2)1/2 λ2 = iΩ - (1 - Ω2)1/2のようになるが、Δt → 0 (ωは変えない)の極限で、 λ1 → 1, λ2 → -1となるから、 λ1は微分方程式の解と対応するが、 λ2は対応しない、全く差分計算方式上の固有モードである。 (この計算上のモードの絶対値を大きくしないためには、 初期値の与えかたが重要である。) また、固有値の絶対値を調べると、