Skip to content

矩阵的特征值和特征向量

定义

对于一个 \(n\) 阶的方阵 \(\boldsymbol{A}\),以及一个实数 \(\lambda\),若能找到一个非零向量 \(\boldsymbol{x}\),满足:

\[ \boldsymbol{A}\boldsymbol{x}=\lambda\boldsymbol{x} \]

\(\lambda\) 是矩阵 \(A\) 的特征值,\(\boldsymbol{x}\)\(\boldsymbol{A}\) 的特征向量

几何意义

对向量 \(\boldsymbol{x}\) 做线性变换 \(T\),且 \(T\) 的矩阵为 \(\boldsymbol{A}\)。存在一些特定方向的向量在进行线性变换之后方向没有发生变化只是长度发生了变化,这个向量即为 \(\boldsymbol{A}\) 的特征向量,长度变化的系数即为特征值。

计算

对原式变形:

\[ (\boldsymbol{A}-\lambda\boldsymbol{E})\boldsymbol{x}=0 \]

这是一个 \(n\) 元齐次线性方程组,若要存在非零解则需要系数矩阵的秩小于 \(n\),即

\[ |\boldsymbol{A}-\lambda\boldsymbol{E}|=0 \]

其中 \(|\boldsymbol{A}-\lambda\boldsymbol{E}|\) 是关于 \(\lambda\) 的一个一元 \(n\) 次方程组。

重要结论

  • \(\lambda_1+\lambda_2+\cdots+\lambda_n=a_{11}+a_{22}+\cdots+a_{nn}\)

  • \(\lambda_1\lambda_2\cdots\lambda_n=|\boldsymbol{A}|\)

Python 求解

import numpy as np

a = np.mat([[3,1], [1, 3]])
eig_val, eig_vec = np.linalg.eig(a)

print("Eigen Value: ", eig_val)
print("Eigen Vector: ", eig_vec)