0. 问题描述
这一章节面对的问题是说,给定一个 n n n阶矩阵,如何数值求解其特征值,即:
A x = λ x Ax = \lambda x Ax=λx
1. 幂法
1. 思路
幂法的主要思路其实依然还是来源于迭代思想。
显然,对于任意一个向量 x ⃗ \vec{x} x,我们总可以将其用 n n n阶矩阵的一组正交基进行表示,即:
x ⃗ = ∑ i = 1 n x i ⋅ n i ⃗ \vec{x} = \sum_{i=1}^{n} x_i \cdot \vec{n_i} x=i=1∑nxi⋅ni
其中, n i ⃗ \vec{n_i} ni为矩阵 A A A的一个单位向量,有 A n i ⃗ = λ i n i ⃗ A\vec{n_i} = \lambda_i \vec{n_i} Ani=λini。
令 x ⃗ ( 0 ) = ∑ i x i n i ⃗ \vec{x}^{(0)} = \sum_{i}x_i \vec{n_i} x(0)=∑ixini, x ⃗ ( k + 1 ) = A x ⃗ ( k ) \vec{x}^{(k+1)} = A\vec{x}^{(k)} x(k+1)=Ax(k),则易有:
x ⃗ ( k ) = ∑ i x i ⋅ λ i k ⋅ n i ⃗ \vec{x}^{(k)} = \sum_{i} x_i \cdot \lambda_i^k \cdot \vec{n_i} x(k)=i∑xi⋅λik⋅ni
对应的模长为:
∣ ∣ x ⃗ ( k ) ∣ ∣ = ∑ i x i 2 λ i 2 k ||\vec{x}^{(k)}|| = \sqrt{\sum_i x_i^2 \lambda_i^{2k}} ∣∣x(k)∣∣=i∑xi2λi2k
我们考虑当 k → ∞ k \to \infty k→∞时 x ⃗ ( k ) \vec{x}^{(k)} x(k)的方向,不妨设 m a x ( ∣ λ i ∣ ) = λ max(|\lambda_i|) = \lambda max(∣λi∣)=λ。
不妨设 λ = ∣ λ 1 ∣ ≥ ∣ λ 2 ∣ ≥ . . . ≥ ∣ λ n ∣ \lambda = |\lambda_1| \geq |\lambda_2| \geq ... \geq |\lambda_n| λ=∣λ1∣≥∣λ2∣≥...≥∣λn∣,则我们可以分情况讨论有:
-
假设有且仅有一个正的 λ i \lambda_i λi使得 ∣ λ i ∣ = λ |\lambda_i| = \lambda ∣λi∣=λ
lim k → ∞ x ⃗ ( k ) ∣ ∣ x ⃗ ( k ) ∣ ∣ = n 1 ⃗ \lim_{k \to \infty} \frac{\vec{x}^{(k)}}{||\vec{x}^{(k)}||} = \vec{n_1} k→∞lim∣∣x

本文介绍了数值计算中矩阵特征值的三种方法:幂法、反幂法和实对称矩阵的Jacobi方法。幂法通过迭代逼近最大特征值,反幂法则针对最小特征值,而Jacobi方法适用于实对称矩阵的全部特征值求解。
最低0.47元/天 解锁文章
707

被折叠的 条评论
为什么被折叠?



