# 行列と連立一次方程式：線形写像の座標表示と解の構造

> 行列を線形写像の表現として導入し、積が写像の合成に対応することを示す。基底変換の公式、ガウスの消去法、階数と次元定理を経て、Ax=b の解集合が特殊解と核の和になることを証明する。
> https://rikai.mugen-giken.com/mathematics/linear-algebra/matrices-and-linear-systems

## 0. この記事の要点

- 定義域と値域の基底を 1 組ずつ固定すると、有限次元ベクトル空間の間の線形写像は行列と 1 対 1 に対応します。行列とは線形写像の「座標表示」であって、数の並びそのものに意味があるわけではありません。
- 行列の積は「行と列を掛けて足す」という奇妙な規則で定義されます。この規則は、写像の合成の表現行列を計算すると必然的に現れます。積が結合的なのも、合成が結合的だからです。
- 基底を取り替えると、同じ線形写像の表現行列は $A' = Q^{-1} A P$ に変わります。行列の見た目の複雑さは、写像の性質ではなく基底の選び方の反映です。
- 連立一次方程式 $A\boldsymbol{x} = \boldsymbol{b}$ は、「$\boldsymbol{b}$ は線形写像 $\boldsymbol{x} \mapsto A\boldsymbol{x}$ の像に入るか。入るなら逆像は何か」という問いに翻訳されます。
- ガウスの消去法は、解集合を変えない変形だけで係数行列を簡約階段形へ直す手続きです。そこに現れるピボットの個数が階数 $\operatorname{rank} A$ であり、像の次元に一致します。
- 解集合は空か、さもなければ「特殊解 1 つ + 核」という平行移動された部分空間で、次元は $n - \operatorname{rank} A$ です。可解性は $\operatorname{rank} A = \operatorname{rank} [A \mid \boldsymbol{b}]$ で判定できます。

## 1. 動機 — 数表はなぜ「代数」になるのか

連立一次方程式は古い主題です。中国の『九章算術』（1 世紀頃）の第 8 章「方程」には、算木を並べて係数を配置し、列どうしを引き算して未知数を消す手続きが記されています。実質的に掃き出し法です。19 世紀にはガウスが、小惑星の軌道決定にともなう最小二乗法の計算でこの方法を系統的に使いました。係数だけを並べて機械的に処理する発想は、行列という言葉より二千年近く古いのです。

では、行列という概念は何を付け加えたのでしょうか。「行列 (matrix)」という語は 1850 年に J. J. シルヴェスターが導入し、1858 年にケイリーが論文「行列論の覚書」で、行列そのものを足したり掛けたりする代数として扱いました。決定的だったのは積の定義です。ケイリーは行列の積を、一次変換（一次の変数変換）を続けて行った結果に対応するものとして定めました。ここで数表は、単なる係数の置き場所から、演算をもつ数学的対象へ格上げされます。

初めて行列を学ぶとき、多くの人が引っかかるのはこの積です。足し算は成分ごとなのに、掛け算はなぜ

$$
(BA)_{ij} = \sum_{k} b_{ik} a_{kj}
$$

という込み入った形なのか。成分ごとに掛ければよいではないか、と。この疑問への答えは 1 つしかありません。**行列は線形写像を表すためにあり、積は写像の合成を表すために定義されたから**です。成分ごとの積（アダマール積）も定義はできますが、それは合成に対応しません。合成に対応させたいという要求が、あの和の形を強制するのです。

この記事では、まずその対応（表現行列）を作ります。行列は基底を決めたときの線形写像の顔であり、基底を変えれば顔は変わる。この視点に立つと、$A\boldsymbol{x} = \boldsymbol{b}$ は「線形写像 $f_A$ による $\boldsymbol{b}$ の逆像を求めよ」という幾何の問題になります。解が 0 個か 1 個か無限個かという分類も、像と核という 2 つの部分空間の言葉で一度に片づきます。

## 2. 準備 — 基底・座標・線形写像

以下、$K$ は体を表し、$K = \mathbb{R}$ または $K = \mathbb{C}$ と思って読んで構いません。ベクトル空間、一次独立、基底、次元、線形写像、核と像については [ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) で扱いました（<Ref to="mathematics/linear-algebra/vector-spaces#def-independence-basis" text="線形独立・生成系・基底" />、<Ref to="mathematics/linear-algebra/vector-spaces#def-kernel-image" text="核と像" />）。ここでは以降で繰り返し使う 2 つの事実を、証明つきで確認しておきます。

$V$ を $K$ 上のベクトル空間、$\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ をその基底（順序を込めて考えるので**順序基底**といいます）とします。$m \times n$ 行列全体の集合を $M_{m,n}(K)$、$n$ 次正方行列全体を $M_n(K)$、$n$ 次単位行列を $I_n$ と書きます。$K^n$ の元は列ベクトルとして扱い、転置は $A^{\mathsf{T}}$ と書きます。

<Proposition id="prop-coordinate" title="座標同型と、基底による線形写像の決定">
$V$ を $K$ 上の $n$ 次元ベクトル空間、$\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ をその順序基底とする。

1. 各 $\boldsymbol{v} \in V$ に対し $\boldsymbol{v} = \sum_{j=1}^{n} x_j \boldsymbol{e}_j$ と表す係数 $(x_1, \ldots, x_n)$ はただ 1 通りに定まり、写像
$$
\varphi_{\mathcal{B}} : V \to K^n, \qquad \varphi_{\mathcal{B}}(\boldsymbol{v}) = (x_1, \ldots, x_n)^{\mathsf{T}}
$$
は線形同型である。これを $\mathcal{B}$ に関する**座標同型**と呼ぶ。
2. $W$ を $K$ 上の任意のベクトル空間、$\boldsymbol{w}_1, \ldots, \boldsymbol{w}_n \in W$ を任意の元とする。このとき $f(\boldsymbol{e}_j) = \boldsymbol{w}_j\ (j = 1, \ldots, n)$ を満たす線形写像 $f : V \to W$ がただ 1 つ存在する。
</Proposition>

<Proof of="prop-coordinate">
1. $\mathcal{B}$ は $V$ を張るので、少なくとも 1 通りの表示 $\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j$ があります。$\sum_j x_j \boldsymbol{e}_j = \sum_j y_j \boldsymbol{e}_j$ とすると $\sum_j (x_j - y_j)\boldsymbol{e}_j = \boldsymbol{0}$ ですが、$\mathcal{B}$ は一次独立なのですべての $j$ で $x_j - y_j = 0$、すなわち表示は一意です。したがって $\varphi_{\mathcal{B}}$ は矛盾なく定義されます。

線形性を確かめます。$\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j$、$\boldsymbol{w} = \sum_j y_j \boldsymbol{e}_j$、$c \in K$ とすると、ベクトル空間の公理から $\boldsymbol{v} + c\boldsymbol{w} = \sum_j (x_j + c y_j)\boldsymbol{e}_j$ であり、表示の一意性よりこれが $\boldsymbol{v} + c\boldsymbol{w}$ の座標です。ゆえに $\varphi_{\mathcal{B}}(\boldsymbol{v} + c\boldsymbol{w}) = \varphi_{\mathcal{B}}(\boldsymbol{v}) + c\,\varphi_{\mathcal{B}}(\boldsymbol{w})$。

全射性は、$(x_1, \ldots, x_n)^{\mathsf{T}} \in K^n$ に対し $\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j$ が原像を与えることから従います。単射性は、$\varphi_{\mathcal{B}}(\boldsymbol{v}) = \boldsymbol{0}$ なら $\boldsymbol{v} = \sum_j 0 \cdot \boldsymbol{e}_j = \boldsymbol{0}$ であり、線形写像は核が $\{\boldsymbol{0}\}$ のとき単射だからです。

2. 存在: 1 の一意性を使って $f\left(\sum_j x_j \boldsymbol{e}_j\right) := \sum_j x_j \boldsymbol{w}_j$ と定めます。座標が一意なのでこの定義に曖昧さはありません。線形性は 1 と同じ計算です。$\boldsymbol{e}_j$ の座標は第 $j$ 成分だけが $1$ で他が $0$ なので $f(\boldsymbol{e}_j) = \boldsymbol{w}_j$ です。

一意性: $g : V \to W$ も線形で $g(\boldsymbol{e}_j) = \boldsymbol{w}_j$ を満たすとすると、任意の $\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j$ に対し $g$ の線形性から $g(\boldsymbol{v}) = \sum_j x_j g(\boldsymbol{e}_j) = \sum_j x_j \boldsymbol{w}_j = f(\boldsymbol{v})$ となり $g = f$ です。
</Proof>

<Ref to="prop-coordinate" /> の 2 は「線形写像は基底の行き先だけで決まり、しかもその行き先は自由に指定してよい」と読みます。無限個の点での値を決めるはずの写像が $n$ 個のデータで決まる。これが、行列という有限のデータで写像を記述できる理由です。

## 3. 表現行列 — 線形写像を数表に翻訳する

<Definition id="def-representation-matrix" title="表現行列">
$V$ を $n$ 次元、$W$ を $m$ 次元の $K$ ベクトル空間とし、$\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ を $V$ の、$\mathcal{C} = (\boldsymbol{u}_1, \ldots, \boldsymbol{u}_m)$ を $W$ の順序基底とする。線形写像 $f : V \to W$ に対し、各 $j$ について $f(\boldsymbol{e}_j) \in W$ を $\mathcal{C}$ で展開したときの係数を $a_{ij}$ とおく。すなわち
$$
f(\boldsymbol{e}_j) = \sum_{i=1}^{m} a_{ij}\,\boldsymbol{u}_i \qquad (j = 1, \ldots, n).
$$
このとき $A = (a_{ij}) \in M_{m,n}(K)$ を、$f$ の基底 $\mathcal{B}, \mathcal{C}$ に関する**表現行列**といい、$M_{\mathcal{C}\mathcal{B}}(f)$ と書く。
</Definition>

添字に注意してください。$a_{ij}$ の第 2 添字 $j$ が「どの基底ベクトルを写したか」、第 1 添字 $i$ が「その行き先の第何成分か」です。言い換えると

$$
A \text{ の第 } j \text{ 列} = \varphi_{\mathcal{C}}\bigl(f(\boldsymbol{e}_j)\bigr)
$$

であり、**表現行列の列は基底ベクトルの行き先を並べたもの**です。行列を見たら、まず列を 1 本ずつ「どこへ行くベクトルか」として読んでください。


<Theorem id="thm-representation" title="線形写像と行列の対応">
$V, W, \mathcal{B}, \mathcal{C}$ を <Ref to="def-representation-matrix" /> のとおりとし、$\dim V = n$、$\dim W = m$ とする。$\boldsymbol{x} = (x_1, \ldots, x_n)^{\mathsf{T}} \in K^n$ と $A = (a_{ij}) \in M_{m,n}(K)$ に対し、$A\boldsymbol{x} \in K^m$ を
$$
(A\boldsymbol{x})_i = \sum_{j=1}^{n} a_{ij} x_j \qquad (i = 1, \ldots, m)
$$
で定める。このとき次が成り立つ。

1. $A = M_{\mathcal{C}\mathcal{B}}(f)$ とおくと、すべての $\boldsymbol{v} \in V$ に対し $\varphi_{\mathcal{C}}\bigl(f(\boldsymbol{v})\bigr) = A\,\varphi_{\mathcal{B}}(\boldsymbol{v})$ が成り立つ。
2. 写像 $M_{\mathcal{C}\mathcal{B}} : \operatorname{Hom}(V, W) \to M_{m,n}(K)$、$f \mapsto M_{\mathcal{C}\mathcal{B}}(f)$ は線形同型である。ここで $\operatorname{Hom}(V,W)$ は $V$ から $W$ への線形写像全体のなすベクトル空間を表す。

特に $\dim \operatorname{Hom}(V, W) = mn$ である。
</Theorem>

<Proof of="thm-representation">
1. $\boldsymbol{v} \in V$ を取り、$\varphi_{\mathcal{B}}(\boldsymbol{v}) = (x_1, \ldots, x_n)^{\mathsf{T}}$、すなわち $\boldsymbol{v} = \sum_{j} x_j \boldsymbol{e}_j$ とします。$f$ の線形性と <Ref to="def-representation-matrix" /> から

$$
\begin{aligned}
f(\boldsymbol{v})
&= f\Bigl(\sum_{j=1}^{n} x_j \boldsymbol{e}_j\Bigr)
= \sum_{j=1}^{n} x_j\, f(\boldsymbol{e}_j) \\
&= \sum_{j=1}^{n} x_j \sum_{i=1}^{m} a_{ij}\,\boldsymbol{u}_i
= \sum_{i=1}^{m} \Bigl(\sum_{j=1}^{n} a_{ij} x_j\Bigr) \boldsymbol{u}_i .
\end{aligned}
$$

最後の等号は有限和の順序交換です。<Ref to="prop-coordinate" /> の 1 より $\mathcal{C}$ に関する座標は一意なので、$f(\boldsymbol{v})$ の第 $i$ 座標は $\sum_j a_{ij}x_j = (A\boldsymbol{x})_i$ です。これが主張です。

なお、$A\boldsymbol{x}$ の定義はこの計算結果を書き写したものにすぎません。行列とベクトルの積は、天下り式の規則ではなく「座標で書いた線形写像」そのものです。

2. 線形性: $f, g : V \to W$ と $c \in K$ に対し $(f + cg)(\boldsymbol{e}_j) = f(\boldsymbol{e}_j) + c\,g(\boldsymbol{e}_j)$ であり、右辺を $\mathcal{C}$ で展開した係数は、それぞれの係数の和と $c$ 倍です（<Ref to="prop-coordinate" /> の 1 の線形性）。よって $M_{\mathcal{C}\mathcal{B}}(f + cg) = M_{\mathcal{C}\mathcal{B}}(f) + c\,M_{\mathcal{C}\mathcal{B}}(g)$。

単射性: $M_{\mathcal{C}\mathcal{B}}(f) = O$（零行列）とすると、すべての $j$ で $f(\boldsymbol{e}_j) = \sum_i 0 \cdot \boldsymbol{u}_i = \boldsymbol{0}$ です。零写像もこの条件を満たすので、<Ref to="prop-coordinate" /> の 2 の一意性から $f = 0$。線形写像の核が $\{0\}$ なので単射です。

全射性: $A = (a_{ij}) \in M_{m,n}(K)$ を任意に取り、$\boldsymbol{w}_j := \sum_{i=1}^{m} a_{ij}\boldsymbol{u}_i \in W$ とおきます。<Ref to="prop-coordinate" /> の 2 より $f(\boldsymbol{e}_j) = \boldsymbol{w}_j$ を満たす線形写像 $f$ が存在し、その表現行列はまさに $A$ です。

最後に $\dim M_{m,n}(K) = mn$（成分がちょうど 1 つだけ $1$ の行列 $mn$ 個が基底をなす）ですから、同型により $\dim \operatorname{Hom}(V,W) = mn$ です。
</Proof>

<Ref to="thm-representation" /> の 1 は、次の図式が可換であること、つまり「上を通っても下を通っても同じ」ことを主張しています。座標同型で $V, W$ を $K^n, K^m$ に取り替えると、抽象的な $f$ が行列の掛け算に化けるわけです。

<Figure caption="表現行列とは、座標同型で写した先での f のふるまいのこと">
<Mermaid code={`flowchart LR
  V["V （基底 B）"] -->|"f"| W["W （基底 C）"]
  V -->|"座標同型 φ_B"| Kn["K^n"]
  W -->|"座標同型 φ_C"| Km["K^m"]
  Kn -->|"x ↦ Ax"| Km`} />
</Figure>

<Example id="ex-rotation" title="平面の回転">
$V = W = \mathbb{R}^2$、$\mathcal{E} = (\boldsymbol{e}_1, \boldsymbol{e}_2)$ を標準基底、$f = R_\theta$ を原点のまわりの角 $\theta$ の回転とします。表現行列を求めるには、基底ベクトルの行き先だけを見れば十分です。$\boldsymbol{e}_1 = (1,0)^{\mathsf{T}}$ は単位円周上の角 $0$ の点なので、回転後は角 $\theta$ の点、すなわち $(\cos\theta, \sin\theta)^{\mathsf{T}}$ に移ります。$\boldsymbol{e}_2 = (0,1)^{\mathsf{T}}$ は角 $\pi/2$ の点なので、回転後は角 $\theta + \pi/2$ の点、すなわち $(\cos(\theta + \pi/2), \sin(\theta+\pi/2))^{\mathsf{T}} = (-\sin\theta, \cos\theta)^{\mathsf{T}}$ です。これらを列に並べて

$$
M_{\mathcal{E}\mathcal{E}}(R_\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}.
$$

暗記すべきは行列ではなく「第 1 列は $\boldsymbol{e}_1$ の行き先」という読み方です。
</Example>

<Example id="ex-differentiation" title="多項式の微分は行列である">
$P_n$ を次数 $n$ 以下の実係数多項式全体のなす空間とします。$P_3$ の基底として $\mathcal{B} = (1, x, x^2, x^3)$、$P_2$ の基底として $\mathcal{C} = (1, x, x^2)$ を取り、微分写像 $D : P_3 \to P_2$、$D(p) = p'$ を考えます。$D$ が線形であることは微分の線形性そのものです。基底の行き先は

$$
D(1) = 0, \quad D(x) = 1, \quad D(x^2) = 2x, \quad D(x^3) = 3x^2
$$

ですから、これを $\mathcal{C}$ の座標に直して列に並べると

$$
M_{\mathcal{C}\mathcal{B}}(D) = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \end{pmatrix} \in M_{3,4}(\mathbb{R}).
$$

確かめてみます。$p(x) = 2 - x + 4x^2 + x^3$ の座標は $(2, -1, 4, 1)^{\mathsf{T}}$ で、

$$
\begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \end{pmatrix}
\begin{pmatrix} 2 \\ -1 \\ 4 \\ 1 \end{pmatrix}
= \begin{pmatrix} -1 \\ 8 \\ 3 \end{pmatrix}
$$

となり、$-1 + 8x + 3x^2$ を表します。一方 $p'(x) = -1 + 8x + 3x^2$ ですから一致しました。微分という無限小の操作が、基底を選ぶだけで $3 \times 4$ の数表になります。行列は数値計算だけの道具ではなく、線形な操作すべての共通言語です。
</Example>

## 4. 行列の積 — 合成写像の表現

線形写像を 2 つ続けて施すとどうなるかを、表現行列の言葉で計算してみます。これが積の定義の出どころです。

$U, V, W$ をそれぞれ $p, n, m$ 次元の $K$ ベクトル空間、順序基底を $\mathcal{D} = (\boldsymbol{d}_1, \ldots, \boldsymbol{d}_p)$、$\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$、$\mathcal{C} = (\boldsymbol{u}_1, \ldots, \boldsymbol{u}_m)$ とします。線形写像 $f : U \to V$ と $g : V \to W$ の表現行列を $A = (a_{kj}) = M_{\mathcal{B}\mathcal{D}}(f) \in M_{n,p}(K)$、$B = (b_{ik}) = M_{\mathcal{C}\mathcal{B}}(g) \in M_{m,n}(K)$ とおきます。合成 $g \circ f : U \to W$ も線形ですから表現行列を持ちます。それを求めましょう。<Ref to="def-representation-matrix" /> に従って基底ベクトルの行き先を計算します。

$$
\begin{aligned}
(g \circ f)(\boldsymbol{d}_j)
&= g\bigl(f(\boldsymbol{d}_j)\bigr)
= g\Bigl(\sum_{k=1}^{n} a_{kj}\boldsymbol{e}_k\Bigr)
= \sum_{k=1}^{n} a_{kj}\, g(\boldsymbol{e}_k) \\
&= \sum_{k=1}^{n} a_{kj} \sum_{i=1}^{m} b_{ik}\,\boldsymbol{u}_i
= \sum_{i=1}^{m} \Bigl(\sum_{k=1}^{n} b_{ik} a_{kj}\Bigr) \boldsymbol{u}_i .
\end{aligned}
$$

3 番目の等号で $g$ の線形性を使いました。結果として、$(g\circ f)$ の表現行列の $(i,j)$ 成分は $\sum_k b_{ik}a_{kj}$ になります。この式を「積」と名づければ、表現行列の対応が合成と両立します。

<Definition id="def-product" title="行列の積">
$B = (b_{ik}) \in M_{m,n}(K)$、$A = (a_{kj}) \in M_{n,p}(K)$ とする。$B$ の列数と $A$ の行数がともに $n$ で一致しているとき、積 $BA \in M_{m,p}(K)$ を
$$
(BA)_{ij} = \sum_{k=1}^{n} b_{ik} a_{kj} \qquad (1 \le i \le m,\ 1 \le j \le p)
$$
で定める。
</Definition>

$p = 1$ の場合が <Ref to="thm-representation" /> の行列とベクトルの積です。また定義から、$BA$ の第 $j$ 列は $B \cdot (A \text{ の第 } j \text{ 列})$ に等しいことがわかります（両辺の第 $i$ 成分がともに $\sum_k b_{ik}a_{kj}$ だからです）。この「列ごとに見る」性質は後で使います。

<Theorem id="thm-product-composition" title="積は合成の表現行列">
上の記号のもとで
$$
M_{\mathcal{C}\mathcal{D}}(g \circ f) = M_{\mathcal{C}\mathcal{B}}(g)\; M_{\mathcal{B}\mathcal{D}}(f)
$$
が成り立つ。
</Theorem>

<Proof of="thm-product-composition">
上で行った計算がそのまま証明です。$(g\circ f)(\boldsymbol{d}_j) = \sum_{i} \bigl(\sum_k b_{ik}a_{kj}\bigr)\boldsymbol{u}_i$ であり、<Ref to="prop-coordinate" /> の 1 より $\mathcal{C}$ に関する係数は一意に定まるので、$M_{\mathcal{C}\mathcal{D}}(g\circ f)$ の $(i,j)$ 成分は $\sum_k b_{ik}a_{kj}$ です。これは <Ref to="def-product" /> により $(BA)_{ij}$ に一致します。
</Proof>

行列の積のわかりにくさは、合成写像のわかりにくさを引き受けたものです。そのぶん、写像の性質はそのまま行列の性質に翻訳されます。次の系はその典型で、成分計算を一切せずに証明できます。

<Corollary id="cor-associativity" title="積の結合法則">
$A \in M_{n,p}(K)$、$B \in M_{m,n}(K)$、$C \in M_{l,m}(K)$ に対し $(CB)A = C(BA)$ が成り立つ。
</Corollary>

<Proof of="cor-associativity">
行列 $A \in M_{n,p}(K)$ に対し線形写像 $f_A : K^p \to K^n$、$f_A(\boldsymbol{x}) = A\boldsymbol{x}$ を対応させます。$K^p, K^n$ の標準基底に関する $f_A$ の表現行列は $A$ 自身です。実際、標準基底ベクトル $\boldsymbol{e}_j$ に対し $A\boldsymbol{e}_j$ の第 $i$ 成分は $\sum_k a_{ik}(\boldsymbol{e}_j)_k = a_{ij}$、つまり $A\boldsymbol{e}_j$ は $A$ の第 $j$ 列だからです。

<Ref to="thm-product-composition" /> を 2 回使うと、$C(BA)$ は $f_C \circ (f_B \circ f_A)$ の、$(CB)A$ は $(f_C \circ f_B) \circ f_A$ の表現行列です。ところが写像の合成は結合的で、どちらも $\boldsymbol{x} \mapsto f_C\bigl(f_B(f_A(\boldsymbol{x}))\bigr)$ という同一の写像です。表現行列は写像から一意に定まる（<Ref to="thm-representation" /> の 2 の単射性）ので、$C(BA) = (CB)A$ が従います。
</Proof>

<Example id="ex-rotation-addition" title="回転の合成と三角関数の加法定理">
<Ref to="ex-rotation" /> の回転行列について、$R_\alpha \circ R_\beta = R_{\alpha + \beta}$ は幾何的に明らかです（角 $\beta$ 回してから角 $\alpha$ 回すのは、角 $\alpha + \beta$ 回すのと同じ）。<Ref to="thm-product-composition" /> により、表現行列の側でも同じ等式が成り立たなければなりません。左辺を <Ref to="def-product" /> に従って計算すると

$$
\begin{pmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{pmatrix}
\begin{pmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta \end{pmatrix}
=
\begin{pmatrix}
\cos\alpha\cos\beta - \sin\alpha\sin\beta & -(\cos\alpha\sin\beta + \sin\alpha\cos\beta) \\
\sin\alpha\cos\beta + \cos\alpha\sin\beta & \cos\alpha\cos\beta - \sin\alpha\sin\beta
\end{pmatrix}
$$

となります。右辺は $R_{\alpha+\beta}$、すなわち $(1,1)$ 成分が $\cos(\alpha+\beta)$、$(2,1)$ 成分が $\sin(\alpha+\beta)$ の行列です。成分を比較して

$$
\cos(\alpha+\beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta, \qquad
\sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta
$$

が得られます。加法定理は「回転の合成」を座標で書いたものにほかならない、というわけです。
</Example>

<Remark id="rem-noncommutative" title="積が可換でない理由">
実数の掛け算と違い、行列の積は一般に $AB \ne BA$ です。これも幾何で見えます。$R = \begin{pmatrix} 0 & -1 \\ 1 & 0\end{pmatrix}$ を $90^\circ$ の回転、$S = \begin{pmatrix} 1 & 0 \\ 0 & -1\end{pmatrix}$ を $x$ 軸に関する鏡映とすると

$$
RS = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \qquad
SR = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix}
$$

です（たとえば $(RS)_{12} = 0\cdot 0 + (-1)\cdot(-1) = 1$、$(SR)_{12} = 1\cdot(-1) + 0\cdot 0 = -1$）。$RS$ は直線 $y = x$ に関する鏡映、$SR$ は直線 $y = -x$ に関する鏡映で、別の変換です。本を「表紙を上にしてから右に $90^\circ$ 回す」のと順序を入れ替えるのとで結果が違うのと同じで、非可換性は変換が順序に依存するという事実の反映です。
</Remark>

## 5. 基底を取り替える

同じ線形写像でも、基底を変えれば表現行列は変わります。ここを曖昧にしたまま先へ進むと、後の章で対角化の意味がわからなくなります。まず、基底の取り替え自体を行列で書きます。

<Definition id="def-change-of-basis" title="基底変換行列">
$V$ を $n$ 次元 $K$ ベクトル空間、$\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ と $\mathcal{B}' = (\boldsymbol{e}'_1, \ldots, \boldsymbol{e}'_n)$ をその 2 組の順序基底とする。各 $\boldsymbol{e}'_j$ を $\mathcal{B}$ で展開して
$$
\boldsymbol{e}'_j = \sum_{i=1}^{n} p_{ij}\,\boldsymbol{e}_i \qquad (j = 1, \ldots, n)
$$
と書くとき、$P = (p_{ij}) \in M_n(K)$ を $\mathcal{B}'$ から $\mathcal{B}$ への**基底変換行列**という。定義から $P = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V)$ である。
</Definition>

$P$ は恒等写像の表現行列であり、<Ref to="thm-representation" /> の 1 を $f = \mathrm{id}_V$ に適用すると、すべての $\boldsymbol{v} \in V$ について

$$
\varphi_{\mathcal{B}}(\boldsymbol{v}) = P\,\varphi_{\mathcal{B}'}(\boldsymbol{v})
$$

が成り立ちます。つまり $P$ は「新しい座標を入れると古い座標が出てくる」変換です。基底の変換 $\mathcal{B} \to \mathcal{B}'$ と座標の変換 $\mathcal{B}' \to \mathcal{B}$ が逆向きになるので、ここは混乱しやすいところです。

<Aside type="caution">
1 次元の例で向きを確認します。$V = \mathbb{R}$（長さ）、$\boldsymbol{e}_1 = 1\,\text{m}$、$\boldsymbol{e}'_1 = 1\,\text{cm}$ とすると $\boldsymbol{e}'_1 = 0.01\,\boldsymbol{e}_1$ で $P = (0.01)$ です。「3 m」の新座標（cm 単位）は $300$、旧座標は $3$ で、確かに $3 = 0.01 \times 300$。基底を細かくすると座標の数値は大きくなります。
</Aside>

<Theorem id="thm-change-of-basis" title="表現行列の変換則">
$f : V \to W$ を線形写像とする。$V$ に 2 組の順序基底 $\mathcal{B}, \mathcal{B}'$ を、$W$ に 2 組の順序基底 $\mathcal{C}, \mathcal{C}'$ を取り、$P = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V)$、$Q = M_{\mathcal{C}\mathcal{C}'}(\mathrm{id}_W)$ を基底変換行列とする。このとき $P, Q$ は正則で、
$$
M_{\mathcal{C}'\mathcal{B}'}(f) = Q^{-1}\, M_{\mathcal{C}\mathcal{B}}(f)\, P
$$
が成り立つ。
</Theorem>

<Proof of="thm-change-of-basis">
まず $M_{\mathcal{B}\mathcal{B}}(\mathrm{id}_V) = I_n$ です。実際 $\mathrm{id}_V(\boldsymbol{e}_j) = \boldsymbol{e}_j$ なので、<Ref to="def-representation-matrix" /> の係数は $a_{ij} = \delta_{ij}$（$i = j$ のとき $1$、それ以外は $0$）です。

$P^{\ast} := M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V)$ とおくと、<Ref to="thm-product-composition" /> を $\mathrm{id}_V \circ \mathrm{id}_V = \mathrm{id}_V$ に適用して

$$
P P^{\ast} = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V)\, M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V) = M_{\mathcal{B}\mathcal{B}}(\mathrm{id}_V) = I_n,
$$

同様に $P^{\ast} P = M_{\mathcal{B}'\mathcal{B}'}(\mathrm{id}_V) = I_n$ となるので、$P$ は正則で $P^{-1} = M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V)$ です。$Q$ についても同じです。

次に $f = \mathrm{id}_W \circ f \circ \mathrm{id}_V$ と書き、<Ref to="thm-product-composition" /> を 2 回使います。

$$
M_{\mathcal{C}'\mathcal{B}'}(f) = M_{\mathcal{C}'\mathcal{C}}(\mathrm{id}_W)\; M_{\mathcal{C}\mathcal{B}}(f)\; M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V) = Q^{-1} M_{\mathcal{C}\mathcal{B}}(f)\, P .
$$

ここで最後の等号に、いま示した $M_{\mathcal{C}'\mathcal{C}}(\mathrm{id}_W) = Q^{-1}$ を使いました。
</Proof>

<Remark id="rem-similarity" title="相似 — 同じ写像の別の顔">
$V = W$ で、定義域と値域に同じ基底を使う場合（$\mathcal{C} = \mathcal{B}$、$\mathcal{C}' = \mathcal{B}'$）は $Q = P$ となり、変換則は
$$
A' = P^{-1} A P
$$
という形になります。この関係にある 2 つの正方行列を**相似**であるといいます（<Ref to="mathematics/linear-algebra/diagonalization-and-jordan-form#def-similar" text="相似の定義" />）。相似な行列は「同じ線形変換を別の基底から眺めた姿」です。したがって相似で不変な量（後の章の行列式・跡・固有値・階数など）は写像そのものの性質であり、そうでない量は基底の選び方に依存する見かけの性質です。行列を扱うときは「これは写像の性質か、座標の性質か」と問うてください。
</Remark>

<Example id="ex-projection" title="射影 — 良い基底では対角行列になる">
$\mathbb{R}^2$ で、直線 $\ell = \operatorname{span}\{\boldsymbol{a}\}$（$\boldsymbol{a} = (2,1)^{\mathsf{T}}$）の上への、直線 $\operatorname{span}\{\boldsymbol{b}\}$（$\boldsymbol{b} = (-1,2)^{\mathsf{T}}$）に沿った射影 $p$ を考えます。$\boldsymbol{a}$ と $\boldsymbol{b}$ は直交していて一次独立なので $\mathcal{B}' = (\boldsymbol{a}, \boldsymbol{b})$ は基底です。$p$ は定義から $p(\boldsymbol{a}) = \boldsymbol{a}$、$p(\boldsymbol{b}) = \boldsymbol{0}$ を満たし、<Ref to="prop-coordinate" /> の 2 によりこの 2 条件で一意に定まります。基底 $\mathcal{B}'$ に関する表現行列は、基底ベクトルの行き先を並べるだけで

$$
A' = M_{\mathcal{B}'\mathcal{B}'}(p) = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}
$$

です。射影という操作の本質（片方の方向は残し、もう片方は潰す）が、そのまま見えています。

では標準基底 $\mathcal{E}$ での表現行列 $A = M_{\mathcal{E}\mathcal{E}}(p)$ は何でしょうか。基底変換行列は、新しい基底 $\boldsymbol{a}, \boldsymbol{b}$ の標準座標を列に並べた

$$
P = \begin{pmatrix} 2 & -1 \\ 1 & 2 \end{pmatrix}, \qquad
P^{-1} = \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2 \end{pmatrix}
$$

です（$P P^{-1} = I_2$ は直接計算で確かめられます）。<Ref to="rem-similarity" /> の式 $A' = P^{-1}AP$ を $A$ について解くと $A = P A' P^{-1}$ なので

$$
A = \begin{pmatrix} 2 & -1 \\ 1 & 2\end{pmatrix}\begin{pmatrix} 1 & 0 \\ 0 & 0\end{pmatrix} \cdot \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2\end{pmatrix}
= \begin{pmatrix} 2 & 0 \\ 1 & 0 \end{pmatrix}\cdot \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2\end{pmatrix}
= \frac{1}{5}\begin{pmatrix} 4 & 2 \\ 2 & 1 \end{pmatrix}.
$$

検算します。$A\boldsymbol{a} = \frac{1}{5}(4\cdot 2 + 2\cdot 1,\; 2\cdot 2 + 1\cdot 1)^{\mathsf{T}} = \frac{1}{5}(10, 5)^{\mathsf{T}} = (2,1)^{\mathsf{T}} = \boldsymbol{a}$、$A\boldsymbol{b} = \frac{1}{5}(-4+4,\; -2+2)^{\mathsf{T}} = \boldsymbol{0}$ となり、確かに $p$ の表現行列です。

同じ写像が、良い基底では $\operatorname{diag}(1,0)$、標準基底では分数の入った行列になりました。行列が複雑なのではなく、基底が写像に合っていないのです。写像に合った基底を探す作業が、[固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) と [対角化とジョルダン標準形](/mathematics/linear-algebra/diagonalization-and-jordan-form) の主題になります。
</Example>

## 6. 連立一次方程式を Ax = b と読む

$m$ 個の一次方程式からなる $n$ 変数の連立一次方程式

$$
\begin{cases}
a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1 \\
a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2 \\
\qquad\qquad\qquad \vdots \\
a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m
\end{cases}
$$

は、$A = (a_{ij}) \in M_{m,n}(K)$、$\boldsymbol{x} = (x_1,\ldots,x_n)^{\mathsf{T}}$、$\boldsymbol{b} = (b_1,\ldots,b_m)^{\mathsf{T}}$ とおけば、<Ref to="thm-representation" /> で定めた行列とベクトルの積を使って $A\boldsymbol{x} = \boldsymbol{b}$ と一行で書けます。$A$ を**係数行列**、$A$ の右に $\boldsymbol{b}$ を 1 列付け加えた $m \times (n+1)$ 行列 $[A \mid \boldsymbol{b}]$ を**拡大係数行列**といいます。

この一行の式には 3 通りの読み方があり、場面によって使い分けます。

| 読み方 | 式の見方 | 幾何的な意味 |
|---|---|---|
| 行で読む | 各行 $\sum_j a_{ij}x_j = b_i$ を 1 本の式と見る | $K^n$ 内の $m$ 枚の超平面の共通部分を求める |
| 列で読む | $x_1 \boldsymbol{a}_1 + \cdots + x_n \boldsymbol{a}_n = \boldsymbol{b}$（$\boldsymbol{a}_j$ は $A$ の第 $j$ 列） | $\boldsymbol{b}$ を列ベクトルの一次結合で表せるか |
| 写像で読む | $f_A(\boldsymbol{x}) = \boldsymbol{b}$、$f_A(\boldsymbol{x}) = A\boldsymbol{x}$ | 線形写像 $f_A$ による $\boldsymbol{b}$ の逆像 $f_A^{-1}(\boldsymbol{b})$ を求める |

高校までの「2 直線の交点」は行の読み方ですが、理論で強力なのは後の 2 つです。列の読み方が正しいことは積の定義から確かめられます。$A\boldsymbol{x}$ の第 $i$ 成分 $\sum_j a_{ij}x_j$ は $\sum_j x_j \boldsymbol{a}_j$ の第 $i$ 成分と同じだからです。つまり

$$
A\boldsymbol{x} = x_1\boldsymbol{a}_1 + x_2\boldsymbol{a}_2 + \cdots + x_n\boldsymbol{a}_n
$$

がすべての $\boldsymbol{x}$ で成り立ちます。**行列とベクトルの積は、列ベクトルの一次結合である**。この一言は覚えておく価値があります。

[ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) で線形写像の核と像を定義しました。行列 $A \in M_{m,n}(K)$ に対しては、線形写像 $f_A : K^n \to K^m$ の核と像をそのまま $A$ の核・像と呼び、

$$
\operatorname{Ker} A = \{\boldsymbol{x} \in K^n : A\boldsymbol{x} = \boldsymbol{0}\} \subseteq K^n, \qquad
\operatorname{Im} A = \{A\boldsymbol{x} : \boldsymbol{x} \in K^n\} \subseteq K^m
$$

と書きます。どちらも部分空間です（<Ref to="mathematics/linear-algebra/vector-spaces#prop-kernel-injective" text="核と像の基本性質" /> の特別な場合です）。上で示した一次結合の表示から

$$
\operatorname{Im} A = \operatorname{span}\{\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\}
$$

すなわち像は $A$ の列ベクトルが張る部分空間（**列空間**）に一致します。この言葉で、可解性の問題は「$\boldsymbol{b} \in \operatorname{Im}A$ か」という 1 つの問いに集約されます。

<Proposition id="prop-solution-set" title="解集合の構造">
$A \in M_{m,n}(K)$、$\boldsymbol{b} \in K^m$ とし、$S = \{\boldsymbol{x} \in K^n : A\boldsymbol{x} = \boldsymbol{b}\}$ とおく。

1. $\boldsymbol{b} \notin \operatorname{Im}A$ ならば $S = \varnothing$ である。
2. $\boldsymbol{x}_0 \in S$ が 1 つ存在すれば、$S = \boldsymbol{x}_0 + \operatorname{Ker}A := \{\boldsymbol{x}_0 + \boldsymbol{z} : \boldsymbol{z} \in \operatorname{Ker}A\}$ である。
</Proposition>

<Proof of="prop-solution-set">
1. は $\operatorname{Im}A$ の定義そのものです。$S \ne \varnothing$ なら、その元 $\boldsymbol{x}$ について $\boldsymbol{b} = A\boldsymbol{x} \in \operatorname{Im}A$ となります。

2. まず $\supseteq$ を示します。$\boldsymbol{z} \in \operatorname{Ker}A$ に対し、$f_A$ の線形性から
$$
A(\boldsymbol{x}_0 + \boldsymbol{z}) = A\boldsymbol{x}_0 + A\boldsymbol{z} = \boldsymbol{b} + \boldsymbol{0} = \boldsymbol{b}
$$
なので $\boldsymbol{x}_0 + \boldsymbol{z} \in S$ です。

次に $\subseteq$ を示します。$\boldsymbol{x} \in S$ とし $\boldsymbol{z} := \boldsymbol{x} - \boldsymbol{x}_0$ とおくと、線形性から $A\boldsymbol{z} = A\boldsymbol{x} - A\boldsymbol{x}_0 = \boldsymbol{b} - \boldsymbol{b} = \boldsymbol{0}$ なので $\boldsymbol{z} \in \operatorname{Ker}A$ であり、$\boldsymbol{x} = \boldsymbol{x}_0 + \boldsymbol{z} \in \boldsymbol{x}_0 + \operatorname{Ker}A$ です。
</Proof>

<Ref to="prop-solution-set" /> は理論のほとんどを先取りしています。非斉次系の解集合は、空でない限り、斉次系の解集合（核）を特殊解 1 つ分だけ平行移動したものです。核は原点を通る部分空間、解集合はその平行移動（**アフィン部分空間**）です。

<Figure caption="解集合は核を特殊解だけ平行移動したもの">
<svg viewBox="0 0 520 320" width="100%" role="img" aria-label="原点を通る直線 Ker A と、それに平行な直線である解集合を描いた図">
  <g stroke="currentColor" stroke-width="1" opacity="0.35">
    <line x1="20" y1="270" x2="500" y2="270" />
    <line x1="70" y1="20" x2="70" y2="305" />
  </g>
  <line x1="20" y1="282.5" x2="500" y2="162.5" stroke="currentColor" stroke-width="2" />
  <line x1="20" y1="187.5" x2="500" y2="67.5" stroke="var(--sl-color-accent)" stroke-width="2.5" />
  <line x1="70" y1="270" x2="190" y2="240" stroke="currentColor" stroke-width="2.5" />
  <polygon points="190,240 179.6,247.7 177.2,238.0" fill="currentColor" />
  <line x1="130" y1="160" x2="250" y2="130" stroke="currentColor" stroke-width="2.5" />
  <polygon points="250,130 239.6,137.7 237.2,128.0" fill="currentColor" />
  <line x1="70" y1="270" x2="130" y2="160" stroke="var(--sl-color-accent)" stroke-width="2.5" />
  <polygon points="130,160 128.6,172.9 119.9,168.1" fill="var(--sl-color-accent)" />
  <circle cx="70" cy="270" r="3.5" fill="currentColor" />
  <circle cx="130" cy="160" r="3.5" fill="var(--sl-color-accent)" />
  <circle cx="250" cy="130" r="3.5" fill="var(--sl-color-accent)" />
  <text x="52" y="288" fill="currentColor" font-size="14">O</text>
  <text x="140" y="262" fill="currentColor" font-size="14">z</text>
  <text x="86" y="212" fill="var(--sl-color-accent)" font-size="14">x₀</text>
  <text x="258" y="126" fill="var(--sl-color-accent)" font-size="14">x₀ + z</text>
  <text x="330" y="196" fill="currentColor" font-size="14">Ker A（Ax = 0 の解）</text>
  <text x="330" y="86" fill="var(--sl-color-accent)" font-size="14">Ax = b の解集合</text>
</svg>
</Figure>

図の状況では $\dim\operatorname{Ker}A = 1$ なので、解は 1 次元分の自由度をもちます。核が $\{\boldsymbol{0}\}$ だけなら解は高々 1 つ、核が正の次元をもち解が 1 つでもあれば解は無限個です（$K$ が無限体のとき）。「解は 0 個・1 個・無限個のいずれか」という高校で習う事実は、核の次元の問題に還元されました。あとは核の次元を計算する手段、すなわちガウスの消去法です。

## 7. ガウスの消去法

連立方程式を解くとき、私たちは「式を何倍かして別の式に足す」「式を入れ替える」といった操作をします。これが許されるのは解集合を変えないからです。同じ操作を拡大係数行列の行への操作として定式化し、どこまで簡単にできるかを突き詰めたのが掃き出し法です。

<Definition id="def-row-operations" title="基本行変形と行同値">
行列 $A$ に対する次の 3 種類の操作を**基本行変形**という。
1. （型 I）第 $p$ 行と第 $q$ 行を入れ替える（$p \ne q$）。
2. （型 II）第 $p$ 行を $c \ne 0$ 倍する。
3. （型 III）第 $q$ 行の $c$ 倍を第 $p$ 行に加える（$p \ne q$、$c \in K$）。

$A$ に有限回の基本行変形を施して $A'$ が得られるとき、$A$ と $A'$ は**行同値**であるという。
</Definition>

<Lemma id="lem-elementary" title="基本行変形の三つの性質">
$A \in M_{m,n}(K)$ とし、$A$ に 1 回の基本行変形 $o$ を施した行列を $o(A)$ と書く。

1. $E_o := o(I_m)$（単位行列に同じ変形を施した行列。**基本行列**という）とおくと、任意の $A \in M_{m,n}(K)$ に対し $o(A) = E_o A$ が成り立つ。
2. $E_o$ は正則であり、その逆行列もまた基本行列である。したがって行同値な行列は、正則行列を左から掛けて移り合う。
3. $[A' \mid \boldsymbol{b}']$ が $[A \mid \boldsymbol{b}]$ と行同値ならば、$A\boldsymbol{x} = \boldsymbol{b}$ と $A'\boldsymbol{x} = \boldsymbol{b}'$ の解集合は一致する。
</Lemma>

<Proof of="lem-elementary">
1. 鍵になるのは次の観察です。任意の $E \in M_m(K)$、$A \in M_{m,n}(K)$ に対し、<Ref to="def-product" /> より $(EA)_{ij} = \sum_{k=1}^{m} e_{ik}a_{kj}$ なので、

$$
EA \text{ の第 } i \text{ 行} = \sum_{k=1}^{m} e_{ik}\,\bigl(A \text{ の第 } k \text{ 行}\bigr)
$$

が成り立ちます。つまり**左から行列を掛けると、各行が元の行の一次結合に置き換わり、その係数は掛ける行列の行に書かれている**わけです。あとは 3 つの型それぞれで $E_o = o(I_m)$ の行を読めば済みます。

型 I では $o(I_m)$ の第 $p$ 行が $I_m$ の第 $q$ 行（第 $q$ 成分だけが $1$）なので、$E_oA$ の第 $p$ 行は $A$ の第 $q$ 行、第 $q$ 行は $A$ の第 $p$ 行、他は不変です。型 II では第 $p$ 行が「第 $p$ 成分が $c$」なので $E_oA$ の第 $p$ 行は $A$ の第 $p$ 行の $c$ 倍。型 III では第 $p$ 行が「第 $p$ 成分が $1$、第 $q$ 成分が $c$」なので $E_oA$ の第 $p$ 行は（$A$ の第 $p$ 行）$+ c \cdot$（$A$ の第 $q$ 行）。いずれも主張どおりです。

2. 各基本行変形には、同じ型の逆変形があります。型 I の逆は同じ入れ替え、型 II（$c$ 倍）の逆は $c^{-1}$ 倍（$c \ne 0$ だから可能）、型 III（第 $q$ 行の $c$ 倍を加える）の逆は第 $q$ 行の $-c$ 倍を加える操作です。この逆変形を $o'$ とし $E_{o'} = o'(I_m)$ とおくと、1 より

$$
E_{o'}E_o = E_{o'}\,\bigl(E_o I_m\bigr) = o'\bigl(o(I_m)\bigr) = I_m
$$

です（$I_m$ に $o$ を施してから $o'$ を施すと元に戻るため）。同様に $E_oE_{o'} = I_m$ なので $E_o$ は正則で $E_o^{-1} = E_{o'}$ です。行同値なら $A' = E_{o_s}\cdots E_{o_1}A$ と書け、正則行列の積は正則（$(E_{o_s}\cdots E_{o_1})^{-1} = E_{o_1}^{-1}\cdots E_{o_s}^{-1}$）なので後半も従います。

3. 1 回の基本行変形について示せば十分です（有限回の繰り返しは帰納法）。<Ref to="def-product" /> の直後に述べた「積の第 $j$ 列は左の行列と右の行列の第 $j$ 列の積」より $E[A \mid \boldsymbol{b}] = [EA \mid E\boldsymbol{b}]$ ですから、$A' = EA$、$\boldsymbol{b}' = E\boldsymbol{b}$（$E = E_o$）です。$A\boldsymbol{x} = \boldsymbol{b}$ なら両辺に左から $E$ を掛けて $A'\boldsymbol{x} = E A\boldsymbol{x} = E\boldsymbol{b} = \boldsymbol{b}'$。逆に $A'\boldsymbol{x} = \boldsymbol{b}'$ なら、2 で示した正則性より両辺に $E^{-1}$ を掛けて $A\boldsymbol{x} = \boldsymbol{b}$。よって解集合は一致します。
</Proof>

3 が掃き出し法の正当性そのものです。どれだけ変形しても解集合は動かない。ならば読み取りやすい形まで変形してしまえばよい、というのが次の定義と定理です。

<Definition id="def-echelon" title="階段形と簡約階段形">
行列 $R$ が次の 2 条件を満たすとき**（行）階段形**であるという。
1. 零ベクトルでない行は、すべての零行より上にある。
2. 零でない各行について、左端の $0$ でない成分（その行の**主成分**、または**ピボット**という）の列番号は、行が下に進むにつれて真に増加する。

さらに次の 2 条件も満たすとき、$R$ は**簡約階段形**であるという。

3. すべてのピボットの値が $1$ である。
4. ピボットを含む列は、そのピボット以外の成分がすべて $0$ である。
</Definition>

<Theorem id="thm-elimination" title="掃き出し法">
任意の $A \in M_{m,n}(K)$ は、有限回の基本行変形により簡約階段形に変形できる。さらに、$A$ と行同値な簡約階段形はただ 1 つに定まる。
</Theorem>

<Proof of="thm-elimination">
ここでは存在を、具体的な手続き（ガウス・ジョルダンの消去法）によって示します。一意性の証明は Appendix に回します。

作業行を表す変数 $r$ を用意し、$r = 1$ から始めます。列 $j = 1, 2, \ldots, n$ の順に、次を実行します。

- $r > m$ ならば終了する。
- 第 $j$ 列の第 $r$ 行以下の成分がすべて $0$ ならば、何もせず次の列へ進む。
- そうでなければ、$a_{ij} \ne 0$ となる $i \ge r$ を 1 つ選び、第 $i$ 行と第 $r$ 行を入れ替える（型 I）。次に第 $r$ 行を $a_{rj}^{-1}$ 倍して、$(r,j)$ 成分を $1$ にする（型 II）。さらに、$i \ne r$ であるすべての行 $i$ から、第 $r$ 行の $a_{ij}$ 倍を引く（型 III）。これで第 $j$ 列は $(r,j)$ 成分だけが $1$、他は $0$ になる。$r$ を $1$ 増やして次の列へ進む。

各列を高々 1 回処理するので、高々 $n$ 段階、各段階は高々 $m+1$ 回の基本行変形で終わります。

出力が簡約階段形であることを確かめます。ピボットを立てるたびに $r$ と $j$ がともに真に増えるので、ピボットの列番号は行が下がるにつれ真に増加します（条件 2）。ここで重要なのは、第 $j$ 列でピボットを立てるとき第 $r$ 行の第 $1, \ldots, j-1$ 成分がすべて $0$ である点です（$0$ でない成分があれば、その列を処理した段階でピボットが立っていたはずです）。したがって型 III で第 $r$ 行の定数倍を他の行に加えても、整えた左側は壊れません。終了時、ピボットのある行が上に並び残りは零行なので条件 1、正規化により条件 3、掃き出しにより条件 4 が成り立ちます。
</Proof>

<Remark id="rem-uniqueness" title="一意性の証明の所在">
<Ref to="thm-elimination" /> の一意性は、この記事の Appendix で証明します。ただし次節で階数を扱うために必要なのは「ピボットの個数が変形の仕方によらない」ことだけで、これは一意性を使わずに <Ref to="thm-rank-pivot" /> で独立に示されます。
</Remark>

<Example id="ex-elimination" title="掃き出し法の実行">
次の連立一次方程式を解きます。

$$
\begin{cases}
x_1 + 2x_2 - x_3 + 3x_4 = 1 \\
2x_1 + 4x_2 - x_3 + 8x_4 = 5 \\
-x_1 - 2x_2 + 2x_3 - x_4 = 2
\end{cases}
$$

拡大係数行列は次のとおりです。

$$
[A \mid \boldsymbol{b}] = \left(\begin{array}{cccc|c}
1 & 2 & -1 & 3 & 1 \\
2 & 4 & -1 & 8 & 5 \\
-1 & -2 & 2 & -1 & 2
\end{array}\right)
$$

第 1 列のピボットは $(1,1)$ 成分の $1$ です。第 2 行から第 1 行の $2$ 倍を引き、第 3 行に第 1 行を加えます（型 III を 2 回）。

$$
\longrightarrow \left(\begin{array}{cccc|c}
1 & 2 & -1 & 3 & 1 \\
0 & 0 & 1 & 2 & 3 \\
0 & 0 & 1 & 2 & 3
\end{array}\right)
$$

第 2 列は第 2 行以下がすべて $0$ なので、ピボットを立てずに飛ばします。第 3 列に移り、$(2,3)$ 成分の $1$ をピボットとして、第 3 行から第 2 行を引き、第 1 行に第 2 行を加えます。

$$
\longrightarrow \left(\begin{array}{cccc|c}
1 & 2 & 0 & 5 & 4 \\
0 & 0 & 1 & 2 & 3 \\
0 & 0 & 0 & 0 & 0
\end{array}\right)
$$

これが簡約階段形です。ピボットは第 1 列と第 3 列にあり、その個数は $2$ です。ピボットのある列に対応する変数 $x_1, x_3$ を**従属変数**、残りの $x_2, x_4$ を**自由変数**と呼びます。<Ref to="lem-elementary" /> の 3 より、この行列が表す方程式

$$
\begin{cases} x_1 + 2x_2 + 5x_4 = 4 \\ x_3 + 2x_4 = 3 \end{cases}
$$

の解集合は元の方程式の解集合と同じです。$x_2 = s$、$x_4 = t$ とおくと $x_1 = 4 - 2s - 5t$、$x_3 = 3 - 2t$ なので

$$
\boldsymbol{x} = \begin{pmatrix} 4 \\ 0 \\ 3 \\ 0\end{pmatrix} + s\begin{pmatrix} -2 \\ 1 \\ 0 \\ 0\end{pmatrix} + t\begin{pmatrix} -5 \\ 0 \\ -2 \\ 1 \end{pmatrix} \qquad (s, t \in \mathbb{R})
$$

が解の全体です。検算します。$\boldsymbol{x}_0 = (4,0,3,0)^{\mathsf{T}}$ は元の 3 式に代入して $4 - 3 = 1$、$8 - 3 = 5$、$-4 + 6 = 2$。$\boldsymbol{z}_1 = (-2,1,0,0)^{\mathsf{T}}$ は $-2+2 = 0$、$-4+4 = 0$、$2-2 = 0$、$\boldsymbol{z}_2 = (-5,0,-2,1)^{\mathsf{T}}$ は $-5+2+3 = 0$、$-10+2+8 = 0$、$5-4-1 = 0$ でともに核に属します。

<Ref to="prop-solution-set" /> の言葉でいえば、$\boldsymbol{x}_0$ が特殊解、$\{s\boldsymbol{z}_1 + t\boldsymbol{z}_2\}$ が核で、解集合は $\mathbb{R}^4$ 内の 2 次元アフィン部分空間です。自由変数の個数 $2$ が核の次元、ピボットの個数 $2$ が次節で定義する階数になります。
</Example>

## 8. 階数と解の構造

前節の例では、ピボットの個数 $2$、自由変数の個数 $2$、そして $2 + 2 = 4 = n$ という関係が現れました。これが偶然でないことを示すのが本節の目標です。まず、計算手続きに依存しない形で階数を定義します。

<Definition id="def-rank" title="階数">
$A \in M_{m,n}(K)$ に対し、$A$ の**階数**を像の次元
$$
\operatorname{rank} A := \dim \operatorname{Im} A = \dim \operatorname{span}\{\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\}
$$
で定める（$\boldsymbol{a}_j$ は $A$ の第 $j$ 列）。また、$A$ の $m$ 個の行ベクトルが張る $K^n$ の部分空間を**行空間**といい $\operatorname{Row}A$ と書く。
</Definition>

なぜピボットの個数ではなく像の次元を定義に採るのか。計算手続きを参照しない定義であり、かつ幾何的な意味が明快だからです。$f_A$ は $K^n$ を $K^m$ 内の $\operatorname{rank}A$ 次元の部分空間へ写します。階数が小さいほど写像は空間を強く潰しており、$\operatorname{rank}A$ は $f_A$ を通り抜けて残る情報の次元だと言えます。以下、$K^m$ の標準基底を $\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_m$ と書きます。

<Theorem id="thm-rank-pivot" title="階数はピボットの個数であり、行階数に等しい">
$A \in M_{m,n}(K)$ とし、$R$ を $A$ と行同値な簡約階段形の 1 つ、そのピボットの個数を $r$ とする。このとき
$$
\operatorname{rank} A = r = \dim \operatorname{Row} A
$$
が成り立つ。特に $r$ は変形の仕方によらず、また列ベクトルの張る空間の次元（列階数）と行ベクトルの張る空間の次元（行階数）は一致する。
</Theorem>

<Proof of="thm-rank-pivot">
<Ref to="lem-elementary" /> の 2 より、正則行列 $P \in M_m(K)$ が存在して $R = PA$ と書けます。

**第 1 段（$R$ の階数）**。$R$ のピボットの位置を $(1, j_1), (2, j_2), \ldots, (r, j_r)$（$j_1 < j_2 < \cdots < j_r$）とします。<Ref to="def-echelon" /> の条件 3, 4 より、$R$ の第 $j_t$ 列はちょうど $\boldsymbol{\varepsilon}_t$ です。また第 $r+1$ 行以下は零行なので、$R$ のどの列も第 $r+1$ 成分以下が $0$ であり、$\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_r$ の一次結合として書けます。よって $\operatorname{Im}R = \operatorname{span}\{\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_r\}$ であり、$\boldsymbol{\varepsilon}_1,\ldots,\boldsymbol{\varepsilon}_r$ は一次独立ですから $\operatorname{rank}R = r$ です。

**第 2 段（正則行列を掛けても階数は変わらない）**。$\operatorname{Im}(PA) = \{PA\boldsymbol{x} : \boldsymbol{x} \in K^n\} = P\bigl(\operatorname{Im}A\bigr)$ です。写像 $\boldsymbol{y} \mapsto P\boldsymbol{y}$ は $\boldsymbol{y}\mapsto P^{-1}\boldsymbol{y}$ を逆写像にもつ線形同型です。同型は部分空間の次元を保ちます。実際、$(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_k)$ を $\operatorname{Im}A$ の基底とすると、$P\boldsymbol{v}_1, \ldots, P\boldsymbol{v}_k$ は $P(\operatorname{Im}A)$ を張り（$P(\sum c_t\boldsymbol{v}_t) = \sum c_t P\boldsymbol{v}_t$ による）、かつ一次独立です（$\sum_t c_t P\boldsymbol{v}_t = \boldsymbol{0}$ なら $P(\sum_t c_t \boldsymbol{v}_t) = \boldsymbol{0}$、$P$ は単射だから $\sum_t c_t\boldsymbol{v}_t = \boldsymbol{0}$、基底の一次独立性から $c_t = 0$）。よって $\operatorname{rank}A = \operatorname{rank}(PA) = \operatorname{rank}R = r$ です。$r$ が変形の仕方によらないのは、$\operatorname{rank}A$ が $A$ だけで決まる量だからです。

**第 3 段（行空間）**。<Ref to="lem-elementary" /> の 1 より $EA$ の各行は $A$ の行の一次結合なので $\operatorname{Row}(EA) \subseteq \operatorname{Row}(A)$ です。$E$ は正則で $A = E^{-1}(EA)$ ですから、同じ議論を $E^{-1}$ に適用して $\operatorname{Row}(A) \subseteq \operatorname{Row}(EA)$、すなわち等号が成り立ちます。これを繰り返して $\operatorname{Row}A = \operatorname{Row}R$ を得ます。

$R$ の零でない行を $\boldsymbol{\rho}_1, \ldots, \boldsymbol{\rho}_r$ とすると、零行は和に寄与しないのでこれらは $\operatorname{Row}R$ を張ります。一次独立性を見ます。$\sum_{t=1}^{r} c_t \boldsymbol{\rho}_t = \boldsymbol{0}$ とし、この等式の第 $j_u$ 成分（$u$ は $1$ から $r$ のいずれか）を取ると、第 1 段で見たように $R$ の第 $j_u$ 列は $\boldsymbol{\varepsilon}_u$ なので $\boldsymbol{\rho}_t$ の第 $j_u$ 成分は $t = u$ のとき $1$、それ以外は $0$ です。したがって第 $j_u$ 成分は $c_u$ に等しく、$c_u = 0$ が全ての $u$ で従います。ゆえに $\dim\operatorname{Row}A = \dim\operatorname{Row}R = r$ です。
</Proof>

行階数と列階数の一致は、よく考えると不思議な主張です。$A$ の列は $K^m$ の、行は $K^n$ のベクトルで、住む空間が違います。それでも張る空間の次元だけは必ず一致する。両者を結んでいるのは「簡約階段形のピボットの個数」という共通の中継点です。

<Theorem id="thm-rank-nullity" title="次元定理">
$A \in M_{m,n}(K)$ に対し
$$
\dim \operatorname{Ker} A + \operatorname{rank} A = n
$$
が成り立つ。
</Theorem>

<Proof of="thm-rank-nullity">
$R$ を $A$ と行同値な簡約階段形とし、ピボットの列番号を $j_1 < \cdots < j_r$、それ以外の列番号の集合（自由変数の添字集合）を $F$ とします。$|F| = n - r$ です。<Ref to="thm-rank-pivot" /> より $\operatorname{rank}A = r$ なので、$\dim\operatorname{Ker}A = n - r$ を示せば十分です。

まず $\operatorname{Ker}A = \operatorname{Ker}R$ です。これは <Ref to="lem-elementary" /> の 3 を $\boldsymbol{b} = \boldsymbol{0}$ に適用すれば従います（基本行変形で $\boldsymbol{0}$ は $\boldsymbol{0}$ のままです）。

次に、射影 $\pi : K^n \to K^{n-r}$、$\pi(\boldsymbol{x}) = (x_k)_{k \in F}$（自由変数の成分だけを取り出す写像）の $\operatorname{Ker}R$ への制限を考えます。$\pi$ は線形写像の制限なので線形です。これが同型であることを示します。

$R$ の第 $t$ 行（$1 \le t \le r$）が定める方程式は、<Ref to="def-echelon" /> の条件 3, 4 より

$$
x_{j_t} + \sum_{k \in F,\; k > j_t} r_{tk}\,x_k = 0
$$

の形をしています（$j_t$ より左の成分は階段形の条件から $0$、他のピボット列の成分は条件 4 から $0$）。第 $r+1$ 行以下は零行なので何の条件も課しません。

単射性: $\boldsymbol{x} \in \operatorname{Ker}R$ が $\pi(\boldsymbol{x}) = \boldsymbol{0}$、すなわちすべての自由変数の成分が $0$ を満たすとすると、上の式から $x_{j_t} = 0$ がすべての $t$ について従い、$\boldsymbol{x} = \boldsymbol{0}$ です。

全射性: $(c_k)_{k\in F} \in K^{n-r}$ を任意に取り、$\boldsymbol{x}$ を「$k \in F$ に対し $x_k = c_k$、$x_{j_t} = -\sum_{k \in F, k > j_t} r_{tk}c_k$」で定めると、$R$ のすべての行の方程式が満たされるので $\boldsymbol{x} \in \operatorname{Ker}R$ であり、$\pi(\boldsymbol{x}) = (c_k)_{k\in F}$ です。

よって $\operatorname{Ker}A = \operatorname{Ker}R \cong K^{n-r}$ で、$\dim\operatorname{Ker}A = n - r$ です。
</Proof>

次元定理は「潰れた分 + 残った分 = 元の次元」と読めます（抽象的なベクトル空間についての <Ref to="mathematics/linear-algebra/vector-spaces#thm-rank-nullity" text="次元定理" /> を、行列の言葉で述べ直したものです）。$f_A$ は $K^n$ の $\dim\operatorname{Ker}A$ 次元分を原点へ潰し、残りを像に忠実に写します。<Ref to="ex-elimination" /> では $n = 4$、$r = 2$、自由変数 2 個で $2 + 2 = 4$ でした。

<Theorem id="thm-solvability" title="可解条件と解の個数">
$A \in M_{m,n}(K)$、$\boldsymbol{b} \in K^m$ とする。

1. $A\boldsymbol{x} = \boldsymbol{b}$ が解をもつことと $\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}]$ は同値である。解をもたないときは $\operatorname{rank}[A\mid\boldsymbol{b}] = \operatorname{rank}A + 1$ である。
2. 解をもつとき、解集合は $n - \operatorname{rank}A$ 次元のアフィン部分空間 $\boldsymbol{x}_0 + \operatorname{Ker}A$ である。特に解がただ 1 つであることと $\operatorname{rank}A = n$ は同値である。
3. すべての $\boldsymbol{b} \in K^m$ に対して解をもつことと $\operatorname{rank}A = m$ は同値である。
</Theorem>

<Proof of="thm-solvability">
1. $A\boldsymbol{x} = \boldsymbol{b}$ が解をもつことは、定義から $\boldsymbol{b} \in \operatorname{Im}A$ と同値です。一方 $[A\mid\boldsymbol{b}]$ の列は $\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n, \boldsymbol{b}$ なので、<Ref to="def-rank" /> より $\operatorname{Im}[A\mid\boldsymbol{b}] = \operatorname{span}\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n,\boldsymbol{b}\}$、すなわち $\operatorname{Im}A$ に $\boldsymbol{b}$ を付け加えて張った空間です。

$\boldsymbol{b} \in \operatorname{Im}A$ の場合、$\boldsymbol{b}$ を付け加えても張る空間は増えないので $\operatorname{Im}[A\mid\boldsymbol{b}] = \operatorname{Im}A$、両者の次元は等しくなります。

$\boldsymbol{b} \notin \operatorname{Im}A$ の場合、$\operatorname{Im}A$ の基底 $(\boldsymbol{v}_1,\ldots,\boldsymbol{v}_s)$（$s = \operatorname{rank}A$）に $\boldsymbol{b}$ を加えた組は一次独立です。実際 $c\boldsymbol{b} + \sum_t c_t\boldsymbol{v}_t = \boldsymbol{0}$ で $c \ne 0$ なら $\boldsymbol{b} = -c^{-1}\sum_t c_t \boldsymbol{v}_t \in \operatorname{Im}A$ となって仮定に反するので $c = 0$、すると基底の一次独立性から $c_t = 0$ です。この $s+1$ 個のベクトルは $\operatorname{Im}[A\mid\boldsymbol{b}]$ を張るので、$\operatorname{rank}[A\mid\boldsymbol{b}] = s + 1 = \operatorname{rank}A + 1$ です。

以上より、解をもつ場合と階数が一致する場合が過不足なく対応します。

2. 前半は <Ref to="prop-solution-set" /> の 2 と <Ref to="thm-rank-nullity" /> から従います。解がただ 1 つであることは $\operatorname{Ker}A = \{\boldsymbol{0}\}$、すなわち $\dim\operatorname{Ker}A = 0$ と同値で、<Ref to="thm-rank-nullity" /> よりこれは $\operatorname{rank}A = n$ と同値です。

3. すべての $\boldsymbol{b}$ に対して解をもつことは $\operatorname{Im}A = K^m$ と同値です。$\operatorname{Im}A \subseteq K^m$ なので、これは $\dim\operatorname{Im}A = m$ と同値です。実際、次元が等しい部分空間は全体と一致します（$\operatorname{Im}A$ の基底は $K^m$ の一次独立な $m$ 個の組であり、$m$ 次元空間ではそれ自体が基底になるからです）。
</Proof>

<Ref to="thm-solvability" /> の内容を表にまとめておきます。実際の判定は、拡大係数行列を 1 回だけ簡約階段形に直せば、$\operatorname{rank}A$ と $\operatorname{rank}[A\mid\boldsymbol{b}]$ が同時に読み取れるので済みます。

| 階数の比較 | 解の様子 |
|---|---|
| $\operatorname{rank}A < \operatorname{rank}[A \mid \boldsymbol{b}]$ | 解なし（不能） |
| $\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}] = n$ | 解がただ 1 つ |
| $\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}] < n$ | 解は $n - \operatorname{rank}A$ 次元の自由度をもつ |

<Example id="ex-inconsistent" title="解をもたない例">
<Ref to="ex-elimination" /> と同じ係数行列 $A$ に対し、右辺だけを $\boldsymbol{b}' = (1, 5, 3)^{\mathsf{T}}$ に変えます。同じ手順で消去すると

$$
\left(\begin{array}{cccc|c}
1 & 2 & -1 & 3 & 1 \\
2 & 4 & -1 & 8 & 5 \\
-1 & -2 & 2 & -1 & 3
\end{array}\right)
\longrightarrow
\left(\begin{array}{cccc|c}
1 & 2 & -1 & 3 & 1 \\
0 & 0 & 1 & 2 & 3 \\
0 & 0 & 1 & 2 & 4
\end{array}\right)
\longrightarrow
\left(\begin{array}{cccc|c}
1 & 2 & -1 & 3 & 1 \\
0 & 0 & 1 & 2 & 3 \\
0 & 0 & 0 & 0 & 1
\end{array}\right)
$$

となります。最後の行は $0 = 1$ という式で、これを満たす $\boldsymbol{x}$ はありません。階数で見ると、$A$ の側のピボットは 2 個で $\operatorname{rank}A = 2$、拡大係数行列のピボットは第 1・第 3・第 5 列の 3 個で $\operatorname{rank}[A\mid\boldsymbol{b}'] = 3$ です。<Ref to="thm-solvability" /> の 1 のとおり階数が食い違い、解はありません。

幾何的には、$\boldsymbol{b}'$ が列空間 $\operatorname{Im}A$（$\mathbb{R}^3$ 内の 2 次元平面）から外れているということです。$\boldsymbol{b} = (1,5,2)^{\mathsf{T}}$ はこの平面上にあり、$\boldsymbol{b}' = (1,5,3)^{\mathsf{T}}$ はわずかに外れている。解けるかどうかは、右辺が平面に載っているかだけで決まります。
</Example>

<Remark id="rem-underdetermined" title="未知数が式より多いとき">
$n > m$ ならば、斉次系 $A\boldsymbol{x} = \boldsymbol{0}$ は必ず自明でない解をもちます。実際 $\operatorname{Im}A \subseteq K^m$ より $\operatorname{rank}A \le m$ なので、<Ref to="thm-rank-nullity" /> から
$$
\dim\operatorname{Ker}A = n - \operatorname{rank}A \ge n - m > 0
$$
となり、核は $\{\boldsymbol{0}\}$ より大きいからです。「式の本数より未知数が多ければ解は決まらない」という直観が、次元の不等式として正確に述べられました。
</Remark>

<Remark id="rem-numerics" title="数値計算での注意">
理論上は $0$ でないピボットならどれを選んでも構いませんが、浮動小数点数で計算する場合は選び方が結果を左右します。たとえば
$$
\begin{pmatrix} 10^{-20} & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} x_1 \\ x_2\end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}
$$
で $(1,1)$ 成分をピボットに選ぶと、第 2 行から第 1 行の $10^{20}$ 倍を引くことになり、$1 - 10^{20}$ や $2 - 10^{20}$ を倍精度で計算した時点で下位の情報が失われ、答えが大きく狂います。行を入れ替えて絶対値最大の成分をピボットに選べば（**部分ピボット選択**）避けられます。実用の実装はこの工夫を組み込んだ LU 分解で、$n$ 次正方行列の演算量はおよそ $\frac{2}{3}n^3$ 回の乗除算です（Golub–Van Loan）。
</Remark>

<Remark id="rem-data-science" title="データサイエンスとのつながり">
実データの解析では、式の本数が未知数より多い**過剰決定系**（$m > n$）がほとんどです。$\boldsymbol{b}$ が列空間に載る保証はなく、<Ref to="thm-solvability" /> の意味では通常「解なし」です。そこで残差 $\lVert A\boldsymbol{x} - \boldsymbol{b}\rVert$ を最小にする $\boldsymbol{x}$ を探すのが最小二乗法で、これは $\boldsymbol{b}$ を列空間へ正射影する操作です。長さと直交性が要るので、舞台は [内積空間とグラム・シュミット直交化](/mathematics/linear-algebra/inner-product-spaces) に移ります（<Ref to="mathematics/linear-algebra/inner-product-spaces#ex-least-squares" text="最小二乗法 — 直線あてはめ" />）。

$N$ 個のサンプルを行に並べ、各特徴量の平均を引いたデータ行列 $X \in M_{N,d}(\mathbb{R})$ では、$\operatorname{rank}X$ がデータの実質的な広がりの次元です。主成分分析は共分散行列 $\frac{1}{N}X^{\mathsf{T}}X$ を対角化する正規直交基底を選ぶ手続きで、<Ref to="ex-projection" /> の「写像に合った基底では行列が対角になる」がそのまま応用として現れます。裏づけは [固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) と [スペクトル定理](/mathematics/linear-algebra/spectral-theorem)（対称行列が正規直交基底で対角化できることは <Ref to="mathematics/linear-algebra/spectral-theorem#cor-real-symmetric" text="実対称行列の直交対角化" /> が保証します）、正則性を 1 つの数で判定する道具は次章の [行列式とその性質](/mathematics/linear-algebra/determinants) の <Ref to="mathematics/linear-algebra/determinants#thm-regular" text="正則性の判定" /> にあります。
</Remark>

## 9. 演習

<Exercise id="exr-shift" difficulty="易">
$P_2$ を次数 $2$ 以下の実係数多項式全体、$\mathcal{B} = (1, x, x^2)$ をその基底とする。線形写像 $T : P_2 \to P_2$ を $(Tp)(x) = p(x+1)$ で定める。

1. $T$ の $\mathcal{B}$ に関する表現行列 $A = M_{\mathcal{B}\mathcal{B}}(T)$ を求めよ。
2. $A^2$ を計算し、それが $(T^2 p)(x) = p(x+2)$ の表現行列に一致することを確かめよ。

<Solution>
1. <Ref to="def-representation-matrix" /> に従い、基底の行き先を $\mathcal{B}$ で展開します。
$$
T(1) = 1, \qquad T(x) = x + 1 = 1 + x, \qquad T(x^2) = (x+1)^2 = 1 + 2x + x^2 .
$$
係数を列に並べて
$$
A = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}.
$$

2. <Ref to="def-product" /> に従って計算します。第 1 行は $(1,1,1)$ と各列の積で $(1,\; 1+1,\; 1+2+1) = (1,2,4)$、第 2 行は $(0,1,2)$ と各列の積で $(0,\; 1,\; 2 + 2) = (0,1,4)$、第 3 行は $(0,0,1)$ と各列の積で $(0,0,1)$ です。よって
$$
A^2 = \begin{pmatrix} 1 & 2 & 4 \\ 0 & 1 & 4 \\ 0 & 0 & 1\end{pmatrix}.
$$
一方 $T^2 = T \circ T$ は $(T^2p)(x) = (Tp)(x+1) = p(x+2)$ なので、基底の行き先は $1 \mapsto 1$、$x \mapsto x + 2$、$x^2 \mapsto (x+2)^2 = 4 + 4x + x^2$ です。これを列に並べると上の $A^2$ に一致します。<Ref to="thm-product-composition" /> の主張どおりです。
</Solution>
</Exercise>

<Exercise id="exr-change-basis" difficulty="標準">
$\mathbb{R}^2$ の線形変換 $f$ が
$$
f\begin{pmatrix} 1 \\ 1\end{pmatrix} = \begin{pmatrix} 3 \\ 1 \end{pmatrix}, \qquad
f\begin{pmatrix} 1 \\ -1\end{pmatrix} = \begin{pmatrix} 1 \\ 3 \end{pmatrix}
$$
を満たすとする。$\boldsymbol{p}_1 = (1,1)^{\mathsf{T}}$、$\boldsymbol{p}_2 = (1,-1)^{\mathsf{T}}$、$\mathcal{B}' = (\boldsymbol{p}_1, \boldsymbol{p}_2)$、$\mathcal{E}$ を標準基底とする。

1. $A' = M_{\mathcal{B}'\mathcal{B}'}(f)$ を求めよ。
2. $A = M_{\mathcal{E}\mathcal{E}}(f)$ を求め、$A' = P^{-1}AP$（$P$ は $\mathcal{B}'$ から $\mathcal{E}$ への基底変換行列）が成り立つことを確かめよ。

<Solution>
$\boldsymbol{p}_1, \boldsymbol{p}_2$ は一次独立（一方が他方のスカラー倍でない）なので $\mathcal{B}'$ は基底であり、<Ref to="prop-coordinate" /> の 2 より与えられた 2 条件で $f$ は一意に定まります。

1. 行き先を $\mathcal{B}'$ で展開します。$(3,1)^{\mathsf{T}} = a\boldsymbol{p}_1 + b\boldsymbol{p}_2$ とすると $a + b = 3$、$a - b = 1$ より $a = 2$、$b = 1$。$(1,3)^{\mathsf{T}} = a\boldsymbol{p}_1 + b\boldsymbol{p}_2$ とすると $a+b = 1$、$a - b = 3$ より $a = 2$、$b = -1$。よって
$$
A' = \begin{pmatrix} 2 & 2 \\ 1 & -1 \end{pmatrix}.
$$

2. $\boldsymbol{e}_1 = \frac{1}{2}(\boldsymbol{p}_1 + \boldsymbol{p}_2)$、$\boldsymbol{e}_2 = \frac{1}{2}(\boldsymbol{p}_1 - \boldsymbol{p}_2)$ なので、線形性から
$$
f(\boldsymbol{e}_1) = \tfrac{1}{2}\bigl((3,1)^{\mathsf{T}} + (1,3)^{\mathsf{T}}\bigr) = (2,2)^{\mathsf{T}}, \qquad
f(\boldsymbol{e}_2) = \tfrac{1}{2}\bigl((3,1)^{\mathsf{T}} - (1,3)^{\mathsf{T}}\bigr) = (1,-1)^{\mathsf{T}} .
$$
よって $A = \begin{pmatrix} 2 & 1 \\ 2 & -1\end{pmatrix}$ です。

基底変換行列は $\boldsymbol{p}_1, \boldsymbol{p}_2$ の標準座標を列に並べた $P = \begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}$ で、$P^2 = 2I_2$ より $P^{-1} = \frac{1}{2}P$ です。実際に計算すると
$$
AP = \begin{pmatrix} 2 & 1 \\ 2 & -1\end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix} = \begin{pmatrix} 3 & 1 \\ 1 & 3\end{pmatrix}, \qquad
P^{-1}(AP) = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}\begin{pmatrix} 3 & 1 \\ 1 & 3\end{pmatrix} = \frac{1}{2}\begin{pmatrix} 4 & 4 \\ 2 & -2\end{pmatrix} = \begin{pmatrix} 2 & 2 \\ 1 & -1\end{pmatrix}
$$
となり、1 で求めた $A'$ に一致します。<Ref to="thm-change-of-basis" /> の確認になっています。
</Solution>
</Exercise>

<Exercise id="exr-parameter" difficulty="標準">
実数の定数 $a, c$ を含む連立一次方程式
$$
\begin{cases}
x + y + z = 1 \\
x + 2y + 3z = 2 \\
x + 3y + az = c
\end{cases}
$$
について、係数行列 $A$ と拡大係数行列の階数を $a, c$ で場合分けして求め、解の個数を分類せよ。解が存在する場合は解を具体的に書け。

<Solution>
拡大係数行列に基本行変形を施します。第 2 行から第 1 行を引き、第 3 行から第 1 行を引きます。

$$
\left(\begin{array}{ccc|c} 1&1&1&1 \\ 1&2&3&2 \\ 1&3&a&c\end{array}\right)
\longrightarrow
\left(\begin{array}{ccc|c} 1&1&1&1 \\ 0&1&2&1 \\ 0&2&a-1&c-1\end{array}\right)
\longrightarrow
\left(\begin{array}{ccc|c} 1&1&1&1 \\ 0&1&2&1 \\ 0&0&a-5&c-3\end{array}\right)
$$

最後は第 3 行から第 2 行の $2$ 倍を引きました。<Ref to="lem-elementary" /> の 3 より、解集合は変わっていません。

**(i) $a \ne 5$ のとき。** 第 3 行のピボットが $(3,3)$ に立つので $\operatorname{rank}A = \operatorname{rank}[A\mid\boldsymbol{b}] = 3 = n$ となり、<Ref to="thm-solvability" /> の 2 より解はただ 1 つです。下から順に解くと $z = \dfrac{c-3}{a-5}$、$y = 1 - 2z$、$x = 1 - y - z = z$ なので
$$
(x, y, z) = \left(\frac{c-3}{a-5},\; 1 - \frac{2(c-3)}{a-5},\; \frac{c-3}{a-5}\right).
$$
たとえば $a = 6, c = 4$ なら $(1, -1, 1)$ で、実際 $1 - 1 + 1 = 1$、$1 - 2 + 3 = 2$、$1 - 3 + 6 = 4$ と 3 式すべてを満たします。

**(ii) $a = 5$、$c \ne 3$ のとき。** 第 3 行は $(0, 0, 0 \mid c - 3)$ で $c - 3 \ne 0$ ですから、$\operatorname{rank}A = 2$、$\operatorname{rank}[A\mid\boldsymbol{b}] = 3$ です。<Ref to="thm-solvability" /> の 1 より解は存在しません。

**(iii) $a = 5$、$c = 3$ のとき。** 第 3 行は零行なので $\operatorname{rank}A = \operatorname{rank}[A\mid\boldsymbol{b}] = 2 < 3 = n$ で、解は $3 - 2 = 1$ 次元の自由度をもちます。$z = t$ を自由変数として $y = 1 - 2t$、$x = 1 - y - z = t$ なので
$$
(x,y,z) = (0,1,0) + t\,(1,-2,1) \qquad (t \in \mathbb{R}).
$$
第 3 式で確かめると $x + 3y + 5z = t + 3 - 6t + 5t = 3 = c$ となり成立します。$(0,1,0)$ が特殊解、$\operatorname{span}\{(1,-2,1)^{\mathsf{T}}\}$ が核で、<Ref to="prop-solution-set" /> の形になっています。
</Solution>
</Exercise>

<Exercise id="exr-rank-product" difficulty="難">
$A \in M_{m,n}(K)$、$B \in M_{n,p}(K)$ とする。
$$
\operatorname{rank}(AB) \le \min\{\operatorname{rank}A,\; \operatorname{rank}B\}
$$
を示せ。また、等号が成り立たない例を挙げよ。

<Solution>
**$\operatorname{rank}(AB) \le \operatorname{rank}A$**。任意の $\boldsymbol{x} \in K^p$ に対し $(AB)\boldsymbol{x} = A(B\boldsymbol{x})$ です（<Ref to="cor-associativity" /> の結合法則、あるいは $B\boldsymbol{x}$ を 1 列の行列と見て積の定義から）。よって $\operatorname{Im}(AB) \subseteq \operatorname{Im}A$ であり、部分空間の包含は次元の不等号を与えるので $\operatorname{rank}(AB) \le \operatorname{rank}A$ です。

**$\operatorname{rank}(AB) \le \operatorname{rank}B$**。$B\boldsymbol{x} = \boldsymbol{0}$ ならば $(AB)\boldsymbol{x} = A\boldsymbol{0} = \boldsymbol{0}$ なので $\operatorname{Ker}B \subseteq \operatorname{Ker}(AB)$、したがって $\dim\operatorname{Ker}B \le \dim\operatorname{Ker}(AB)$ です。$AB \in M_{m,p}(K)$ と $B \in M_{n,p}(K)$ はともに列数が $p$ なので、<Ref to="thm-rank-nullity" /> を両方に適用して
$$
\operatorname{rank}(AB) = p - \dim\operatorname{Ker}(AB) \le p - \dim\operatorname{Ker}B = \operatorname{rank}B .
$$

**等号が成り立たない例**。$A = \begin{pmatrix} 0 & 1 \\ 0 & 0\end{pmatrix}$、$B = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$ とすると $\operatorname{rank}A = \operatorname{rank}B = 1$（列空間はともに $\operatorname{span}\{(1,0)^{\mathsf{T}}\}$）ですが、$AB = O$ なので $\operatorname{rank}(AB) = 0$ です。$B$ の像が $A$ の核に含まれているため、2 段目でつぶれるわけです。
</Solution>
</Exercise>

## 参考文献

- 齋藤正彦『線型代数入門』東京大学出版会、1966 — 第 1 章・第 2 章。連立一次方程式と行列の基本変形を、日本語の標準的な流儀で丁寧に扱っています。
- 佐武一郎『線型代数学』裳華房、1958（新装版 2015）— 第 I 章・第 II 章。行列を線形写像の表現として扱う立場が明確です。
- S. Axler, *Linear Algebra Done Right*, 4th ed., Springer, 2024 — Chapter 3 (Linear Maps). 行列式を使わずに線形写像から出発する構成で、表現行列と次元定理の位置づけが明快です。オープンアクセス版が [linear.axler.net](https://linear.axler.net/) で公開されています。
- G. Strang, *Introduction to Linear Algebra*, 5th ed., Wellesley-Cambridge Press, 2016 — 第 2 章・第 3 章。「列で読む」立場と四つの基本部分空間の説明が充実しています。講義は [MIT OpenCourseWare 18.06](https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/) で公開されています。
- G. H. Golub and C. F. Van Loan, *Matrix Computations*, 4th ed., Johns Hopkins University Press, 2013 — Chapter 3 (General Linear Systems). ピボット選択と数値的安定性、演算量の議論はここに詳しくあります。
- A. Cayley, "A Memoir on the Theory of Matrices", *Philosophical Transactions of the Royal Society of London* 148 (1858), 17–37. 行列の積を一次変換の合成として定めた原論文です。

## Appendix: 簡約階段形の一意性

<Ref to="thm-elimination" /> のうち、まだ証明していない一意性を示します。主張は **$A \in M_{m,n}(K)$ と行同値な簡約階段形はただ 1 つである** というものです。消去の途中でどの行を選び、どの順に掃き出すかには任意性がありますが、最終形は $A$ だけで決まります。

**方針。** $R, R'$ をともに $A$ と行同値な簡約階段形とします。<Ref to="lem-elementary" /> の 3（$\boldsymbol{b} = \boldsymbol{0}$ の場合）より $\operatorname{Ker}R = \operatorname{Ker}A = \operatorname{Ker}R'$ です。そこで **簡約階段形の行列はその核だけから復元できる** ことを示せば、$R = R'$ が従います。以下 $N = \operatorname{Ker}R$ と書き、$R$ のピボット列を $j_1 < \cdots < j_r$、自由変数の添字集合を $F$ とします。

**第 1 段: ピボット列の位置は核から決まる。** 第 $j$ 列がピボット列でないことは、「$z_j = 1$ かつ第 $j+1$ 成分以降がすべて $0$ である $\boldsymbol{z} \in N$ が存在すること」と同値です。

実際、$j \in F$ なら、<Ref to="thm-rank-nullity" /> の証明の全射性の構成で「$x_j = 1$、他の自由変数は $0$」と指定して得られる $\boldsymbol{z} \in N$ がこの条件を満たします。$j$ より右の成分は、自由変数なら $0$ と指定され、ピボット変数 $x_{j_t}$（$j_t > j$）についてはその行の式 $x_{j_t} + \sum_{k \in F,\, k > j_t} r_{tk}x_k = 0$ の右側の自由変数がすべて $0$ だから $x_{j_t} = 0$ となるためです。逆にそのような $\boldsymbol{z}$ があって第 $j$ 列がピボット列（ピボットは第 $t$ 行）だとすると、$R\boldsymbol{z} = \boldsymbol{0}$ の第 $t$ 行は $z_j + \sum_{k > j} r_{tk}z_k = 0$ ですが、$z_j = 1$ かつ $k > j$ で $z_k = 0$ なので $1 = 0$ となり矛盾です。この条件は $N$ だけで書かれているので、$\operatorname{Ker}R = \operatorname{Ker}R'$ ならピボット列の位置は完全に一致します。

**第 2 段: 成分も核から決まる。** ピボット列が一致したとします。<Ref to="def-echelon" /> の条件 3, 4 より $R$ の第 $j_t$ 列は $\boldsymbol{\varepsilon}_t$ で、$R'$ でも同じです。残るのは自由変数の列です。

$j \in F$ とし、$\boldsymbol{z} \in N$ を「$z_j = 1$、他の自由変数の成分はすべて $0$」を満たすものとします。これは $N$ の中でただ 1 つです。2 つあればその差は $N$ に属して自由変数の成分がすべて $0$ ですから、<Ref to="thm-rank-nullity" /> の証明の単射性により差は $\boldsymbol{0}$ だからです。つまり $\boldsymbol{z}$ は $N$ と $j$ だけで決まります。一方 $R\boldsymbol{z} = \boldsymbol{0}$ の第 $t$ 行は、他の自由変数の成分が $0$、他のピボット列の成分が条件 4 により $0$ なので $z_{j_t} + r_{tj}z_j = 0$、すなわち $r_{tj} = -z_{j_t}$ です。第 $r+1$ 成分以下は零行なので $0$。$R'$ にも同じ式が成り立ち $\boldsymbol{z}$ は共通ですから、第 $j$ 列は一致します。

以上でピボット列も自由変数の列も一致し、$R = R'$ が示されました。この一意性により、簡約階段形は行列の標準形として意味をもちます。2 つの行列が行同値であることと簡約階段形が一致することは同値です。なお簡約でない階段形は一意ではなく（第 2 行を $2$ 倍しても階段形のまま）、一意性には条件 3 と 4 の正規化が要ります。
