1 連立方程式

1.1 表現方法

言うまでも無く連立1次方程式(Linear Equations)は、次のような形をしています。

\begin{equation*}\begin{aligned}a_{11}x_1+a_{12}x_2+a_{13}x_3+\cdots+a_{1N}x_N&=...
...a_{M1}x_1+a_{M2}x_2+a_{M3}x_3+\cdots+a_{MN}x_N&=b_M \end{aligned}\end{equation*}

ここでは、$ M=N$の場合を考えます。$ M \ne N$のようなものは、ここでの講義 のレベルを超えますので、興味がある人は自分で学習してください。このよう な連立1次方程式を計算することは、実際に工学の問題でしばしば現れます。例えば、 編微分方程式を離散化して解く場合などです。その場合、方程式の次元数がか なり大きく、100万次元くらいにはすぐになります。100万といっても、3次元 問題だと、 $ 100 \times 100 \times 100$程度です。           

式(1)は行列とベクトルで書くと、式がすっきりして 考えやすくなります。書き直すと、

$\displaystyle \boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}$ (2)

となります。それぞれの行列とベクトルは、

\begin{equation*}\begin{aligned}\boldsymbol{A}&= \begin{pmatrix}a_{11} & a_{12} ...
...rix}b_1 \\ b_2 \\ b_3 \\ \vdots\\ b_N \end{pmatrix} \end{aligned}\end{equation*}

を表します。行列は大文字の太文字(bold)スタイル、ベクトルは小文字 の太文字スタイル、それぞれの成分は標準スタイルで表すことが多いです。

ここで、解く問題は行列 $ \boldsymbol{M}$ $ N \times N$の正方行列で、その行列式が ゼロでないものとします。要するに、普通に解ける連立方程式です。ここで、 解くべき問題は、既知の $ \boldsymbol{M}$ $ \boldsymbol{b}$から、行列方程式([*])を満たす、 $ \boldsymbol{x}$を求めることです。この行列方 程式解く過程で、 $ \boldsymbol{M}$の逆行列や行列式の値を求めることができます。逆 行列や行列式は連立方程式と密接にかかわっています。

通常、連立1次方程式(1)は

\begin{equation*}\begin{aligned}\begin{pmatrix}a_{11} & a_{12} & a_{13} & \cdots...
...rix}b_1 \\ b_2 \\ b_3 \\ \vdots\\ b_N \end{pmatrix} \end{aligned}\end{equation*}

と書き表せます。このようにすると、見通しがかなり良くなります。皆さんも、 今後連立方程式を書くときは、行列とベクトルで書くようにしてください。 ちょっとばかり格好良いです。

行列やベクトルを使うと、格好良いばかりでなくコンピューターで扱いやすく なります。例えば、行列 $ \boldsymbol{A}$の要素$ a_{ij}$はプログラム中では2次元配 列a[i][j]として扱えます。同様にベクトル$ b_k$は1次元配列 b[k]として扱えます。

1.2 計算方法

連立1次方程式は、クラメールの公式により、解のベクトル $ \boldsymbol{x}$は四則演 算で計算できます。行列 $ \boldsymbol{A}$が正則 $ (\det A \neq 0)$ならば、解は

$\displaystyle x_j$ $\displaystyle =\frac{1}{\det A} \begin{vmatrix}a_{11} & a_{12} & a_{13} & \cdot...
... a_{N3} & \cdots & a_{1j-1} & b_{1j} & a_{1j+1} & \cdots & a_{NN} \end{vmatrix}$ (5)

より求められます。これは、2つの行列式を計算する必要があり、大変計算量 が多いです。したがって、$ N \geq 4$の場合は適しません。

次に考えられるのは、 $ \boldsymbol{A}$の逆行列 $ \boldsymbol{A}^{-1}$を用いて、 $ \boldsymbol{x}=\boldsymbol{A}^{-1}\boldsymbol{b}$から計算する方法です。この方法も、計算量と精 度の面で問題があります。

連立1次方程式の計算方法は大別して、2通りあります。1つは、ここで学習す る消去法です。もう1つは反復法です。どちらの方法が良いかは、係数行列 $ \boldsymbol{A}$の性質によります。一般に、 $ \boldsymbol{A}$が密なとき、即ちほとんどの要 素がゼロでないときは、消去法が有利といわれています。一方、殆どの要素が ゼロの $ \boldsymbol{A}$が疎のとき、反復法が有利といわれています。

ここでは消去法を学びますが、反復法について簡単に述べておきます。まず、 係数行列を $ \boldsymbol{A}=\boldsymbol{B}-\boldsymbol{C}$と変形します。すると、元の連立1次方程 式は、 $ \boldsymbol{B}\boldsymbol{x}=\boldsymbol{C}\boldsymbol{x}+\boldsymbol{b}$となります。これを解くために、 漸化式 $ \boldsymbol{B}\boldsymbol{x}^{(k+1)}=\boldsymbol{C}\boldsymbol{x}^{(k)}+\boldsymbol{b}$とします。もし、 初期値 $ \boldsymbol{x}^{(0)}$がよければ、 $ \boldsymbol{x}^{(\infty)}$は真の解 $ \boldsymbol{x}$に 収束します。もちろん、 $ \boldsymbol{B}$は容易に計算できる連立1次方程式になるよ うに選びます。この選び方により、ヤコビの反復法やガウス・ザイデル法、 SOR法などがあります。


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月21日


no counter