線形代数学とは

ここでは厳密性に拘らずに線形代数学について概説する。

ベクトルと線形空間

空間ベクトル

日常語の『ベクトル』は、大きさと向きを持つ量を意味する。これを捉えるには、矢印のイメージが有効だ。矢印の長さがベクトルの大きさ、矢印の向きがベクトルの向きに対応する。これを後述する他種のベクトルと区別して、 空間ベクトル と呼ぶことがある。

手近な例は、位置ベクトルだ。どこでもよいので空間の1点を選ぼう。例えばあなたの重心。そこを宇宙の原点と定義する。世界の任意の位置 \(P\) は、原点を始点とし \(P\) を終点とするベクトルで表せる。これを 位置ベクトル と呼ぶ。

この種のベクトルは高校の数学で扱われるから、読者は基本的な扱い方を知っているだろう。ベクトルには加法 \(\vec{v}+\vec{w}\) と実数倍 \(c\vec{v}\) が定義されることを思い出してほしい。

数ベクトル

デカルトに始まる座標幾何学では、点の位置は \(x\) 座標、 \(y\) 座標、 \(z\) 座標からなる三つ組 \((x, y, z)\) によって表される。このような数の組を 数ベクトル という。

実数全体の集合は \(\mathbb{R}\) と書くが、 \(n\) 個の実数から成る数ベクトル全体の集合を \(\mathbb{R}^n\) と書き、 \(\mathbb{R}\) 上の \(n\) 次元数ベクトル空間 、または \(n\) 次元数空間 という。高次元の数空間は珍しいものではない。例えば、空間内の点の指定には実数を3つ使うから、 \(n\) 個の点からなる系の位置情報は \(3n\) 次元数空間の1点として捉えられる。

\(\mathbb{R}^n\) にも加法と実数倍が定義される。2つの数ベクトル \((x_1, \dots, x_n)\)\((y_1, \dots, y_n)\) に関して、

(1)\[(x_1, \dots, x_n) + (y_1, \dots, y_n) = (x_1+y_1, \dots, x_n+y_n)\]

と加法を定義し、 実数 \(c\) と数ベクトル \((x_1, \dots, x_n)\) に関して、

(2)\[c(x_1, \dots, x_n) = (cx_1, \dots, cx_n)\]

と実数倍を定義する。

高次元空間の数ベクトルを矢印として認識することはできないが、加法と実数倍が定義されるという性質は空間ベクトルと共通する。

線形空間とその例

「加法とスカラー倍が定義された集合」を 線形空間 という。ただし、 スカラー とは四則演算の定義された数のことで、実数の他には有理数や複素数が該当する。

線形空間の他の例には以下のものがある:

  1. 可微分多様体 \(M\) の点 \(p\) における接空間 \(T_pM\) は、 \(p\) を原点とする線形空間になる。これは接線や接平面を一般化した概念だ。
  2. \(\mathbb{C}\)\(\mathbb{R}\) をスカラーとする2次元の線形空間になる:任意の複素数 \(z\) は、2つの実数 \(x,y\) によって \(z=x+iy\) と書ける。
  3. \(\mathbb{R}^n\) から \(\mathbb{R}\) への関数全体の集合 \(C(\mathbb{R^n})\) は線形空間になる。連続関数や可微分関数だけを集めても線形空間になる。

線形写像と行列

線形写像の説明

線形空間の間の関係を調べるには線形写像を使う。線形空間の間の関数 \(f:V\rightarrow W\) は、次の性質を持つ時、 線形写像 という:

  1. 任意の \(v, w\in V\) に関して、 \(f(v+w) = f(v) + f(w)\)
  2. 任意のスカラー \(c\)\(v\in V\) に関して、 \(f(cv)=cf(v)\)

もし \(f\) が線形な逆関数を持てば、 \(V\)\(W\) は線形空間として同一の構造を持つ。

行列の説明

数を長方形状に並べたものを 行列 という:

(3)\[\begin{split}\begin{bmatrix} A_{11} & A_{12} & \dots & A_{1n}\\ A_{21} & A_{22} & \dots & A_{2n}\\ \dots&\dots&\dots&\dots\\ A_{m1} & A_{m2} & \dots & A_{mn} \end{bmatrix}\end{split}\]

上記で \(A_{ij}\) \(i\) 行第 \(j\) 列の要素 あるいは \((i, j)\) 成分 という。

行列の用途は主に二つある。一つ目は、複数の数をまとめて扱うことだ。数ベクトルもこの用途で使われる概念だが、数が長方形状に並んでいることが意味を持つ場合がある。例えば、縦 \(m\) ピクセル、横 \(n\) ピクセルのグレースケールの画像は \(m\)\(n\) 列の行列とみなせる。

線形写像としての行列

行列の二つ目の用途は、数ベクトルの関数として使うことだ。

例えば、 \(1\)\(n\) 列の行列 \(A\) は、長さ \(n\) の数ベクトル \(x\) を受け取ると、次のような計算で数を返す:

(4)\[\begin{split}\begin{bmatrix} A_{11} & A_{12}& \dots & A_{1n} \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_n \end{bmatrix} =A_{11}x_1 + A_{12}x_2 +\dots + A_{1n}x_n\end{split}\]

これは数ベクトルの内積と同じ手順だ。これを理解すれば一般の場合は分かりやすい。 \(A\)\(m\)\(n\) 列の場合は、次のような計算で数を \(n\) 個返す:

(5)\[\begin{split}\begin{bmatrix} A_{11} & A_{12} & \dots & A_{1n}\\ A_{21} & A_{22} & \dots & A_{2n}\\ \dots&\dots&\dots&\dots\\ A_{m1} & A_{m2} & \dots & A_{mn} \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_n \end{bmatrix} = \begin{bmatrix} A_{11}x_1 + A_{12}x_2 +\dots + A_{1n}x_n\\ A_{21}x_1 + A_{22}x_2 +\dots + A_{2n}x_n\\ \vdots\\ A_{m1}x_1 + A_{m2}x_2 +\dots + A_{mn}x_n \end{bmatrix}\end{split}\]

\(m\)\(n\) 列の行列は、長さ \(n\) の数ベクトルを受け取って長さ \(m\) の数ベクトルにして返す関数を定義する。

これは \(\mathbb{R}^n\) から \(\mathbb{R}^m\) への線形写像であり、また、\(\mathbb{R}^n\) から \(\mathbb{R}^m\) への線形写像はすべてこのように行列から得られることが証明できる。

線形代数学でやること

先述のように、 \(\mathbb{R}^n\) から \(\mathbb{R}^m\) への線形写像の全体は \(m\)\(n\) 列の行列の全体と完全に対応し、線形空間の理論と行列の理論は相互に関係する。この種の関係を使いながら両対象を理解していくのが線形代数学だ。

線形方程式系とガウスの消去法

線形方程式系の解法は線形代数学と関係が深い。これは高度な理論を使わずに理解できるため、行列の使い方の一例としてここに記す。

線形方程式系

次のような連立方程式を、 \(n\) 個の変数 \(x_1, \dots, x_n\) に関する 線形方程式系 という:

(6)\[\begin{split}\begin{cases} a_{11}x_1 + a_{12}x_2 + \dots + a_{1n}x_n = b_1\\ a_{21}x_1 + a_{22}x_2 + \dots + a_{2n}x_n = b_2\\ \vdots \\ a_{m1}x_1 + a_{m2}x_2 + \dots + a_{mn}x_n = b_m \end{cases}\end{split}\]

係数行列と拡大係数行列

前掲の線形方程式系は行列 \(a\) と数ベクトル \(x, b\) によって \(ax=b\) と書ける。この \(a\) を線形方程式系 (6)係数行列 という。このようにして、問題を行列と数ベクトルによって再解釈できる。

しかし、ここでは次の 拡大係数行列 を使う。

(7)\[\begin{split}\begin{bmatrix} a & b \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} & b_1\\ a_{21} & a_{22} & \dots & a_{2n} & b_2\\ \dots & \dots & \dots &\dots &\dots \\ a_{m1} & a_{m2} & \dots & a_{mn} & b_m \end{bmatrix}\end{split}\]

この行列には線形方程式系 (6) を特徴づけるすべての定数の情報が含まれている。 この関係によって、 \(m\) 本の式からなる \(n\) 変数の線形方程式系と \(m\)\((n+1)\) 列の行列が一対一に対応する。

基本変形

行列に対する次の3種の操作は、 行に関する基本変形 と呼ばれる:

  1. 二つの行を入れ替える
  2. ある行に他のある行の定数倍を加える
  3. ある行に0でない定数をかける

拡大係数行列に上記の変形をしても、解空間は変化しない。つまり、変形前の線形方程式系の解と変形後の線形方程式系の解は一致する。

この性質を使って、拡大係数行列を解きやすい形に変形していくのが、ガウスの消去法だ。

ガウスの消去法の例示

記号の煩雑さを避けるため、具体例で説明する。次の問題を扱う:

(8)\[\begin{split}\begin{cases} 3x_1 + 6x_2 -3x_3 + 12x_4 = 9\\ 2x_1 + 4x_2 + 2x_3 + 4x_4 = 3\\ -3x_1 -4x_2 + 7x_3 -6x_4 = -5 \end{cases}\end{split}\]

拡大係数行列は次のようになる:

(9)\[\begin{split}\begin{bmatrix} 3 & 6 & -3 & 12 & 9\\ 2 & 4 & 2 & 4 & 3\\ -3 & -4 & 7 & -6 & -5 \end{bmatrix}\end{split}\]

初めの目標は、 \((1, 1)\) 成分を1にすることだ。そのために、第1行を \(\frac{1}{3}\) 倍する:

(10)\[\begin{split}\begin{bmatrix} 1 & 2 & -1 & 4 & 3\\ 2 & 4 & 2 & 4 & 2\\ -3 & -4 & 7 & -6 & -5 \end{bmatrix}\end{split}\]

次の目標は、第1列の2行目以下を全て0にすることだ。第2行に第1行の-2倍を加え、第3行に第1行の3倍を加える:

(11)\[\begin{split}\begin{bmatrix} 1 & 2 & -1 & 4 & 3\\ 0 & 0 & 4 & -4 & -4\\ 0 & 2 & 4 & 6 & 4 \end{bmatrix}\end{split}\]

この2つの動きがガウスの消去法の基本だ。これを第2列、第3列、...と順番に適用していく。

\((2, 2)\) 成分を1にするために、第2行と第3行を入れ替える:

(12)\[\begin{split}\begin{bmatrix} 1 & 2 & -1 & 4 & 3\\ 0 & 2 & 4 & 6 & 4\\ 0 & 0 & 4 & -4 & -4 \end{bmatrix}\end{split}\]

第2行を \(\frac{1}{2}\) 倍する:

(13)\[\begin{split}\begin{bmatrix} 1 & 2 & -1 & 4 & 3\\ 0 & 1 & 2 & 3 & 2\\ 0 & 0 & 4 & -4 & -4 \end{bmatrix}\end{split}\]

既に \((3, 2)\) 成分は0になっているので、次に進む。

\((3,3)\) 成分を1にするために、第3行を \(\frac{1}{4}\) 倍する:

(14)\[\begin{split}\begin{bmatrix} 1 & 2 & -1 & 4 & 3\\ 0 & 1 & 2 & 3 & 2\\ 0 & 0 & 1 & -1 & -1 \end{bmatrix}\end{split}\]

これが完成形だ。ここまでを 前進消去 といい、ここから先は 後退代入 という。

前進消去により、問題は次の形に整理された:

(15)\[\begin{split}\begin{cases} x_1 & +2x_2 & -\hspace{6pt}x_3 & +4x_4 &= 3\\ & \hspace{12pt} x_2 & +2x_3 & +3x_4 &= 2\\ & & \hspace{12pt}x_3 & -3x_4 &= -1 \end{cases}\end{split}\]

これは容易に解ける。 \(x_4\)\(c\) とおく。 \(x_4=c\) を第3式に代入し、 \(x_3 = -1 + 3c\) を得る。 \(x_3, x_4\) を第2式に代入し、 \(x_2=4-9c\) を得る。 \(x_2, x_3, x_4\) を第1式に代入し、 \(x_1=-6+17c\) を得る。よって、解は任意定数 \(c\) を使って次のように表せる。

(16)\[\begin{split}\begin{cases} x_1-6+17c\\ x_2=4-9c\\ x_3=-1+3c\\ x_4=c \end{cases}\end{split}\]

興味のある読者は、一般の場合を研究してみるとよい。線形方程式系の解には3通りの可能性がある:「存在しない」「ただ一つ存在する」「無限に存在する」だ。それぞれの場合で、前進消去の結果はどのような行列になるだろう?