階数因数分解
.. : c r ] {\displaystyle C=[c_{1}:c_{2}:\ldots :c_{r}]} を構成する。したがって、 A {\displaystyle A} の全ての列ベクトルは、 C {\displaystyle C} の列の線型結合である。正確に言うと、 A = [ a 1 : a 2 : ... : a n ] {\displaystyle A=[a_{1}:a_{2}:\ldots :a_{n}]} を第 j {\displaystyle j} 列が a j {\displaystyle a_{j}} であるような m × n {\displaystyle m\times n} 行列とすれば、
a j = f 1 j c 1 + f 2 j c 2 + ⋯ + f r j c r , {\displaystyle a_{j}=f_{1j}c_{1}+f_{2j}c_{2}+\cdots +f_{rj}c_{r},}
となる。ただし f i j {\displaystyle f_{ij}} は、基底 c 1 , c 2 , ... , c r {\displaystyle c_{1},c_{2},\ldots ,c_{r}} に関する a j {\displaystyle a_{j}} のスカラー係数である。このことは、 f i j {\displaystyle f_{ij}} を ( i , j ) {\displaystyle (i,j)} -成分とする行列 F {\displaystyle F} によって A = C F {\displaystyle A=CF} が得られることを意味する。
( A T ) T {\displaystyle (A^{\text{T}})^{\text{T}}} = A {\displaystyle A} なので、rank( A {\displaystyle A} ) = rank( ( A T ) T ) {\displaystyle (A^{\text{T}})^{\text{T}})} ≤ rank( A T {\displaystyle A^{\text{T}}} ) と書くことが出来る。このことから rank( A ) {\displaystyle A)} ≤ rank( A T {\displaystyle A^{\text{T}}} ) が示される。したがって、rank( A T ) {\displaystyle A^{\text{T}})} ≤ rank( A {\displaystyle A} ) かつ rank( A {\displaystyle A} ) ≤ rank( A T {\displaystyle A^{\text{T}}} ) であることから、rank( A {\displaystyle A} ) = rank( A T {\displaystyle A^{\text{T}}} ) が示された。