さて、まず、なぜ振動が起きるかということだが、これは原理的には差分化さ れた方程式の固有値を求めればわかる。
つまり、
 を時刻 
 での数値解をベク
トルとして書いたものだとすると、差分近似は、
次元正方行列で、その各要素は差分近似の形から決
まる。この場合には、対角要素とその両側一列以外の全ての要素が 0 である3
重対角行列といわれる形をしている。要素の値は
![]()  | 
(9) | ||
![]()  | 
![]()  | 
(10) | 
 である。
この行列は実対称行列なので固有値分解ができて、適当なユニタリ行列
を持っ
てきて
| (11) | 
このように分解できるので、 
 とすれば最初の差分近似式は
![]()  | 
(12) | 
![]()  | 
(13) | 
 個の独立な方程式になって、解も自明に求まる。いうまでもな
いが、 
不安定性が起きないための条件は、全ての固有値 
 の絶対値が 
 を超えないということである。
さて、そういうわけで、固有値
がどうなっているか調べてみよう。
式 (14) をもともとの差分近似に入れてちょっと変形する
と、
![]()  | 
(15) | 
 である。さらに、
![]()  | 
(17) | 
断るまでもないと思うが、これは元の偏微分を変数分離して空間方向の関数に
ついての常微分方程式を導くのとほとんど同じ操作になっている。これを 
 についての差分方程式と見て解を求めることを考える。
線形差分方程式なので、解は 
 の形である。これを代入すると
![]()  | 
(18) | 
![]()  | 
(19) | 
真面目にやるには境界条件を満たす固有ベクトルをもとめないといけないが、
面倒なので無限遠境界の場合を考える。この時、 
 が実数のものはどち
らかで無限大に発散するのでよろしくないので、複素数の場合を考える。この
時は 
 になっているので無限遠でも発散しない。
なお、有限の固定境界の場合も結局境界条件を満たすような解を作るためには 
 が複素数でないといけないことがすぐにわかる。このため、 
 だけを考えればよい。
このとき、式(16)は
![]()  | 
(20) | 
 なので、
 なるある 
 であるためには、結局
![]()  | 
(21) | 
![]()  | 
(22) | 
![]()  | 
(23) | 
上でやったことは、結局空間方向をフーリエ級数展開して、各空間波長に対す る時間発展が安定である(減衰していく)ことを要求しているのと同じである。 このようなやり方を von Neumann の方法による安定性解析という。
上の議論からわかるように、不安定条件に関係する 
 の値は実際には
 だけで、それ以外の 
 からはもっと緩い条件しかでな
い。 
 は 
 に対応するので、これは結局 
 と 
 で値が逆転するようなパターンである。そのようなパターン(モー
ド)が 1 
ステップ計算するとどうなるかをもう一度もとの差分式に戻って書き直してみ
ると、結局
![]()  | 
(24) | 
![]()  | 
(25) |