行空間・列空間
定義1
行(列)ベクトルが張る空間を行(列)空間とよぶ。
補足
・行列Aの列空間は\mathrm{R}(A)、行空間は\mathrm{C}(A)などと表します。
・「行空間とは、可能な行(列)ベクトルの線形結合全ての集合」という意味でもあります。
・一般には、行空間と列空間は同一ではありません。以下はその例です。
\begin{pmatrix} 1&2\\ 3&4 \end{pmatrix}
・列空間は値域(range、Range (A)などと表す)と同じ意味です。
・行空間の次元はその行列のランクと同じです。
・行基本変形によって得られる行列の各行ベクトルは線形結合によって同じように得られます。したがって行基本変形によって行空間は変わりません。列についても同様です。
・一般には、行基本変形により列空間は変わります。以下はその例です。
同様に、一般には列基本変形によって行空間が変わります。
零空間
定義2
以下で表される\mathrm{N}(A)を行列Aの零空間(null space)とよぶ。
\mathrm{N}(A)=\left\{\boldsymbol{x} \in \mathbb{R}^n \middle | A\boldsymbol{x}=\boldsymbol{0}\right\}
補足
・Aの列の数をnとすると、\mathbb{R}^nに属しA\boldsymbol{x}=\boldsymbol{0}となる全ての\boldsymbol{x}の集合が零空間です。
・零空間とほぼ同じ意味で核(kernel、\mathrm{Ker}(A)などと表す)が使われることがあります。
・行空間・列空間はAの行・列ベクトルが張る空間であるのに対し、零空間は\boldsymbol{x}が張る空間の部分空間である点に注意ください。
・零空間の次元を退化次数(nullity)とよびます。
行空間・列空間・零空間の関係
A\boldsymbol{x}と列空間の関係
次の図の左は行列A、右は\boldsymbol{x}です。
まとめると次のようになります。
図の通り、A\boldsymbol{x}はAの列ベクトルの線形結合と考えることができます。\boldsymbol{x}\in\mathbb{R}^nであればA\boldsymbol{x} \in \mathrm{C}(A)になります。
左零空間
前節の説明は列空間と零空間の関係でしたが、行空間も似た関係をもつ空間を定義できます。
次のような行列とベクトルの積、つまり\boldsymbol{x}^T Aを図にすると、
まとめると、
となるので\boldsymbol{x}^T Aは行ベクトルの線形結合と考えることができます。これを\boldsymbol{0}としたときの解が張る空間を左零空間(left null space)とよびます。
ただし一般的には両辺を転置してA^T \boldsymbol{x}=\boldsymbol{0}の解と考え、\mathrm{N}(A^T)と表します。
図での関係の確認
以下の行列の行空間と零空間をグラフにしてみます。
\begin{pmatrix} 1&0&0\\ 0&-3&4\\ 0&-3&4 \end{pmatrix}
計算の過程は省略しますが、行空間の基底は(1\ 0\ 0),(0\ -3\ 4)、零空間の基底は(0\ 3\ 4)です。行空間はこの2つのベクトルが張る空間なので平面です。
行空間の基底の数2なので行空間は\mathbb{R}^2、零空間の基底の数は1なので零空間は\mathbb{R}、行列の行の数は3なので行空間と零空間は\mathbb{R}^3の部分空間と考えることができます。
以上より、3次元の空間における平面と直線として描いてみます。
Aの行空間の基底は
基底が張る空間すなわち行空間は、
零空間の基底は、
零空間は、
行空間と零空間を重ねると、
となります。
後述の定理1の通り、両者は直交します。
次に、列空間と左零空間を求めます。
列空間の基底は、
\begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix} ,\ \begin{pmatrix} 0\\ 1\\ 1 \end{pmatrix}
左零空間の基底は、
\begin{pmatrix} 0\\ -1\\ 1 \end{pmatrix}
より、下の図のようになります。
以上のように(この例では)行空間と列空間は異なること、行空間と零空間、列空間と左零空間は垂直であることがわかります。
4つの基本部分空間
行空間・列空間・零空間・左零空間は4つの基本部分空間とよばれ、下のような図で空間の関係が表されます。この図を元に関係を整理しましょう。
※この図はあくまで概念を表したものであって、直交座標系などで表されたものではない点に注意ください。
さて、図に番号を付けてそれぞれについて説明します。
行列をA、サイズをm \times n、ランクをrとします。
①それぞれの四角形は\mathrm{C}(A^T)=\mathrm{R}(A),\mathrm{C}(A),\mathrm{N}(A),\mathrm{N}(A^T)で、\mathrm{C}(A^T)と\mathrm{N}(A)、\mathrm{C}(A)と\mathrm{N}(A^T)が原点(四角形の1つの角が接する点)のみを共有し、他に共有する要素はありません。
②\mathrm{C}(A^T)と\mathrm{N}(A)、\mathrm{C}(A)と\mathrm{N}(A^T)は直交します。
③\mathrm{C}(A^T)と\mathrm{C}(A)の次元はr、\mathrm{N}(A)の次元はn-r、\mathrm{N}(A^T)の次元はm-rです(次元定理)。
④\mathrm{C}(A^T)と\mathrm{N}(A)は補空間で、その和空間は\mathbb{R}^nです。\mathrm{C}(A)と\mathrm{N}(A^T)は補空間で、その和空間は\mathbb{R}^mです。
⑤\boldsymbol{x}_r \in \mathbb{R}^nとすると、前述「A\boldsymbol{x}と列空間の関係」節の通り、A^T\boldsymbol{x}_r=\boldsymbol{b}は\mathrm{C}(A^T)に属します。
⑥\boldsymbol{x}_n\ \in \mathrm{N}(A)とすると、定義よりA\boldsymbol{x}_nは\boldsymbol{0}になります。
⑦\boldsymbol{x}=\boldsymbol{x}_r+\boldsymbol{x}_nとすると、A\boldsymbol{x}=A\boldsymbol{x}_r+A\boldsymbol{x}_n=A\boldsymbol{x}_r+\boldsymbol{0}=A\boldsymbol{x}_r=\boldsymbol{b}
より⑤と同じベクトルになります。
※上の図では\mathrm{N}(A)に属する1つのベクトルのみについて表していますが、\mathrm{N}(A)に属するベクトルはAを掛けると全て同じように\boldsymbol{0}になります。これに対し\mathrm{N}(A)に属さないベクトルは常に1点に集まるわけではありません。
以上が\mathrm{C}(A^T)または\mathrm{N}(A)に属するベクトルにAを掛けた場合についての説明です。
\mathrm{C}(A),\mathrm{N}(A^T)に属するベクトルにA^Tを掛けた場合も同じように対応します。
定理
定理1
行空間と零空間は直交補空間である。
証明
\boldsymbol{x}\in \mathrm{N}(A)
とする。零空間の定義より、
A\boldsymbol{x}=\boldsymbol{0}
両辺を転置し、
\boldsymbol{x}^T A^T=\boldsymbol{0}
両辺に適当なベクトル\boldsymbol{v}を右から掛け、
\boldsymbol{x}^T A^T\boldsymbol{v}=0
零空間の定義より、
A^T \boldsymbol{v} \in \mathrm{R}(A)
\boldsymbol{x}とA^T \boldsymbol{v}は直交するので、
\boldsymbol{x} \in \mathrm{R}(A)^\perp
したがって、
\mathrm{N}(A) \subseteq \mathrm{R}(A)^\perp
次に
\boldsymbol{y}\in \mathrm{R}(A)^\perp
とする。
A^T\boldsymbol{v}\in \mathrm{R}(A)
となるベクトル\boldsymbol{v}が存在するので、
\boldsymbol{y}^T A^T\boldsymbol{v}=0
\boldsymbol{v}は\boldsymbol{0}とは限らないので、
\boldsymbol{y}^T A^T=\boldsymbol{0}
転置し、
A\boldsymbol{y} =\boldsymbol{0}
定義より、
\boldsymbol{y} \in \mathrm{N}(A)
したがって、
\mathrm{R}(A)^\perp \subseteq \mathrm{N}(A)
以上より、
\mathrm{R}(A)^\perp = \mathrm{N}(A)
■
※\mathrm{R}(A)^\perpは\mathrm{R}(A)と直交する空間の意味です。
補足
\boldsymbol{x}\in\mathrm{N}(A)
とします。定義より、
A\boldsymbol{x}=\boldsymbol{0}
転置をすると、
\boldsymbol{x}^T A^T = \boldsymbol{0}
\boldsymbol{x}^T A^Tと成分の数が同じベクトル\boldsymbol{v}を両辺の右より掛けて、
(\boldsymbol{x}^T A^T) \boldsymbol{v} =0
結合法則より、
\boldsymbol{x}^T (A^T \boldsymbol{v}) =0
内積が0なので\boldsymbol{x}とA^T \boldsymbol{v}は直交します。また、「A\boldsymbol{x}と列空間の関係」の節で述べたように\boldsymbol{v}が任意の値をとる場合、
A^T \boldsymbol{v} \in \mathrm{C}(A^T)=\mathrm{R}(A)
したがって、
\boldsymbol{x} \in \mathrm{R}(A)^\perp
前提より、
\boldsymbol{x}\in\mathrm{N}(A) \Rightarrow \boldsymbol{x} \in \mathrm{R}(A)^\perp
が導かれたので、
\mathrm{N}(A) \subseteq \mathrm{R}(A)^\perp\tag{a}
であることがここまででわかりました。
次に\boldsymbol{y} \in \mathrm{R}(A)^\perpとします。
前述の通りA^T\boldsymbol{v}\in \mathrm{R}(A)なので\boldsymbol{y}とA^T\boldsymbol{v}は直交します。直交するということは内積が0であるということなので、
\boldsymbol{y}^T(A^T\boldsymbol{v})=0
結合法則により、
(\boldsymbol{y}^TA^T)\boldsymbol{v}=0
転置で表し、
(A\boldsymbol{y})\boldsymbol{v}=0
\boldsymbol{v}は\boldsymbol{0}とは限らないので
A\boldsymbol{y}=\boldsymbol{0}
したがって、
\boldsymbol{y}\in\mathrm{N}(A)
前提条件より、
\boldsymbol{y} \in \mathrm{R}(A)^\perp\Rightarrow \boldsymbol{y}\in\mathrm{N}(A)
これは、
\mathrm{R}(A)^\perp \subseteq \mathrm{N}(A) \tag{b}
であることを示しています。
(a)と(b)の両方を満たすためには
\mathrm{N}(A) = \mathrm{R}(A)^\perp
でなければなりません。以上より、両者が直交補空間であることがわかります。