すべての行列は二つの自然なベクトルの族を持つ:行と列だ。行のスパンと列のスパンはともに重要な部分空間であり、どの線型方程式系が解を持つかと行列の「到達範囲」をエンコードする。最初は自明でない驚くべき事実は、これらの二つのスパン——全く異なる空間に住む——の次元が常に一致するということだ。
行空間と列空間
体 F 上の m×n 行列 A に対して、r1,…,rm∈Fn を行ベクトル、c1,…,cn∈Fm を列ベクトルとする。
- A の行空間(row space)とは row(A):=span(r1,…,rm)⊆Fn。
- A の列空間(column space)とは col(A):=span(c1,…,cn)⊆Fm。
どちらも各々の周辺空間の線型部分空間だ。なぜならベクトルの任意の集合のスパンは常に部分空間だからだ。住む空間が異なることに注目しよう:行空間は Fn(列の数だけの座標)に、列空間は Fm(行の数だけの座標)に住む。
列空間が教えてくれること
積 Ax は A の列の線型結合だ:
Ax=x1c1+x2c2+⋯+xncn.
だから x が Fn の全体を動くとき、Ax は col(A) の全体を動く。これにより解の存在に関するきれいな判定基準が得られる:
Ax=b が解を持つ⟺b∈col(A).
b が列空間の外にあれば、方程式系は不能だ——列の組み合わせで b を作ることはできない。
行変換は行空間を保存する
行空間と列空間を計算する主な道具はガウス・ジョルダン消去法だ。それが各空間とどう相互作用するかを見よう。
基本行変換はどれも(二行を交換する;ある行を非ゼロスカラーで掛ける;ある行のスカラー倍を別の行に加える)、行の集合を同じスパンを持つ新しい集合に置き換える。なぜなら各操作は可逆で、新しい行は古い行の線型結合であり、古い行は新しい行の線型結合として取り戻せるからだ。スパンは到達できる線型結合にのみ依存するので、スパンは変わらない。
帰結:行空間は行変換の下で不変だ。特に、A の行簡約階段形(RREF)の非ゼロ行が row(A) の基底をなす——それらは同じ空間をスパンし、各行が他の非ゼロ行がゼロの位置に先頭の 1 を持つため明らかに線型独立だ。
行変換は列空間を保存しない
行変換は列ベクトルを変える。ある行に別の行の c 倍を加えることは、その行のすべての成分を変え、すべての列を同時に変える。だから RREF の列から col(A) の基底を読み取ることはできない。
行変換が保存するのは列の間の線型依存関係だ:簡約前に列が他の列の線型結合であれば、簡約後も同じ関係が成り立ち、逆も同様だ。これはピボット列の位置が信頼できることを意味する——A のピボット列が col(A) の基底をなす——が、それらの列は RREF からではなく元の行列 A から取らなければならない。
計算例
次の行列の行空間と列空間の基底を求める:
A=121241362.
ガウス・ジョルダン消去法を適用する。R2←R2−2R1、R3←R3−R1:
10020−130−1.
R2 と R3 を交換し、R2←−R2:
100210310.
後退代入:R1←R1−2R2:
100010110.
行空間:RREF の非ゼロ行は (1,0,1) と (0,1,1) だ。これらが row(A)⊆F3 の基底をなす。
列空間:ピボット列は列 1 と列 2 だ(先頭の 1 がある位置)。元の A のそれらの列を取る:
col(A)=span⎩⎨⎧121, 241⎭⎬⎫⊆F3.
行ランクと列ランクの一致
この例では行空間と列空間の両方の次元が 2 だ。これは偶然ではない。
定理:任意の行列 A に対して dim(row(A))=dim(col(A))。
証明:A の RREF において、すべてのピボットは非ゼロ行(行空間に寄与)とピボット列(列空間に寄与)に対応する。どちらの場合もピボットの数は同じだ。RREF の非ゼロ行が row(A) の基底をなし、A のピボット列が col(A) の基底をなすので、両方の次元がピボットの数に等しい。□
ランク
この共通の次元が A のランク(rank)だ:
\text{rank}(A) \coloneqq \dim(\text{row}(A)) = \dim(\text{col}(A)) = \text{(RREF のピボットの数)}. \tag{1}
ランクは行列の真に独立な部分がどれだけあるかを測る——線型独立な行(等価的に列)が何本あるか。m×n 行列では rank(A)≤min(m,n)。なぜなら行空間(次元 ≤m)も列空間(次元 ≤n)も各々の周辺空間を超えられないからだ。
ランク、零化次元(nullity)、解の構造の関係は次元定理で精密に述べられる。
まとめ
- 行空間 row(A)=span(r1,…,rm)⊆Fn と列空間 col(A)=span(c1,…,cn)⊆Fm はともに線型部分空間だ。
- 方程式系 Ax=b が無矛盾であることと b∈col(A) は同値だ。
- 行変換は行空間を保存する:RREF の非ゼロ行が基底を与える。
- 行変換は列空間を保存しない:基底は元の行列 A のピボット列を使う。
- 行ランクは列ランクに等しい:dim(row(A))=dim(col(A))。
- ランク rank(A) はこの共通値であり、RREF のピボットの数に等しい。