行列の階数

線型代数学における行列の階数（かいすう、rank; ランク）は、行列の最も基本的な特性数 (characteristic) の一つで、その行列が表す線型方程式系および線型変換がどのくらい「非退化」であるかを示すものである。行列の階数を定義する方法は同値なものがいくつもある。 例えば、行列 A の階数 rank(A)（あるいは rk(A) または丸括弧を落として rank A）は、A の列空間（列ベクトルの張るベクトル空間）の次元に等しく、また A の行空間の次元とも等しい。行列の階数は、対応する線型写像の階数である。 行列の階数の概念はジェームス・ジョセフ・シルベスターが考えた。 任意の行列 A について、以下はいずれも同値である。 A の列ベクトルの線型独立なものの最大個数（A の列空間の次元） A の行ベクトルの線型独立なものの最大個数（A の行空間の次元） A に基本変形を施して階段行列 B を得たとする。このときの B の零ベクトルでない行（または列）の個数（階段の段数とも表現される） 表現行列 A の線型写像の像空間の次元。詳しくは#線型写像の階数を参照。 A の 0 でないような小行列式の最大サイズ A の特異値の数 文献により、上記の条件のいずれかを以って行列 A の階数は定義される。 いま A の列空間の次元を「列階数」、行空間の次元を「行階数」と呼べば、線型代数学における基本的な結果の一つとして、列階数と行階数は常に一致するという事実が成立するから、それらを単に A の階数と呼ぶことができる。これについて、Wardlaw (2005) はベクトルの線型結合の基本性質に基づく四文証明を与えた（これは任意の体上で有効である）。また、Mackiw (1995) は実数体上の行列に対して有効な、直交性を用いたエレガントな別証明を与えている。両証明とも教科書 Banerjee & Roy (2014) に出ている。 A を m × n 行列とする。また、 f を表現行列 A の線型写像とする。 m × n 行列の階数は非負整数で、m, n の何れも超えない。すなわち rank(A) ≤ min(m, n) が成り立つ。特に rank(A) = min(m, n) のとき、A は最大階数（full rank; フルランク; 充足階数、完全階数）を持つとかフルランク行列などといい、さもなくばA は階数落ち（英語版） (rank deficient; 階数不足) であるという。 A が零行列のときかつその時に限り rank(A) = 0. f が単射となるための必要十分条件は、rank(A) = n（これを A は列充足階数を持つという）となることである。 f が全射となるための必要十分条件は、rank(A) = m となる（A が行充足階数を持つ）ことである。 A が正方行列（つまり m = n）のとき、A が正則であるための必要十分条件は、rank(A) = n（A が充足階数）となることである。 B を任意の n × k 行列として rank(AB) ≤ min(rank(A), rank(B)) が成り立つ。 B が行充足階数 n × k 行列ならば rank(AB) = rank(A) が成り立つ。 C が列充足階数 l × m 行列ならば rank(CA) = rank(A) が成り立つ。 rank(A) = r となるための必要十分条件は、m × m 正則行列 X と n × n 正則行列 Y が存在して X A Y = [ I r 0 0 0 ] {\displaystyle XAY={\begin{bmatrix}I_{r}&0\\0&0\end{bmatrix}}} が成立することである。ただし Ir は r × r 単位行列である。右辺の行列は A の階数標準形と呼ばれる。 rank(A) = rank(A⊤)（ A⊤ は転置行列） 階数・退化次数の定理が成立 シルベスターの階数不等式 m × n 行列 A と n × k 行列 B に対し rank ⁡ ( A ) + rank ⁡ ( B ) − n ≤ rank ⁡ ( A B ) {\displaystyle \operatorname {rank} (A)+\operatorname {rank} (B)-n\leq \operatorname {rank} (AB)} が成り立つ。 フロベニウスの不等式 行列の積 A, ABC, BC がいずれも定義されるとき、 rank ⁡ ( A B ) + rank ⁡ ( B C ) ≤ rank ⁡ ( B ) + rank ⁡ ( A B C ) {\displaystyle \operatorname {rank} (AB)+\operatorname {rank} (BC)\leq \operatorname {rank} (B)+\operatorname {rank} (ABC)} が成り立つ。 劣加法性 A, B は同じ型の行列として rank ⁡ ( A + B ) ≤ rank ⁡ ( A ) + rank ⁡ ( B ) {\displaystyle \operatorname {rank} (A+B)\leq \operatorname {rank} (A)+\operatorname {rank} (B)} が成り立つ。この帰結として、階数 k の行列は階数 1 の行列 k 個の和に書くことができ、また k 個より少ない階数 1-行列の和には書けない。 A が実数体上の行列であるとき、A の階数は対応するグラム行列の階数に等しい。すなわち、実行列 A に対し rank ⁡ ( A ⊤ A ) = rank ⁡ ( A A ⊤ ) = rank ⁡ ( A ) = rank ⁡ ( A ⊤ ) {\displaystyle \operatorname {rank} (A^{\top }A)=\operatorname {rank} (AA^{\top })=\operatorname {rank} (A)=\operatorname {rank} (A^{\top })} が成り立つ。これは各々の核空間が等しいことを見れば示される。グラム行列の核は A⊤Ax = 0 となるベクトル x からなる。このときさらに 0 = x⊤A⊤Ax = |Ax|2 も成り立つ。 A が複素数体上の行列であるとき、A の複素共軛行列を A, 共軛転置行列を A* と書けば、 rank ⁡ ( A ) = rank ⁡ ( A ¯ ) = rank ⁡ ( A T ) = rank ⁡ ( A ∗ ) = rank ⁡ ( A ∗ A ) = rank ⁡ ( A A ∗ ) {\displaystyle \operatorname {rank} (A)=\operatorname {rank} ({\overline {A}})=\operatorname {rank} (A^{\mathrm {T} })=\operatorname {rank} (A^{*})=\operatorname {rank} (A^{*}A)=\operatorname {rank} (AA^{*})} が成り立つ。 例えば、行列 M = [ 4 2 1 5 4 1 1 2 0 ] {\displaystyle M={\begin{bmatrix}4&2&1\\5&4&1\\1&2&0\\\end{bmatrix}}} は、基本変形を行うことによって M ⟺ [ 1 2 3 0 4 5 0 0 0 ] {\displaystyle M\iff {\begin{bmatrix}1&2&3\\0&4&5\\0&0&0\\\end{bmatrix}}} と書けるから、M の階数は rank M = 2 である。実際、[第 2 行] = [第 1 行] + [第 3 行] であるから、2 行目の行ベクトルは線型独立でない。ここで、1 行目と 3行目は明らかに線型独立であるから、rank M = 2 である。 浮動小数点を用いたコンピューター上の数値計算においては、この基本変形を用いたりLU分解を用いることで階数を求める方法は、精度が落ちることもあり用いられない。替わりに、特異値分解（SVD）やQR分解を用いて求められる。 V, W をベクトル空間とし、線型写像 f: V → W が与えられたとき、f の像 f(V) の次元を線型写像 f の階数と呼び、rk f や rank f などで表す。V や W は一般に無限次元であっても、像の次元 dim f(V) が有限であれば線型写像の階数の概念は意味を持つ。とくに階数有限なる線型写像にはトレースが定義できて、古典群の表現論などで重要な役割を果たす。 V や W が有限次元ならば、行列表現によって f は表現行列 Af の共軛類が対応する。このとき、線型写像の階数と行列の階数との間には rank f = rank Af という関係が成り立つが、行列の階数が正則行列を掛けることに関して不変であることから、この等式の成立は表現行列 Af のとり方に依らない。 ベクトル空間 V, W に対して V が n 次元とすれば、線型写像 f: V → W の階数は n 以下である。実際に、rank f = n となるとき、線型写像 f は非退化（ひたいか、non-degenerate, full rank）であるという。そうでないときには、像 f(V) は f で 0 へ写される元の分だけ「つぶれている」と考えられ、線型写像 f の核 ker ⁡ f := { v ∈ V ∣ f ( v ) = 0 } {\displaystyle \ker f:=\{v\in V\mid f(v)=0\}} の次元 dim ker f を f の退化次数と呼ぶ。f の退化次数を nl f や null f などで表すことがある。次の公式 dim ⁡ V = rank ⁡ f + null f . {\displaystyle \dim V=\operatorname {rank} f+\operatorname {null} \,f.} が成立し、階数と退化次数の関係式あるいは簡単に階数・退化次数公式などと呼ばれる。