%  表題  Crank-Nicolson 法による拡散方程式の数値解法
%        はじめに
%
%  履歴  2000/01/18  小高正嗣
%
\section{はじめに}

本稿では Crank-Nicolson 法による拡散方程式の数値解法, および LAPCK を用いて
実際に計算した結果について解説する.

Crank-Nicolson 法は陰解法に分類されるスキームである. その大まかな位置
づけをおさえるために, 時間座標を $t$, 空間座標を $x$ としてある変数 
$A$ の時間発展方程式

\[
  \DP{A(x,t)}{t} = f(x,t),
\]

を差分化して解くこと考える. 時間刻みを $\Delta t$ として差分化すると, 

\[
  \frac{A_{i}^{j+1}-A_{i}^{j-1}}{\Delta t}  
  = f_{i}^{\theta },
\]

と表される. なお $A_{i}^{j}=A(i\Delta x, j\Delta t)$ である. ここで,

\[
  f_{i}^{\theta } = \theta f_{i}^{j+1} + ( 1 - \theta )f_{i}^{j}
\]

, $\theta = [0,1]$ である.

$\theta $ の取り方によって実際の差分形式は変化する.  $\theta = 0$ の場
合, 時刻 $(j+1)\Delta t$ における $A$ の値は時刻 $j\Delta t$ の $A,f$ 
によって決められる. このような方法は{\bf 陽解法}と呼ばれる. 一方 
$\theta \neq 0$の場合, 時刻 $(j+1)\Delta t$ における $A$ の値を求める
ためには時刻 $(j+1)\Delta t$ の $f$ (場合によっては $A$ 自身)が必要とな
る. このような方法は{\bf 陰解法}と呼ばれる.
Crank-Nicolson 法は $f(x,t)$ が拡散項であった場合に $\theta =
\frac{1}{2}$ として解く方法である. したがって陰解法の一種に分類される.

陰解法の特徴は計算安定性がよいことである. 陰解法を用いると連立一次方程
式を解くことになる. したがって係数行列の性質がよほど悪くない限り, 時間
刻みと空間刻みをどのように与えても計算を安定に進めることができる.  

陽解法の場合は一般に時間刻みと空間刻みに何らかの制約が加わる. 例えば無
次元化された 1 次元拡散方程式の場合, 無次元時間刻み $\tau $ と無次元空
間刻 $h$ は $0<\tau <\frac{h^{2}}{2}$ を満たすように与えなければならな
い. 空間解像度を 2 倍にすると全体の計算量は 8 倍になってしまう. 陰解法
を用いる場合はこのような計算量の増大を避けることができる. 
