定義
行列の線形独立な行ベクトルまたは列ベクトルの数を行列のランク(rank)または階数とよび、\(\mathrm{rank}(A)\)、\(\mathrm{rank}A\)のように表す。
線形独立な行ベクトルの数を行ランク、列ベクトルの数を列ランクとよぶこともありますが両者は常に同じです。
他にも同値な定義があります。
・行(列)空間の次元
・\(0\)ではない小行列式の最大次数
・線型写像の像空間の次元
行階段形(行階段行列)
定理1(後述)の通り、行基本変形によりランクは変わりません。行階段形では「全ての成分が\(0\)の行」以外の行は線形独立です。したがって行列を行階段形に変形することによりランクを求めることができます。
行階段形の定義は以下です。
・第\(2\)行以下に主成分(行の最も左にある\(0\)以外の成分)がある場合、主成分は上の行の主成分より右にある
・「全ての成分が\(0\)の行」がある場合、その行は主成分がある行より下に位置する
また、行階段形の行列を行階段行列とよびます。
行簡約階段形には「主成分のある列は主成分以外の成分は全て0」という条件がありますが、行階段形にはこの条件はありません。
※ここまで行について述べましたが、列についても同様です。
例1
この場合は行階段形に変形しても「全ての成分が\(0\)の行」は存在せずランクは行数と同じ\(4\)です。このように、行列がとりうる最大のランクである状態、つまり行・列のうち数が少ないほうとランクが同じであることをフルランクとよびます。
例2
次の場合は行階段形に変形することにより「全ての成分が\(0\)の行」が\(1\)行存在し、そうではない行の数は\(4\)になります。したがってランクは\(4\)です。このような、フルランクではない状態をランク不足などとよびます。
小行列式との関係
小行列とは一部の行列の行・列を除き集めた行列、小行列式とは正方行列である小行列の行列式のことです。
考えられる全ての\(0\)ではない小行列式中で最も大きい次数が行列のランクです。
次の例で考えてみましょう。
\begin{pmatrix}
4&2&6&8\\
1&3&5&9\\
2&1&3&4
\end{pmatrix}
\(2\times 2\)と\(3\times 3\)の小行列式は以下の通りです。最大の次数は\(2\)なのでこの行列のランクは\(2\)です。
$$
\begin{align}
&\begin{vmatrix}
4&2\\
1&3
\end{vmatrix}
=10,
\quad
\begin{vmatrix}
4&6\\
1&5
\end{vmatrix}
=14,
\quad
\begin{vmatrix}
4&8\\
1&9
\end{vmatrix}
=28,
\\ \\
&\begin{vmatrix}
2&6\\
3&5
\end{vmatrix}
=-8,
\quad
\begin{vmatrix}
2&8\\
3&9
\end{vmatrix}
=-6,
\quad
\begin{vmatrix}
6&8\\
5&9
\end{vmatrix}
=14,
\\ \\
&\begin{vmatrix}
1&3\\
2&1
\end{vmatrix}
=-5,
\quad
\begin{vmatrix}
1&5\\
2&3
\end{vmatrix}
=-7,
\quad
\begin{vmatrix}
1&9\\
2&4
\end{vmatrix}
=-14,
\\ \\
&\begin{vmatrix}
3&5\\
1&3
\end{vmatrix}
=4,
\quad
\begin{vmatrix}
3&9\\
1&4
\end{vmatrix}
=3,
\quad
\begin{vmatrix}
5&9\\
3&4
\end{vmatrix}
=ー7,
\\ \\
&\begin{vmatrix}
4&2&6\\
1&3&5\\
2&1&3
\end{vmatrix}
=0,
\quad
\begin{vmatrix}
4&2&8\\
1&3&9\\
2&1&4
\end{vmatrix}
=0,
\quad
\begin{vmatrix}
4&6&8\\
1&5&9\\
2&3&4
\end{vmatrix}
=0,
\quad
\begin{vmatrix}
2&6&8\\
3&5&9\\
1&3&4
\end{vmatrix}
=0
\end{align}
$$
定理1
行(列)基本変形によってその行列の行(列)ベクトルのランクは変わらない。
\(A\)の行基本変形によって\(B\)が得られたとする。これらの基本行列の積を\(E\)とすると
$$B=EA$$
\(A\)の線形独立である列ベクトルを\(\boldsymbol{a}_{i_1},\boldsymbol{a}_{i_2},\cdots \boldsymbol{a}_{ik}\)とする。係数\(c_1,c_2,\cdots,c_k\)により、
$$c_1 \boldsymbol{a}_{i1} + c_2 \boldsymbol{a}_{i2} + \cdots c_k\boldsymbol{a}_{ik}=0\tag{1}$$
$$c_1=c_2=\cdots =c_k=0$$
と表すことができる。
\((1)\)の両辺に\(E\)を掛けると、
$$c_1 E\boldsymbol{a}_{i1} + c_2 E\boldsymbol{a}_{i2} + \cdots c_k E\boldsymbol{a}_{ik}=0\tag{2}$$
\(B\)の同じ位置の列ベクトルを\(\boldsymbol{b}_{i1},\boldsymbol{b}_{i2},\cdots \boldsymbol{b}_{ik}\)とすると、
$$c_1 \boldsymbol{b}_{i1} + c_2 \boldsymbol{b}_{i2} + \cdots c_k \boldsymbol{b}_{ik}=0\tag{3}$$
したがって\(\boldsymbol{b}_{i1},\boldsymbol{b}_{i2},\cdots \boldsymbol{b}_{ik}\)も線形独立である。
また、
$$A=E^{-1}B$$
として逆も同様に示すことができる。
さらに、線形従属の場合についても同様。
以上より\(A\)と\(B\)のランクは同じである。
■
定理2
行列の線形独立な行ベクトルの数と列ベクトルの数は同じ。
証明1
行基本変形により行簡約階段形に変形した行列の、主成分が存在する行のベクトルは線形独立である。
さらに列基本変形により主成分が存在しない列を全て\(0\)にすると、やはり主成分が存在する列のベクトルも線形独立である。
これらはどちらも主成分の数だけ存在するので両者の数は等しい。
■
補足
次の行列は行簡約階段形です。行ベクトルの線形結合によって互いに表すことができないので線形独立である行ベクトルの数は\(4\)です。
列に関してはどうでしょう。
第\(2\)列を\(3\)倍すると第\(3\)列と同一になるので両者は線形従属です。
\((2,3)\)成分は行基本変形によって消去することはできませんが、列基本変形によって消去することはできます。
つまり行基本変形と列基本変形を組み合わせることにより主成分だけを残すことができます。
主成分がある行も列も線形独立です。したがって線形独立である行・列ベクトルの数は主成分の数によって決まる(この場合は\(4\))ので両者は等しくなります。
証明2
\(A\)の列空間の基底を\(\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\}\)とする。\(X\)を、\(A\)の基底のみを列ベクトルとして構成した行列とする。つまり\(X\)の列の数は\(r\)である。
さらに\(A=XY\)の関係にあり、行の数が\(r\)である行列\(Y\)を定義する。
定義より、
$$\mathrm{dim}(\mathrm{C}(A)) = \mathrm{dim}(\mathrm{C}(X))=r$$
\(\boldsymbol{a}_i\)を\(A\)の第\(i\)行の行ベクトル、\(\boldsymbol{y}_k=(y_{k1},y_{k2},\cdots,y_{kn})\)を\(Y\)の第\(k\)行の行ベクトルとすると、
\begin{align}
\boldsymbol{a}_i&=\left(\sum_{k=1}^r x_{ik}y_{k1},\sum_{k=1}^r x_{ik}y_{k2},\cdots ,\sum_{k=1}^r x_{ik}y_{kn}\right)\\
&=\sum_{k=1}^r x_{ik}\boldsymbol{y}_k
\end{align}
となり\(A\)のそれぞれの行は\(Y\)の行の線形結合で表される。\(A\)に存在する線形独立な行ベクトルの数は\(Y\)の行の数すなわち\(r\)以下なので、
$$r \geq \mathrm{dim}(\mathrm{R}(A))$$
したがって、
$$\mathrm{dim}(\mathrm{C}(A)) \geq \mathrm{dim}(\mathrm{R}(A))\tag{4}$$
\(A^T\)について同様に、
$$\mathrm{dim}(\mathrm{C}(A^T)) \geq \mathrm{dim}(\mathrm{R}(A^T))$$
転置をすると、
$$\mathrm{dim}(\mathrm{R}(A)) \geq \mathrm{dim}(\mathrm{C}(A))\tag{5}$$
\((4)\)では列ランクが行ランク以上、\((5)\)ではその逆であるためこれらを満たすには両者が等しくなければならない。すなわち、
$$\mathrm{dim}(\mathrm{R}(A))=\mathrm{dim}(\mathrm{C}(A))$$
■
※\(\mathrm{R}\)は行空間、\(\mathrm{C}\)は列空間、\(\mathrm{dim}\)は次元です。\(\mathrm{dim}(\mathrm{R}(A))\)は\(A\)の行ランク、\(\mathrm{dim}(\mathrm{C}(A))\)は\(A\)の列ランクを表します。
補足
\(A\)が\(3\times 4\)の行列で、第\(1\)列と第\(2\)列の行ベクトルが線形独立、他が線形従属であるとします。この線形独立な\(2\)列のみで構成される行列を\(X\)とし、もう一つの行列\(Y\)との積で表すことを考えます。
線形従属であるベクトルは他のベクトルの線形結合で表すことができます。線形独立であるベクトルはそのように表すことができませんが、自分自身を含むベクトルの集合の線形結合であると考えられます。
このように表すことができるということは\(A=XY\)となる\(Y\)が存在することができるということです。下の図を確認ください。たとえば\(A\)の\((1,3)\)成分は\(X\)の第\(1\)行と\(Y\)の第\(3\)列の積和です。他の成分も同様に\(X\)のいずれかの行と\(Y\)のいずれかの列の演算結果になります。
また、\(A\)の列ベクトルの係数は同一である、つまり線形結合となっていることも確認ください。
このように、行列を線形独立な列ベクトルだけを集めた行列ともう一つの行列で表すことを階数分解(rank factorization/rank decomposition)とよびます。
次に、\(A\)の行ベクトルと\(Y\)の行ベクトルの関係に注目します。
下の図のように、\(A\)のそれぞれの行ベクトルは\(Y\)の行ベクトルの線形結合で表されると考えることができます。
前述の階数分解の例と同じことなのですが、以下の図で\(A\)の\((1,3)\)成分が\(X\)の第\(1\)行と\(Y\)の第\(3\)列の演算結果であることを確認ください。
また、下の図のように係数が同一であるので線形結合であることがわかります。
以上、行列は階数分解できることと、\(A=XY\)の形に表した場合、\(A\)の各行ベクトルは\(Y\)の線形結合で表すことができることがわかりました。
これらをふまえ、\(A,X,Y\)の線形独立なベクトルの数(行ランクと列ランク)を比較します。
定義より、
\(A\)の列ランク=\(X\)の列ランク=\(Y\)の行数
\(A\)の行ベクトルは\(Y\)の行ベクトルの線形結合で表されますが、この時点では\(A\)にどれだけの線形独立な行ベクトルがあるかはわかりません。ただし最大でも\(Y\)の行数なので、
\(Y\)の行数\(\geq\)\(A\)の行ランク
の関係にあるといえます。\(2\)つの式より、
\(A\)の列ランク\(\geq\)\(A\)の行ランク
同様に\(A^T\)について比較すると、
\(A^T\)の列ランク\(\geq\)\(A^T\)の行ランク
転置し、
\(A\)の行ランク\(\geq\)\(A\)の列ランク
ここまでで列ランクが行ランク以上という関係と行ランクが列ランク以上であるという関係が得られました。両者を満たすためには、行ランクと列ランクが等しくなければならないという結論が得られます。
証明3
\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)の\(r\)個の行ベクトルが\(A\)の行空間の基底で、以下の関係にあるとする。
$$c_1 A\boldsymbol{x}_1+c_2 A\boldsymbol{x}_2+\cdots+c_r A\boldsymbol{x}_r=\boldsymbol{0}$$
さらに
$$\boldsymbol{v}=c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r$$
とすれば\(A\boldsymbol{v}=\boldsymbol{0}\)なので、\(\boldsymbol{v}\)は\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)と直交し自分自身とも直交する。これにより\(\boldsymbol{v}=\boldsymbol{0}\)すなわち、
$$c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r=0$$
の関係が得られるが、前提の通り\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)は線形独立なので、
$$c_1=c_2=\cdots=c_r=0$$
したがって冒頭の定義より\(A\boldsymbol{x}_1,A\boldsymbol{x}_2,\cdots,A\boldsymbol{x}_r\)も線形独立である。これらは\(A\)の列空間に属しているので、
$$\mathrm{dim}(\mathrm{R}(A))\geq \mathrm{dim}(\mathrm{C}(A))$$
\(A^T\)についても同様に、
$$\mathrm{dim}(\mathrm{R}(A^T))\geq \mathrm{dim}(\mathrm{C}(A^T))$$
転置すると、
$$\mathrm{dim}(\mathrm{C}(A))\geq \mathrm{dim}(\mathrm{R}(A))$$
以上より、
$$\mathrm{dim}(\mathrm{C}(A))=\mathrm{dim}(\mathrm{R}(A))$$
が成立する。
■
補足
\(A\)に\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)の\(r\)個の線形独立な行ベクトルがあるとします。
\(A\boldsymbol{x}_1,A\boldsymbol{x}_2,\cdots,A\boldsymbol{x}_r\)が線形結合であることを確認するため、
$$c_1 A\boldsymbol{x}_1+c_2 A\boldsymbol{x}_2+\cdots+c_r A\boldsymbol{x}_r=\boldsymbol{0}\tag{6}$$
とおきます。\(A\)を括弧の外に出して括り、
$$A(c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r)=\boldsymbol{0}$$
\(A\)を線形独立な行ベクトルに分解して表すと、
\begin{equation}
\boldsymbol{x}_1 \cdot (c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r)=0\\
\boldsymbol{x}_2 \cdot (c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r)=0\\
{\vdots}\\
\boldsymbol{x}_r \cdot (c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r)=0\\
\end{equation}
以上の式を以下のように\(1\)つにまとめます。
$$(c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r) \cdot (c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r)=0$$
これは自分自身の内積が\(0\)ということなので、
$$c_1 \boldsymbol{x}_1+c_2 \boldsymbol{x}_2+\cdots+c_r \boldsymbol{x}_r=\boldsymbol{0}$$
定義より\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)は線形独立であるため、
$$c_1=c_2=\cdots=c_r=0\tag{7}$$
\( (7) \)と\( (6) \)により\(A\boldsymbol{x}_1,A\boldsymbol{x}_2,\cdots,A\boldsymbol{x}_r\)は線形独立であるということがわかります。ここで、
$$A=(\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_n)$$
$$\boldsymbol{x}_i=(x_{i1},x_{i2},\cdots,x_{in})$$
とすると、
\begin{equation}
A{\boldsymbol{x}_1}=x_{11}\boldsymbol{a}_1+x_{12}\boldsymbol{a}_2+\cdots+x_{1n}\boldsymbol{a}_n\\
A{\boldsymbol{x}_2}=x_{21}\boldsymbol{a}_1+x_{22}\boldsymbol{a}_2+\cdots+x_{2n}\boldsymbol{a}_n\\
{\vdots}\\
A{\boldsymbol{x}_r}=x_{r1}\boldsymbol{a}_1+x_{r2}\boldsymbol{a}_2+\cdots+x_{rn}\boldsymbol{a}_n\\
\end{equation}
と、\(A\boldsymbol{x}_1,A\boldsymbol{x}_2,\cdots,A\boldsymbol{x}_r\)は\(A\)の列ベクトルの線形結合で表されます。
また、\(A\boldsymbol{x}_1,A\boldsymbol{x}_2,\cdots,A\boldsymbol{x}_r\)は線形独立なのでそれぞれが少なくとも次元が\(r\)である空間に属していなければなりません。右辺の\(\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_n\)も同じ空間に属しているのでこれらの中に少なくとも\(r\)個の線形独立なベクトルがあります。
\(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_r\)は行ベクトルなので\(A\)の行ランクは\(r\)、\(\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_n\)は\(A\)の列ベクトルなので\(A\)の列ランクは\(r\)以上つまり、
\(A\)の行ランク \(\leq\) \(A\)の列ランク
\(A^T\)について同様に適用すると、
\(A^T\)の行ランク \(\leq\) \(A^T\)の列ランク
転置すると、
\(A\)の列ランク \(\leq\) \(A\)の行ランク
であるので、
\(A\)の行ランク = \(A\)の列ランク
であることがわかります。
定理3
$$\mathrm{rank}(AB) \leq \mathrm{min}(\mathrm{rank}(A),\mathrm{rank}(B))$$
証明
\(A\)を\(m \times r\)、\(B\)を\(r \times n\)の行列、\(A=(a_{ij})=(\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_r),\ B=(b_{ij})\)とする。\(AB\)の第\(i\)列のベクトルは、
\begin{align}
\left(\sum_{k=1}^r a_{1k}b_{ki},\sum_{k=1}^r a_{2k}b_{ki},\cdots ,\sum_{k=1}^r a_{mk}b_{ki}\right)
=\sum_{k=1}^r b_{ki}\boldsymbol{a}_k
\end{align}
となるので\(AB\)のそれぞれの列は\(A\)の列の線形結合で表される。
したがって、
$$\mathrm{rank}(AB) \leq \mathrm{rank}(A)$$
同様に\(AB\)のそれぞれの行は\(B\)の行の線形結合で表されるので、
$$\mathrm{rank}(AB) \leq \mathrm{rank}(B)$$
以上より、
$$\mathrm{rank}(\mathrm{AB}) \leq \mathrm{min}(\mathrm{rank}(A),\mathrm{rank}(B))$$
■
補足
証明の中で「\(AB\)のそれぞれの列が\(A\)の列の線形結合で表される。」、「\(AB\)のそれぞれの行が\(B\)の行の線形結合で表される。」とありますが、証明2の補足の図を参照ください。
定理4
行列式が\(0\)ではない小行列の最大次数はその行列のランクに等しい。
行列式が\(0\)ではない最大次数の小行列が\(3\times3\)であったとします。
正則であるので、\(3\)個の列ベクトルは線形独立です。
第\(4,5\)行を追加します。これらの成分がどのような値であっても\(3\)列が線形独立であることには変わりはありません。
同様に第\(4,5\)列を追加します。やはり第\(1-3\)行は線形独立です。
以上、線形独立な行・列の数は小さくても\(3\)です。しかし行列式が\(0\)でない最大次数の小行列を\(3\times 3\)としたので線形独立な行・列の数は\(3\)より大きくはなりません。したがってこの行列のランクは\(3\)です。
ここまでは小行列の大きさから行列ランクを求めました。逆に行列のランクがわかっている場合はどうでしょう。
行列の\(3\)列のみが線形独立であったとします。
線形独立である列ベクトルの一部を取り出して並べると、やはり線形独立となる部分(色が付いた成分)があるはずです。これが\(3\)行であったとします。
線形独立な行を抽出します。
さらに列を抽出します。
定理2(行と列のランクは等しい)より列の数も\(3\)です。
したがって、行列のランクが\(3\)であれば\(3\times 3\)の小行列が存在することがわかります。