おっぱいそん!

pythonを数値計算に使うときのテクニックとかをまとめていきたい。

行列のランクと固有値の関係

行列のrankとnonzeroの固有値の関係について、すぐに忘れるのでメモしておく。
結論から先に書くと、一般の正方行列Aについて、

rank A ≧ Aの(重複度も含めた)nonzeroの固有値の数

が成り立つ。
特に、対角化可能な行列の場合には

rank = nonzeroの固有値の数

が成り立つ。
以下で、証明を書いておく。


m×n行列Aを考える。これは{ \displaystyle  \mathbb{C}^{n} \rightarrow \mathbb{C}^{m}  }の線形写像準同型写像)なので、準同型定理(Im AとC^n/ker Aが同型)より、
rank A := dim range A = n - dim ker A
が成り立つ(線形代数の文脈ではimageはrangeとも書かれたりする)。
Ref: 階数・退化次数の定理 - Wikipedia

以下では、固有値との関係を議論したいので、Aを正方行列と仮定する(n=m)。
{ \displaystyle  \mathrm{ker}A := \left\{ v \in \mathbb{C}^{n} \middle| Av =\mathbb{0} \right\}  }
より、vはゼロ固有値固有ベクトルになっている。
従って、{ \displaystyle
 \mathrm{dim \ ker} \ A \le} (重複度も考慮した)ゼロ固有値の数
これと、rankとdim ker Aの関係式を組み合わせると、
rank A = n - dim ker A ≧ n - ゼロ固有値の数 = ゼロでない固有値の数
となり確かに、「rank A ≧ Aの(重複度も含めた)nonzeroの固有値の数」が示せた。


特に、対角化可能な行列の場合には、
dim ker A = ゼロ固有値の数
となるので、「rank A = Aの(重複度も含めた)nonzeroの固有値の数」が示せた。
または別証明として、Aが対角化できる場合にはある正則行列Pと対角行列Wを用いて、A = P W P^{-1}と書ける。
Pは正則行列より、rank A = rank W。
また、Wは対角行列なので、rank W = ゼロでない対角成分(Aの固有値)の数。
従って、rank A = ゼロでない固有値の数が示せた。


Ref:
Relation between rank and number of non-zero eigen values.
linear algebra - Relation between rank and number of non-zero eigenvalues of a matrix - Mathematics Stack Exchange
linear algebra - Relationship: Rank of a matrix $\leftrightarrow$ # of eigenvalues - Mathematics Stack Exchange