列基本変形の基本
mathlinear-algebraundergraduatelecture
導入
この講義で重要なのは、列基本変形は行列の列ベクトルを、同じ列空間を張る別の生成系へ可逆に取り替える操作であるということである。
行列をただの数表として見ると、列の入れ替えや加算は成分を動かす手順にしか見えない。しかし
A=
\begin{pmatrix}
|&|&&|\\
a_1&a_2&\cdots&a_n\\
|&|&&|
\end{pmatrix}
=
\begin{bmatrix}
a_1&a_2&\cdots&a_n
\end{bmatrix}
と見れば、列基本変形は列ベクトル a_1,\dots,a_n の組を作り替える操作である。
用語と定義
列基本変形 とは、行列の列に対する次の 3 種類の操作である。
| 操作 | 記号 | 意味 |
| 列の交換 | C_i\leftrightarrow C_j | 第 i 列と第 j 列を交換する |
| 列の非零定数倍 | C_i\leftarrow \lambda C_i,\ \lambda\ne0 | 第 i 列を 0 でないスカラー \lambda 倍する |
| 他列の倍の加算 | C_i\leftarrow C_i+\lambda C_j | 第 i 列に第 j 列の \lambda 倍を加える |
\lambda\ne0 が必要なのは、\lambda=0 とすると列そのものが消え、逆操作で復元できなくなるためである。
なぜこの 3 つを基本と呼ぶか
本質は、どの操作も元に戻せることである。
C_i\leftrightarrow C_j
は、もう 1 度同じ交換をすれば元に戻る。
C_i\leftarrow \lambda C_i\qquad(\lambda\ne0)
は、
C_i\leftarrow \frac{1}{\lambda}C_i
で元に戻る。
C_i\leftarrow C_i+\lambda C_j
は、
C_i\leftarrow C_i-\lambda C_j
で元に戻る。したがって列基本変形は、情報を壊す操作ではなく、列ベクトルの表し方を可逆に変更する操作である。
方針
列基本変形では、行列を「列ベクトルを横に並べたもの」として見る。行列積の意味から、右から掛ける行列は、元の列たちの線型結合を新しい列として作る。
A=
\begin{bmatrix}
a_1&a_2&\cdots&a_n
\end{bmatrix}
のとき、AF の第 k 列は、F の第 k 列を係数として a_1,\dots,a_n を線型結合したものである。したがって
\boxed{\text{列を変える操作は右から掛ける}}
となる。
data/lecture/math/linear-algebra/行列の積の意味-講義.n.md
直感的な説明
列ベクトル a_1,\dots,a_n が張る空間を考える。a_3 を a_3-3a_1 に替えても、新しい a_3-3a_1 は元の列たちの線型結合である。逆に、元の a_3 は
a_3=(a_3-3a_1)+3a_1
と復元できる。つまり、張っている空間そのものは変わらない。
列基本変形は、地図でいえば同じ場所を別の案内標識で示すようなものである。列の見た目は変わるが、そこから到達できる空間は変わらない。
厳密な説明
1. 右から基本行列を掛ける
基本行列 とは、単位行列に 1 回の基本変形を施して得られる行列である。列基本変形は、右から基本行列を掛ける操作として表せる。
たとえば
C_3\leftarrow C_3-3C_1
は、
F=
\begin{pmatrix}
1&0&-3\\
0&1&0\\
0&0&1
\end{pmatrix}
を右から掛けることに対応する。実際、
\begin{aligned}
AF
&=
\begin{bmatrix}
C_1&C_2&C_3
\end{bmatrix}
\begin{pmatrix}
1&0&-3\\
0&1&0\\
0&0&1
\end{pmatrix}\\
&=
\begin{bmatrix}
C_1&C_2&C_3-3C_1
\end{bmatrix}
\end{aligned}\begin{aligned}
AF
&=
\begin{bmatrix}
C_1&C_2&C_3
\end{bmatrix}
\begin{pmatrix}
1&0&-3\\
0&1&0\\
0&0&1
\end{pmatrix}\\
&=
\begin{bmatrix}
C_1&C_2&C_3-3C_1
\end{bmatrix}
\end{aligned}
である。-3 が F の 1 行 3 列に現れるのは、AF の第 3 列が、F の第 3 列を係数として決まるためである。
2. 行基本変形との違い
| 操作 | 掛ける側 | 何を作るか | 連立一次方程式での意味 |
| 行基本変形 | A\mapsto EA | 行の線型結合 | 方程式を同値な方程式へ変える |
| 列基本変形 | A\mapsto AF | 列の線型結合 | 未知数の係数の組を変える |
行基本変形は、方程式そのものを同値な形へ変えるため、Ax=b の解集合をそのまま保ちやすい。列基本変形は A の列、つまり未知数が掛かる係数の方向を変える。したがって連立一次方程式で列基本変形を使うなら、未知数の変換も同時に追跡する必要がある。
具体的には、F が可逆なら
AFy=b
を解いたあと、元の未知数は
x=Fy
で戻す。これを忘れると、別の未知数で解いた答えを元の問題の答えと誤解する。
具体例
A=
\begin{pmatrix}
1&2&3\\
4&5&6\\
7&8&9
\end{pmatrix}
=
\begin{bmatrix}
C_1&C_2&C_3
\end{bmatrix}
を考える。
列の交換
C_1\leftrightarrow C_2
を行うと、
\begin{pmatrix}
1&2&3\\
4&5&6\\
7&8&9
\end{pmatrix}
\longmapsto
\begin{pmatrix}
2&1&3\\
5&4&6\\
8&7&9
\end{pmatrix}
となる。
列の非零定数倍
C_3\leftarrow \frac{1}{3}C_3
を行うと、
\begin{pmatrix}
1&2&3\\
4&5&6\\
7&8&9
\end{pmatrix}
\longmapsto
\begin{pmatrix}
1&2&1\\
4&5&2\\
7&8&3
\end{pmatrix}
となる。第 3 列の各成分が同時に \frac{1}{3} 倍される。
他列の倍を加える
C_3\leftarrow C_3-3C_1
を行うと、
C_3-3C_1
=
\begin{pmatrix}
3\\
6\\
9
\end{pmatrix}
-3
\begin{pmatrix}
1\\
4\\
7
\end{pmatrix}
=
\begin{pmatrix}
0\\
-6\\
-12
\end{pmatrix}
である。したがって
\begin{pmatrix}
1&2&3\\
4&5&6\\
7&8&9
\end{pmatrix}
\longmapsto
\begin{pmatrix}
1&2&0\\
4&5&-6\\
7&8&-12
\end{pmatrix}
となる。
未知数変換の具体例
列基本変形を連立一次方程式で使うときは、未知数の変換を明示する。たとえば 2 列の行列 A=[C_1\ C_2] に
C_2\leftarrow C_2-2C_1
を行うとする。この操作は
F=
\begin{pmatrix}
1&-2\\
0&1
\end{pmatrix}
を右から掛けることに対応し、
AF=[C_1\ C_2-2C_1]
である。したがって変形後の方程式を
AFy=b
と解いたなら、元の方程式 Ax=b の未知数は
x=Fy=
\begin{pmatrix}
y_1-2y_2\\
y_2
\end{pmatrix}
である。列基本変形で得た y をそのまま x と読むのは誤りである。
何が保存されるか
列基本変形では、列空間が保存される。なぜなら、新しい列は元の列の線型結合であり、逆操作により元の列も新しい列の線型結合で戻せるからである。
\operatorname{span}(C_1,\dots,C_n)
=
\operatorname{span}(C_1',\dots,C_n')
したがって階数 も保存される。
\operatorname{rank}(A)=\operatorname{rank}(AF)
ただし、右から可逆行列を掛けるため、核は同じ集合としては保存されない。AFy=0 は A(Fy)=0 を意味するので、元の核との対応には x=Fy という変数変換が入る。
行列式への影響
正方行列では、列基本変形による行列式の変化は行基本変形と同型である。
| 列操作 | \det A への影響 |
| C_i\leftrightarrow C_j | 符号が反転する |
| C_i\leftarrow \lambda C_i | \lambda 倍される |
| C_i\leftarrow C_i+\lambda C_j | 変わらない |
これは行列式が列に関して多重線型であり、2 本の列が一致すると 0 になるためである。
data/lecture/math/linear-algebra/行列式の計算規則-講義.n.md
操作ごとに保存されるもの・変わるもの
列基本変形を A\mapsto AF と書くと、F は可逆行列である。右から掛けるので、元の列ベクトルの線型結合として新しい列が作られる。このため、列空間を中心に見ると保存されるものが見えやすい。
| 操作 | 保存されるもの | 変わるもの | 注意 |
| C_i\leftrightarrow C_j | 列空間、階数 | 列の順序、行空間の表示、核の座標表示、\det A の符号 | 未知数の順序も入れ替わる |
| C_i\leftarrow \lambda C_i,\ \lambda\ne0 | 列空間、階数 | 第 i 列の大きさ、核の座標表示、\det A の倍率 | \lambda=0 は列を消すため禁止である |
| C_i\leftarrow C_i+\lambda C_j | 列空間、階数、\det A | 列の生成系、行空間の表示、核の座標表示 | 行列式は変わらない |
列空間が保存される理由は、新しい列が元の列の線型結合であり、逆操作により元の列も新しい列から復元できるためである。したがって
\operatorname{Col}(AF)=\operatorname{Col}(A)
である。階数は列空間の次元なので保存される。
一方、核は同じ集合としては一般に保存されない。
AFy=0
\iff
A(Fy)=0
であるから、x=Fy と置けば x\in\ker A である。つまり
\ker(AF)=F^{-1}(\ker A)
となる。核の次元は保存されるが、座標の表し方は変わる。
連立一次方程式でこの違いは重要である。Ax=b の係数行列を AF に変えたなら、同じ未知数 x で解いているのではない。
AFy=b
を解いたあと、元の未知数は
x=Fy
で戻す。この対応を追跡すれば、列基本変形も方程式の整理に使える。しかし追跡しないなら、解集合をそのまま保つ操作ではない。
行基本変形との比較は次のページで確認する。
data/lecture/math/linear-algebra/行基本変形の基本-講義.n.md
階数・列空間・核の関係は次のページで確認する。
data/lecture/math/linear-algebra/階数の基本-講義.n.md
見分け方
- 連立一次方程式の解集合をそのまま保ちたいなら、行基本変形を使う。
- 列空間、階数、列の生成系を整理したいなら、列基本変形が自然である。
- 行列式の計算では、行と列のどちらに基本変形を施してもよい。ただし符号や倍率を必ず記録する。
- Ax=b を解く途中で列基本変形を使うなら、未知数の変換 x=Fy を最後まで追跡する。
どこまで成り立つか
列基本変形は、任意の m\times n 行列に対して定義できる。列空間と階数は保存される。ただし行列式への影響を語れるのは、行列式が定義される正方行列の場合である。
列基本変形は列の生成系を取り替える操作であり、写像の終域にある列空間は保つ。一方で、入力側の座標は変わるので、方程式の未知数は同一視しない。
最終形
\boxed{\text{列基本変形は列の生成系を可逆に取り替える操作である}}
\boxed{A\mapsto AF}
\boxed{\operatorname{span}(C_1,\dots,C_n)\text{ と }\operatorname{rank}(A)\text{ は保存される}}
一言でいうと
列基本変形は、列ベクトルが張る空間を変えずに、列の表し方だけを変える操作である。