对应教材 3.1.1–3.1.2、例 1–2、习题 1–6;对应老师第 6 讲末、第 7 讲 §一–§八。
主线:幂法求模最大特征值,反幂法求模最小特征值,位移反幂法求最接近 p 的特征值。
设 A 有 n 个线性无关的特征向量 x1,…,xn,对应特征值满足
∣λ1∣>∣λ2∣≥⋯≥∣λn∣.
任取非零 u0,若 u0 在 x1 方向分量不为零,则
uk=Aku0=a1λ1kx1+a2λ2kx2+⋯+anλnkxn=λ1k(a1x1+j=2∑naj(λ1λj)kxj).
当 k 充分大时,uk 的方向趋于 x1;比值 ∣λ2/λ1∣ 越小,收敛越快。
规范化幂法(教材式 3.4/3.7):
yk−1=∥uk−1∥2uk−1,uk=Ayk−1,βk=yk−1Tuk.
βk→λ1,yk−1→x1/∥x1∥2。
老师强调的顺序:先单位化,再乘 A。若先乘 A 再单位化,范数会随 λ1k 爆炸/下溢;先单位化把尺度钉住,数值稳定。
为什么特征值必须用 2-范数:特征向量只关心方向,范数任取;但 βk=yk−1TAyk−1 只有在 ∥y∥2=1 时才是 Rayleigh 商。用 ∞-范数归一化会丢掉分母 yTy,把二阶精度降为一阶。
收敛速度:误差按 ∣λ2/λ1∣k 下降;若 ∣λ1∣=⋯=∣λm∣>∣λm+1∣,则 yk 收敛到 λ1 的特征子空间中的某个向量,βk 仍收敛到 λ1。
例 1(教材 3.1.1):矩阵
A=6−21−12−12−3−1262451.
精确特征值为 45,18,−9。取 u0=(1,0,0)T,按规范化幂法迭代,βk 迅速趋向 45:
| k | ukT | ykT | βk |
| 0 | 1.0000, 0.0000, 0.0000 | 1.0000, 0.0000, 0.0000 | — |
| 1 | 6.0000, -21.0000, -12.0000 | 0.2857, -1.0000, -0.5714 | 6.0000 |
| 2 | 10.2857, -16.7143, -20.5714 | 0.5000, -0.8125, -1.0000 | 16.7143 |
| 3 | 6.7500, -32.0625, -47.2500 | 0.1429, -0.6786, -1.0000 | 47.2500 |
| 4 | 3.0000, -24.9643, -44.5714 | 0.0673, -0.5601, -1.0000 | 44.5714 |
| 5 | 1.1250, -23.7332, -45.0865 | 0.0250, -0.5264, -1.0000 | 45.0865 |
| 9 | 0.0294, -22.5296, -45.0001 | 0.0016, -0.5016, -1.0000 | 45.0001 |
结果 λ1≈45.0001,x1≈(0.0016,−0.5016,−1)T,与精确解 (0,−0.5,−1)T 同向。
若 A 非奇异,A−1 的特征值是 1/λi,特征向量不变。因此对 A−1 用幂法,就得到 A 的模最小特征值:
Auk=yk−1,βk=yk−1Tuk≈λn1.
实际计算不构造 A−1,每步解一个线性方程组;先对 A 做一次 LU 分解,之后反复前代/回代。
位移反幂法:对 A−pI 用反幂法,得到最接近 p 的特征值:
(A−pI)uk=yk−1,λ≈p+βk1.
p 越接近目标特征值,收敛越快;p 恰好等于特征值时,A−pI 奇异,需要特殊处理(或取邻近值)。
例 2(教材 3.1.2):仍取例 1 的 A,求模最小特征值。反幂法迭代表(节选):
| k | ukT | ykT | βk |
| 0 | 1.0000, 1.0000, 1.0000 | 0.5774, 0.5774, 0.5774 | — |
| 1 | -0.0321, -0.0706, -0.0128 | -0.4082, -0.8981, -0.1633 | -0.0667 |
| 2 | 0.0680, 0.0844, 0.0085 | 0.6278, 0.7784, 0.0781 | -0.1049 |
| 3 | -0.0664, -0.1049, -0.0388 | -0.5105, -0.8065, -0.2981 | -0.1264 |
| 4 | 0.0582, 0.0856, 0.0280 | 0.5424, 0.7985, 0.2610 | -0.1071 |
| 7 | -0.0594, -0.0892, -0.0297 | — | -0.1112 |
λ3≈1/β7≈−8.9928,特征向量 x3≈(0.5359,0.8009,0.2671)T,与精确值 −9、(0.5345,0.8018,0.2673)T 一致。
3.1 · 幂法乘法次数(教材习题 1)
用 uk=Aku0 与逐步 ui=Aui−1 两种形式产生 uk,各需多少次乘法?
参考答案
逐步乘:k 次矩阵-向量乘,每次 n2 次乘法,共 kn2。先算 Ak 再乘 u0:Ak 需约 (k−1)n3 次,再加 n2,远贵。实际永远用逐步乘。
3.2 · 幂法求主特征值(教材习题 2)
用幂法求教材习题 2 中两个矩阵的按模最大特征值与特征向量,要求 ∣βk−βk−1∣/∣βk∣≤10−4。
参考答案
按规范化幂法迭代,直到相邻 β 的相对差小于 10−4;βk 收敛到 λ1,yk−1 收敛到特征向量方向。具体数值用 NumPy/Python 复算,保留四位。
3.3 · 商序列收敛(教材习题 3)
设 u0 在 x1 方向分量非零,vTx1=0,证明 βk=vTAk−1u0vTAku0→λ1。
参考答案
把 Aku0 展开为 ∑ajλjkxj,分子分母同除 λ1k−1;由 ∣λj/λ1∣<1(j≥2)得极限 λ1vTx1vTx1=λ1。
3.4 · 反幂法(教材习题 4)
用反幂法求第 2 题 (1) 的矩阵按模最小的特征值与特征向量,要求相对差 ≤10−4。
参考答案
对 A 做 LU 分解;每步解 Auk=yk−1,βk=yk−1Tuk,λn≈1/βk。不要构造 A−1。
3.5 · 已知近似特征值(教材习题 5)
已知 A 的一个特征值 λ≈9,用反幂法精修 λ 与特征向量。
参考答案
取位移 p=9,对 A−pI 做反幂法;λ≈p+1/βk。若 A−pI 近似奇异,迭代会很快收敛,但要注意分解的数值稳定性。
3.6 · 实特征值的算法选择(教材习题 6)
设 −50<λ1<λ2<−10≤λ3≤⋯≤λn,分别写出求 λ1,λ2,λn 的迭代格式。
参考答案
求 λn:幂法(模最大)。求 λ1:反幂法(模最小)或位移反幂法(p 取在 λ1 附近)。求 λ2:用位移 p 取在 λ2 与 λ3 之间(如 p=−10 附近),对 A−pI 反幂法,收敛到最接近 p 的 λ2。
覆盖核对
本节覆盖教材 3.1.1–3.1.2、例 1–2、习题 1–6;老师第 6 讲末、第 7 讲 §一–§八。下一节:3.2 Jacobi 方法。