矩阵特征值和特征向量、乘幂法、反幂法

《应用数值分析》
《应用数值分析》

目录

7. 矩阵特征值计算

7.1 矩阵特征值和特征向量

设 $\pmb{A}$ 是 $n$ 阶方阵,$\pmb{x}=(x_1,x_2,\cdots,x_n)^T$ 是 $n$ 维列向量。若有数值 $\lambda$,使得下面的矩阵方程:

有非零解 $\pmb{x}$,则称数值 $\lambda$ 为方阵 $\pmb{A}$ 的特征值,而对应的非零解 $\pmb{x}$ 称为对应特征值 $\lambda$ 的特征向量

将上式变换为:

于是,当且仅当方程的系数矩阵行列式为零时,即

方程有非零解。将上式等号左边按 $\lambda$ 展开,得到 $\lambda$ 的 $n$ 次多项式,称为 $\pmb{A}$ 的特征多项式,上式也变成多项式方程:

特征值 $\lambda$ 即为 $n$ 次多项式方程的解

7.2 乘幂法

7.2.1 求模最大的特征值的乘幂法

输入:矩阵 $\pmb{A}$,精度要求 $\varepsilon$,迭代次数上限 $N$

输出:模数最大的特征值 $\lambda_1$ 及对应的特征向量 $\pmb{x}$

算法过程

  1. 任意取一个非零向量 $\pmb{V}_0=(x_1,x_2,\cdots,x_n)^T$,迭代次数 $k=0$,向量 $\pmb{V}$ 中绝对值最大的分量 $m_0$
  2. $\pmb{U}^{(k)}=\pmb{A}\pmb{V}^{(k-1)}$,$m = \max \{ \pmb{U}^{(k)} \}$,$\pmb{V}^{(k)}=\displaystyle{\frac{1}{m}}\pmb{U}^{(k)}$,$k=k+1$
  3. 若 $|m-m_0| < \varepsilon$,则转到 4;若 $k \geqslant N$,则显示“超出最大迭代次数”,停机;否则,$m_0 = m$,转向 2
  4. $\lambda_1 = m$,$\pmb{x} = \pmb{V}^{(k)}$,输出结果结束

7.2.2 求模最小的特征值的反幂法

输入:矩阵 $\pmb{A}$,精度要求 $\varepsilon$,迭代次数上限 $N$

输出:模数最小的特征值 $\lambda_n$ 及对应的特征向量 $\pmb{x}$

算法过程

  1. 任意取一个非零向量 $\pmb{V}_0=(x_1,x_2,\cdots,x_n)^T$,迭代次数 $k=0$,向量 $\pmb{V}$ 中绝对值最大的分量 $m_0$
  2. 将矩阵 $\pmb{A}$ 作 $LU$ 分解:$\pmb{A} = \pmb{L}\pmb{U}$,得到下三角矩阵 $\pmb{L}$ 和上三角矩阵 $\pmb{U}$
  3. 解线性方程组 $\pmb{L}\pmb{W}=\pmb{x}$,得到解 $\pmb{W} \in \pmb{R}^n$。再解线性方程组 $\pmb{U}\pmb{Y}=\pmb{W}$,得到解 $\pmb{Y} \in \pmb{R}^n$。$m \leftarrow$ 向量 $Y$ 中绝对值最大的分量,$\pmb{x} \leftarrow \displaystyle{\frac{1}{m}} \pmb{Y}$,$k \leftarrow k+1$
  4. 若 $\left| \displaystyle{\frac{1}{m}} - \displaystyle{\frac{1}{m_0}} \right| < \varepsilon$,且 $|m-m_0| < \varepsilon$,则转到 5;若 $k \geqslant N$,则显示“超出最大迭代数”,停机;否则,$m_0 \leftarrow m$,转回 3
  5. 输处模最小的特征值 $\lambda_n = \displaystyle{\frac{1}{m}}$,对应的特征向量 $\pmb{x} = \pmb{V}^{(k)}$,算法结束