行列は空間を四つの部分空間に分ける
行列 A にベクトルを入れると、別のベクトルが出てきます。けれど入る入力がみな同じ扱いを受けるわけではありません。ある方向はそのまま生きて出て、ある方向はまるごと0につぶれます。だから一つの行列が空間を四つに割ります。出力側には到達できる結果すべてである列空間(像)があり、入力側には0へ死ぬ方向である零空間があります。生き残る方向の数(ランク)と死ぬ方向の数(退化次数)を足すと、つねに入力次元になります。この一枚の絵があれば、A x = b になぜ解がない場合も、ちょうど一つの場合も、無限にある場合もあるのかが、いっぺんに解けます。逆行列だけでは見えなかった構造です。
入力ベクトル x を動かしてみてください。この行列 A は二つの列が同じ向きを指す平たい行列なので(det=0)、どこへ動かしても出力 A x はただ一本の直線の上だけに落ちます。その直線こそ列空間です。なぜなら A x は結局、第一列の何倍かに第二列の何倍かを足したもの、つまり二つの列の組み合わせで、二列が平行なので、その組み合わせが作れるのはその平行な向きの直線だけだからです。出力は決してその線を離れられません。到達できる結果すべてが、この一次元の直線に閉じ込められています。これが像、すなわち列空間です。
同じ平たい行列で、今度は入力側を見ます。0へ死ぬ入力が別にあります。x を動かすと、ある直線の上に乗せたとき、出力 A x がちょうど原点に張りつきます。その直線が零空間です。その向きで入ってきた入力はまるごと0につぶれ、跡も残りません。その直線からほんの少しでも外れると、出力はすぐ列空間の上へ跳ね上がります。一点ではなく直線全体が0へ行くのです。だから A x = 0 の解は x = 0 一つではなく無限にあります。この零空間が0でないという事実そのものが、ほどなく解がなぜ複数あり得るのかの鍵になります。
今度はスライダーで行列を、生きた状態から平たい状態へつぶしてみます。スライダーを片端に置くと A は完全なランク2です。単位正方形がまともな平行四辺形に変わり、0へ行く入力は x = 0 だけなので退化次数は0です。スライダーを回して一つの列を別の列の方へ倒すと、二列が平行になり(det が0へ)、平行四辺形は一本の線分につぶれます。その瞬間ランクは1、退化次数は1になります。直線がまるごと0へ行くからです。どちらにせよ、ランク足す退化次数はつねに2です。入力次元が二人の子へきっかり分けられるのです。生き残った次元(ランク)と死んだ次元(退化次数)の和は、つねに入ってきた次元 n に等しい。これがランク・退化次数定理です。
入力平面をもう一度見ます。零空間だけがあるのではありません。行空間も入力側にあります。行空間は行列の二つの行が張る方向で、平たい行列ではこれも一本の直線です。トグルで二本の直線を点けると、行空間と零空間がちょうど90度で交わります。二つは直角で互いを補い合う組です。なぜなら A x の各成分は一つの行と x の内積で、x が零空間にあればその内積は0、つまり x がすべての行に垂直という意味だからです。だからすべての入力ベクトルは二片に割れます。行空間成分は出力に生き残り、零空間成分は0へ消えます。生かす半分と殺す半分が直角に分かれているのです。
今度は四つの部分空間の絵で A x = b を解きます。スライダーで目標 b を動かしてください。b が列空間の直線の上になければ、その b に届く入力そのものがありません。解は0個です。b を列空間の上に上げると急に解が現れ、しかも一つではありません。特殊解一つに零空間全体を足したもの、つまり零空間の向きへ平行移動した直線全体が、ぜんぶ解です。無限にあります。特殊解は b に届く一つの入力で、そこに0へ死ぬ方向をいくら足しても出力はそのまま b だからです。もし零空間が0だけの完全なランクの行列だったら、解はちょうど一つ、それが逆行列の与えた答えです。0個・1個・無限個、この三つの枝がすべて四つの部分空間の形から直に出てきます。