これは何?
書籍『図解線形代数:ストラング流直感的理解』から、トピックを紹介する短い記事です。その中から、線形代数を縦断した見取り図である「4つの部分空間」(The Four Subspaces)について解説しましょう。
$n$ 変数 $m$ 式からなる実数係数の連立一次方程式を行列表現すると、
$$
A \bx = \bb
$$
と書けますが、実数成分の $m \times n$ 行列 $A$ を決めると、$\bR^n$ ( $\bx$ が存在する)と $\bR^m$ ( $\bb$ が存在する)はそれぞれ、二つの部分空間に自然に直和分解されます。これを使って、連立一次方程式 $A\bx = \bb$ の解の有無、自由度、最小ノルム解、最小誤差解などを図的に理解することができます。さらに、$A = QR$ 分解や $A = U\Sigma V\transp$ (SVD:特異値分解)、擬似逆行列 $A^+$もここに書き込むことができるのです(これらは後ほど)。

これは、Wikipedia にも『線形代数学の基本定理 』として紹介されています。Strang 先生のアイディアとして教育上の功績が大きいと思います。
また、この絵を地図として知っておくと、線形代数のさまざまな定理をこの地図に書き込むことができ、理解をしっかりしたものにできます。では、解説していきましょう。
それぞれの空間の名前と意味
$r$ を $A$ のランク $r = \rank A$ として、
| 名前 | 定義 | 記号 | 属する空間 | 次元 |
| 列空間 (Column Space) | $A$ の列ベクトル の張る空間 | $\bCSpace(A)$ | $\bR^m$(出力側) | $r$ |
| 行空間 (Row Space) | $A$ の行ベクトル の張る空間 | $\bCSpace(A\transp)$ | $\bR^n$(入力側) | $r$ |
| 零空間 (Null Space) | $A\bx=\bzero$ となる $\bx$ 全体 | $\bNSpace(A)$ | $\bR^n$(入力側) | $n – r$ |
| 左零空間 (Left Null Space) | $\by\transp A=\bzero$ となる $\by$ 全体 | $\bCSpace(A\transp)$ | $\bR^m$(出力側) | $m – r$ |
上記には、行空間と列空間の次元は等しい。 すなわち
$$
r = \rank A = \rank A\transp
$$
が含まれています。このことについては別記事に書きました。 $\bR^n$ において、零空間は行空間の直交補空間となり、 $\bR^m$ において、左零空間は列空間のの直交補空間となります。
$$
\bR^n = \bCSpace(A\transp) \oplus \bNSpace(A), \quad \bCSpace(A\transp) \perp \bNSpace(A)\\
\bR^m = \bCSpace(A) \oplus \bNSpace(A\transp), \quad \bCSpace(A) \perp \bNSpace(A\transp)
$$
すごい!(まだ分からなくていいです。)
具体例で解説
Strang流に則って、具体的例示で進めます。行列 $A$ は前回の記事(行列の行ランクと列ランクはなぜ等しいか?)で使った例です。
$$
\by = A\bx = \begin{bmatrix}
2 & 2 & 4 \\
4 & 4 & 8 \\
1 & 2 & 3 \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\ x_2 \\ x_3
\end{bmatrix}
$$
という、$\bx $ から $\by$ への線形写像 $f(\bx) = A\bx$ を考えます。ここで、 $\bx$ が図の左にある $\bR^n$、$\by$が図の右にある $\bR^m$ の中に存在します。そして、$A$ がその間の変換 $f$ の変換行列と考えます。ここで、わざと、1列目と2列目を足して3列目になるように細工してあります。
図には、右に2つ、左に2つの部分空間がそれぞれあります。右上の列空間 $\bCSpace(A)$ から初めましょう。
列空間
$$
A\bx = \begin{bmatrix}
2 & 2 & 4 \\
4 & 4 & 8 \\
1 & 2 & 3 \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\ x_2 \\ x_3
\end{bmatrix} =
(x_1)\begin{bmatrix} 2\\ 4\\ 1\\ \end{bmatrix}
+ (x_2)\begin{bmatrix} 2 \\ 4 \\ 2 \\ \end{bmatrix}
+ (x_3)\begin{bmatrix} 4 \\ 8 \\ 3 \\ \end{bmatrix}
$$
という風にバラして見ます。このバラし方をこのように直感的に見えるように慣れておくとよいです。
すると、 $\bx$ が $\bR^n$ 全体(左側)を動くとき、 $A\bx$ は、3つの列ベクトルの線形結合全体となり、 $A$ の列ベクトルが張る空間になります。これを、$A$ の列空間と呼び、 $\bCSpace(A)$ と書きます。これは、 $\bR^m$ の部分空間となります。 写像の言葉で $f$ の像(Image)とも呼ばれます。記号を使ってより一般的に書くと、
$$
A = \begin{bmatrix}
| & | & | \\
\ba_1 & \ba_2 & \ba_3 \\
| & | & |
\end{bmatrix}, \;
\bx = \begin{bmatrix}
x_1 \\ x_2 \\ x_3
\end{bmatrix}
$$
として、
$$
A\bx=
x_1\begin{bmatrix} | \\ \ba_1 \\ | \\ \end{bmatrix}
+ x_2 \begin{bmatrix} | \\ \ba_2 \\ | \end{bmatrix}
+ x_3 \begin{bmatrix} | \\ \ba_3 \\ | \end{bmatrix}\\
$$
と $\ba_1, \ba_2, \ba_3$の線形結合として
$$
\bCSpace(A) = \{y \in \mathbb{R}^m \mid y = A\bx, \bx \in \bR^n \}
$$
と表現できます。
零空間
次に 左下の $\bNSpace(A)$ です。これは、 $A\bx=\bzero$ となる $x$ の集合です。 $A$ の零空間とか写像の言葉で変換 $f$ の核空間(Kernel)、 $\bzero \in \bR^m$ の逆像 $f^{-1}(\bzero)$ (preimage) とも呼ばれ、$\bR^n$ の部分空間です。
$$
A\bx = \begin{bmatrix}
2 & 2 & 4 \\
4 & 4 & 8 \\
1 & 2 & 3 \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\ x_2 \\ x_3
\end{bmatrix} = \begin{bmatrix}0 \\ 0\\ 0\end{bmatrix} \quad \text{となる $\bx$ 全体}
$$
今度はこれを、こう読みます。横ベクトルと縦ベクトルの積です。
$$
A\bx = \begin{bmatrix}
\begin{bmatrix}2 & 2 & 4\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} \\
\begin{bmatrix}4 & 4 & 8\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} \\
\begin{bmatrix}1 & 2 & 3\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}
\end{bmatrix} = \begin{bmatrix}
2x_1+2x_2+4x_3 \\
4x_1+4x_2+8x_3 \\
x_1+2x_2+3x_3 \\
\end{bmatrix} = \begin{bmatrix}
0\\
0 \\
0 \\
\end{bmatrix}
$$
この見方を視覚的に書くとこんな感じです。クロス(+)で内積を表現しています。
集合として書くと、
$$
\bNSpace(A) = \{\bx \in \bR^n \mid A\bx=\bzero \}
$$
と表現できます。
行空間
次に左上 $\bCSpace(A\transp)$ は、 $A$の行空間で、 $A$ の行べクトル( $A\transp$ の列ベクトル)が張る空間です。$\by$ が $\bR^m$ (右側)全体を動くとき、$A\transp \by$ は、$A$ の行ベクトル(を列ベクトルとしたもの)の線形結合全体です。また、これは $\bR^n$ の部分空間となります。記号を節約して転置を使っています。
$$
\bCSpace(A\transp) = \{\bx \in \bR^n \mid \bx = A\transp \by, \by \in \bR^m \}
$$
左零空間
最後に、右下 $\bNSpace(A\transp)$ は左零空間と名付けています。$A\transp$ の零空間で、 $A\transp=\bzero$ となる $\by$ の集合で、 $\bR^m$ の部分空間となります。
$$
\bNSpace(A\transp) = \{\by \in \bR^m \mid A\transp \by= \bzero \}
$$
直交する部分空間たち
零空間に含まれるすべてのベクトル $\bx$ は、行空間に含まれるすべてのベクトルに直交します(これが、図で直交記号が入っている訳です)。なぜって、 $A\bx=\bzero$ ですからね。 $A$ の各行 $ \ba^*_i$と $\bx$ の内積はすべて 0 です。
$$
A\bx = \begin{bmatrix}
– & \ba^*_1 & – \\
– & \ba^*_2 & – \\
– & \ba^*_3 & –
\end{bmatrix} x =
\begin{bmatrix}
\ba^*_1 \bx \\ \ba^*_2 \bx \\ \ba^*_3 \bx
\end{bmatrix} =
\begin{bmatrix}
0 \\ 0 \\ 0
\end{bmatrix}
$$
$\bx$ は $A$ のすべての行に直交しているのです。零空間の元 $\bx$ と行空間の元 $A\transp y$ の内積をとると、
$$
\bx \cdot (A\transp \by) = \bx\transp (A\transp \by) = (A\bx)\transp \by = (\bzero)\transp \by = 0
$$
となることからも分かるでしょう。このことから、 零空間 $\bNSpace(A)$ と行空間 $\bCSpace(A\transp)$ は直交します。よって、両方の共通部分は $\{\bzero\}$ です(共通部分の $\bx$ は直交関係から、 $\| \bx \|^2 = \bx \cdot \bx = 0 \implies \bx = \bzero$)。さらに、(行基本変形による行階段行列で明らかにされるピボットと自由変数の数の関係から)両空間の次元を足すと $n$ で $\bR^n$ を充満するのです。
$$
\begin{eqnarray}
\quad \bCSpace(A\transp) \perp \bNSpace(A)& \\
\dim \bCSpace(A\transp) + \dim \bNSpace(A) &= n \\
\bCSpace(A\transp) \oplus \bNSpace(A) &= \bR^n
\end{eqnarray}
$$
まったく同様の直交性と次元関係が $\mathbb{R}^m$側の列空間と左零空間についても言えます。
$$
\begin{eqnarray}
\quad \bCSpace(A) \perp \bNSpace(A\transp)& \\
\dim \bCSpace(A) + \dim \bNSpace(A\transp) &= m \\
\bCSpace(A) \oplus \bNSpace(A\transp)&= \bR^m
\end{eqnarray}
$$
美しい!
例で確認
今回の例で、
$$
A = \begin{bmatrix}
2 & 2 & 4 \\
4 & 4 & 8 \\
1 & 2 & 3 \\
\end{bmatrix}
$$
に対応する空間を図の中に書いておきます。もし $A$ が正則(可逆)であれば、左右の零空間は ${\bzero}$ となってつぶれています。つまり、 $A$ には $A^{-1}$ が存在し、全単射となるわけです。今回の例は、3つ目の列ベクトルが $\ba_3 = \ba_1 + \ba_2$ となっていて $A$ のランクは2です。残りの1次元が、零空間に配置されます。

零空間のベクトルが行空間と、左零空間のベクトルが列空間と直交していることを計算で確かめてください。
$$
A\bx = \begin{bmatrix}
\begin{bmatrix}2 & 2 & 4\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} \\
\begin{bmatrix}4 & 4 & 8\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} \\
\begin{bmatrix}1 & 2 & 3\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}
\end{bmatrix} = \begin{bmatrix}
2x_1+2x_2+4x_3 \\
4x_1+4x_2+8x_3 \\
x_1+2x_2+3x_3 \\
\end{bmatrix} = \begin{bmatrix}
0\\
0 \\
0 \\
\end{bmatrix}
$$
から、
$$
x=\begin{bmatrix}
1 \\
1 \\
-1 \\
\end{bmatrix}
$$
が零空間 $\bNSpace(A)$ の基底にとれ、
$$
A^T \by=\begin{bmatrix}
2y_1+4y_2+y_3 \\
2y_1+4y_2+2y_3 \\
4y_1+8y_2+3y_3 \\
\end{bmatrix} = \begin{bmatrix}
0\\
0 \\
0 \\
\end{bmatrix}
$$
から、
$$
y=\begin{bmatrix}
2 \\
-1 \\
0 \\
\end{bmatrix}
$$
が左零空間 $\bNSpace(A\transp)$ の基底にとれます。
ここから何が言える?(次元定理)
この記事とは別に、行列の列ランクと行ランクが等しいこと、すなわち、
$$
\dim \bCSpace(A) = \dim \bCSpace(A\transp) = \rank A \tag{*1}
$$
が言えます。詳しくは以下を参照してください。
さらに、零空間と行空間が $\bR^n$ を構成する直和となっていること、すなわち、
$$
\begin{align*}
\bCSpace(A\transp) + \bNSpace(A) &= \bR^n \quad \text{(充満)}\\
\bCSpace(A\transp) \cap \bNSpace(A) &= {\bzero} \quad \text{(排他)}
\end{align*}
$$
から、次元として、
$$
n = \dim \bCSpace(A\transp) + \dim \bNSpace(A) \tag{*2}
$$
(*1),(*2)から、
$$
n = \dim \bCSpace(A) + \dim \bNSpace(A)
$$
が導かれます。
もしくは写像の言葉にしてみましょう。$A$ を左から掛ける $\bR^n$ から $\bR^m $ への線形写像を $f$ とすると、その核空間 $f^{-1}(\bzero)$ と像 $f(\bR^n) $ の次元には、
$$
n = \dim f(\mathbb{ R }^n) + \dim f^{-1}(\boldsymbol{0})
$$
の関係が成り立つという、次元定理が線形代数の第一のハイライトなのです。
連立方程式の解との関係
$A\bx = \bb$ の解とこの 4 つの部分空間の関係については、次の記事で解説していきます。方程式が解ける場合、解けない場合とは?解けない場合でも誤差 $\| A\bx – \bb \|$ を最小にする近似解は?解ける場合に解はいくつ存在する? そんな話題を扱います。

このブログについて
この記事は、『図解線形代数:ストラング流直感的理解』のブログシリーズです。こちらに本全体の紹介ページ、他のブログ記事があります。


One thought on “4つの部分空間”