行空間と列空間

Basis
最終更新: タグ: Linear Algebra

前提知識

すべての行列は二つの自然なベクトルの族を持つ:行と列だ。行のスパンと列のスパンはともに重要な部分空間であり、どの線型方程式系が解を持つかと行列の「到達範囲」をエンコードする。最初は自明でない驚くべき事実は、これらの二つのスパン——全く異なる空間に住む——の次元が常に一致するということだ。

行空間と列空間

FF 上の m×nm \times n 行列 AA に対して、r1,,rmFnr_1, \ldots, r_m \in F^n を行ベクトル、c1,,cnFmc_1, \ldots, c_n \in F^m を列ベクトルとする。

  • AA行空間(row space)とは row(A)span(r1,,rm)Fn\text{row}(A) \coloneqq \text{span}(r_1, \ldots, r_m) \subseteq F^n
  • AA列空間(column space)とは col(A)span(c1,,cn)Fm\text{col}(A) \coloneqq \text{span}(c_1, \ldots, c_n) \subseteq F^m

どちらも各々の周辺空間の線型部分空間だ。なぜならベクトルの任意の集合のスパンは常に部分空間だからだ。住む空間が異なることに注目しよう:行空間は FnF^n(列の数だけの座標)に、列空間は FmF^m(行の数だけの座標)に住む。

列空間が教えてくれること

AxAxAA の列の線型結合だ:

Ax=x1c1+x2c2++xncn.Ax = x_1\,c_1 + x_2\,c_2 + \cdots + x_n\,c_n.

だから xxFnF^n の全体を動くとき、AxAxcol(A)\text{col}(A) の全体を動く。これにより解の存在に関するきれいな判定基準が得られる:

Ax=b が解を持つ    bcol(A).Ax = b \text{ が解を持つ} \iff b \in \text{col}(A).

bb が列空間の外にあれば、方程式系は不能だ——列の組み合わせで bb を作ることはできない。

行変換は行空間を保存する

行空間と列空間を計算する主な道具はガウス・ジョルダン消去法だ。それが各空間とどう相互作用するかを見よう。

基本行変換はどれも(二行を交換する;ある行を非ゼロスカラーで掛ける;ある行のスカラー倍を別の行に加える)、行の集合を同じスパンを持つ新しい集合に置き換える。なぜなら各操作は可逆で、新しい行は古い行の線型結合であり、古い行は新しい行の線型結合として取り戻せるからだ。スパンは到達できる線型結合にのみ依存するので、スパンは変わらない。

帰結:行空間は行変換の下で不変だ。特に、AA の行簡約階段形(RREF)の非ゼロ行が row(A)\text{row}(A) の基底をなす——それらは同じ空間をスパンし、各行が他の非ゼロ行がゼロの位置に先頭の 1 を持つため明らかに線型独立だ。

行変換は列空間を保存しない

行変換は列ベクトルを変える。ある行に別の行の cc 倍を加えることは、その行のすべての成分を変え、すべての列を同時に変える。だから RREF の列から col(A)\text{col}(A) の基底を読み取ることはできない。

行変換が保存するのは列の間の線型依存関係だ:簡約前に列が他の列の線型結合であれば、簡約後も同じ関係が成り立ち、逆も同様だ。これはピボット列の位置が信頼できることを意味する——AA のピボット列が col(A)\text{col}(A) の基底をなす——が、それらの列は RREF からではなく元の行列 AA から取らなければならない。

計算例

次の行列の行空間と列空間の基底を求める:

A=(123246112).A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 1 & 2 \end{pmatrix}.

ガウス・ジョルダン消去法を適用する。R2R22R1R_2 \leftarrow R_2 - 2R_1R3R3R1R_3 \leftarrow R_3 - R_1

(123000011).\begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & -1 & -1 \end{pmatrix}.

R2R_2R3R_3 を交換し、R2R2R_2 \leftarrow -R_2

(123011000).\begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}.

後退代入:R1R12R2R_1 \leftarrow R_1 - 2R_2

(101011000).\begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}.

行空間:RREF の非ゼロ行は (1,0,1)(1, 0, 1)(0,1,1)(0, 1, 1) だ。これらが row(A)F3\text{row}(A) \subseteq F^3 の基底をなす。

列空間:ピボット列は列 1 と列 2 だ(先頭の 1 がある位置)。元の AA のそれらの列を取る:

col(A)=span ⁣{(121), (241)}F3.\text{col}(A) = \text{span}\!\left\{\begin{pmatrix}1\\2\\1\end{pmatrix},\ \begin{pmatrix}2\\4\\1\end{pmatrix}\right\} \subseteq F^3.

行ランクと列ランクの一致

この例では行空間と列空間の両方の次元が 2 だ。これは偶然ではない。

定理:任意の行列 AA に対して dim(row(A))=dim(col(A))\dim(\text{row}(A)) = \dim(\text{col}(A))

証明AA の RREF において、すべてのピボットは非ゼロ行(行空間に寄与)とピボット列(列空間に寄与)に対応する。どちらの場合もピボットの数は同じだ。RREF の非ゼロ行が row(A)\text{row}(A) の基底をなし、AA のピボット列が col(A)\text{col}(A) の基底をなすので、両方の次元がピボットの数に等しい。\square

ランク

この共通の次元が AAランク(rank)だ:

\text{rank}(A) \coloneqq \dim(\text{row}(A)) = \dim(\text{col}(A)) = \text{(RREF のピボットの数)}. \tag{1}

ランクは行列の真に独立な部分がどれだけあるかを測る——線型独立な行(等価的に列)が何本あるか。m×nm \times n 行列では rank(A)min(m,n)\text{rank}(A) \le \min(m, n)。なぜなら行空間(次元 m\le m)も列空間(次元 n\le n)も各々の周辺空間を超えられないからだ。

ランク、零化次元(nullity)、解の構造の関係は次元定理で精密に述べられる。

まとめ

  • 行空間 row(A)=span(r1,,rm)Fn\text{row}(A) = \text{span}(r_1, \ldots, r_m) \subseteq F^n列空間 col(A)=span(c1,,cn)Fm\text{col}(A) = \text{span}(c_1, \ldots, c_n) \subseteq F^m はともに線型部分空間だ。
  • 方程式系 Ax=bAx = b が無矛盾であることと bcol(A)b \in \text{col}(A) は同値だ。
  • 行変換は行空間を保存する:RREF の非ゼロ行が基底を与える。
  • 行変換は列空間を保存しない:基底は元の行列 AA のピボット列を使う。
  • 行ランクは列ランクに等しいdim(row(A))=dim(col(A))\dim(\text{row}(A)) = \dim(\text{col}(A))
  • ランク rank(A)\text{rank}(A) はこの共通値であり、RREF のピボットの数に等しい。