本页目录

数值线代 II · 特征值迭代、移位与残差证据

本页问题:一个向量已经几乎满足特征方程,它对应哪一个特征值?另一段程序把矩阵变得近乎对角,哪些量真的得到了保留?

前置:SVD、QR与后向误差、正交投影、矩阵乘法和浮点舍入。先算清二维方向的竞争,再执行四维矩阵的移位与缩减。

学习层:残差是一条证据,结论还需要条件

两台仪器都说“误差很小”,它们可能在回答不同的问题

设程序给出单位向量 \(x\) 和数 \(\rho\),并报告 \(Ax-\rho x\) 很小。这直接说明:改变矩阵一点点,就能使这对数值成为精确特征对。但原矩阵是否真有一个很近的特征值、向量方向是否已经准确,还需要进一步判断。

对对称矩阵,正交特征方向使这些问题比较容易连接。对非正规矩阵,不同特征向量几乎平行,小残差可能把相当远的数也当成“差不多的特征值”。

实验 实际执行什么 先分开的量
向量迭代 幂法、固定移位反幂法、Rayleigh商迭代 预期目标、实际最近谱点、残差、夹角、停止原因
四维QR 无移位与Wilkinson移位、Givens分解、尾端缩减 非对角项、谱估计、累计基、相似误差、删去元素的扰动
非正规敏感性 最小奇异值与显式矩阵扰动 原谱距离、实际残差、最小扰动、扰动后的特征方程

无JavaScript也能核对。 静态数值对应页面说明的固定参数;浮点算法的近零误差可能随运行环境略变,不能把某一机器的最后几位当成数学常数。

固定运行:2026-09-11,Node 24.14.0 / darwin arm64。下载完整参数与计算记录。三种模式分别使用对称默认参数、四维链c=2与b=0.4且32步预算、γ=20与z=1.5的实轴截面;共同尺度均为1。

固定参数下的量 参考值
幂法末步ρ 2
幂法末步相对残差 5.55111512313e-17
固定反幂末步ρ 2
固定反幂末步相对残差 2.40498499143e-15
Rayleigh末步ρ 2
Rayleigh末步相对残差 4.04127281044e-16
无移位QR实际步数 32
无移位QR末步非对角范数 0.00487727407726
无移位QR末步相对相似误差 6.41025384257e-16
Wilkinson实际步数 8
Wilkinson末步非对角范数 0
Wilkinson末步相对相似误差 3.93678616478e-16
γ=20,z=1.5:到原谱距离 0.5
同参数最小奇异值 0.0124921972504
实际见证残差 0.0124921972504
显式扰动范数 0.0124921972504
构造后特征方程残差 0
同尺度容许扰动ε 0.1

向量停止原因:幂法=达到残差阈值;固定反幂=达到残差阈值;Rayleigh=达到残差阈值。QR停止原因:无移位=预算结束;Wilkinson=完成缩减。

先读停止原因,再读最后一行数值。“达到残差阈值”不等于在实数数学中精确收敛;“预算结束”也不等于算法已经完成。

向量迭代、真实移位QR和非正规敏感性的数值对照

插图可点按打开原图。每个绘出的点都有对应的数值记录;对数图不把0或缺失值替换成一个人为的小正数。

1. 特征对、完整分解与精确表示

特征方程是

\[ Ax=\lambda x,\qquad x\ne0. \]

实对称矩阵有正交分解 \(A=Q\Lambda Q^T\)。一般实矩阵的特征值可以为复数,特征向量也未必构成一组基。例如

\[ J=\begin{pmatrix}1&1\\0&1\end{pmatrix} \]

只有一个线性无关的特征向量。因此,一个通用算法不能承诺把所有实矩阵都变成实对角矩阵。

更合适的目标是Schur分解:复数域中 \(A=QTQ^*\),其中 \(Q\) 酉、\(T\) 上三角;实数域中可取实正交 \(Q\),但 \(T\) 允许沿对角出现 \(2\times2\) 块。这些块容纳共轭复特征值。LAPACK的分阶段说明也将Schur向量与最终特征向量的计算分开。

为什么常用迭代?因为我们希望在给定成本内得到可靠的近似,并能检查误差。Abel–Ruffini定理排除了五次及以上一般多项式的通用根式公式,并没有排除所有计算模型中的有限步精确表示。代数数可以用多项式及隔离区间等方式表示,特殊矩阵也可以有闭式谱。不能从“没有根式公式”推出“任何精确算法都不可能”。

数值计算通常也不先展开特征多项式再求根:改变矩阵元素和改变多项式系数是不同的扰动模型,后者可能引入不必要的敏感性。保留矩阵结构和正交变换,才方便给计算过程解释误差。

2. Rayleigh商与残差:哪些结论可以直接证明

对非零 \(x\),Rayleigh商为

\[ \rho(x)=\frac{x^*Ax}{x^*x}. \]

取 \(\|x\|_2=1\),定义 \(r=Ax-\rho x\)。对一般矩阵也有

\[ \Delta A=-rx^*,\qquad (A+\Delta A)x=\rho x,\qquad \|\Delta A\|_2=\|r\|_2. \]

反过来,任何满足该特征方程的扰动都必须满足 \(\|\Delta A\|_2\ge\|r\|_2\)。因此残差给出了保持这个向量和估计值不变时,最小的非结构矩阵扰动。这里允许任意矩阵扰动,没有要求它仍对称、稀疏或保持物理约束。

若 \(A\) 正规,可用酉基展开

\[ A=U\Lambda U^*,\quad x=\sum_j c_ju_j,\quad \|r\|_2^2=\sum_j|\lambda_j-\rho|^2|c_j|^2. \]

因为 \(\sum_j|c_j|^2=1\),立即得到

\[ \operatorname{dist}(\rho,\sigma(A))\le\|r\|_2. \]

要证明方向接近某一个 \(u_i\),则需当前估计与其余谱的距离

\[ \operatorname{sep}_i(\rho)=\min_{j\ne i}|\lambda_j-\rho|. \]

若该量严格为正,且目标方向是一个单独的特征方向,

\[ \sin\angle(x,u_i) =\sqrt{\sum_{j\ne i}|c_j|^2} \le\frac{\|r\|_2}{\operatorname{sep}_i(\rho)}. \]

这不是把分母随手替换成固定谱隙。\(\operatorname{gap}_i=\min_{j\ne i}|\lambda_j-\lambda_i|\) 以真特征值为中心;当前的 \(\rho\) 可能还没有足够接近它。

实验只对明确的正规矩阵和唯一的目标方向给出该上界。重根、最近谱点打平或复谱没有相应实方向时留空;非正规矩阵仍可计算残差,却不能借用上述酉展开。紧簇中的单个方向可能敏感,而整个簇对应的子空间仍稳定,这是LAPACK误差分析特别区分的两件事。

3. 幂法:竞争的是模长,起点也有决定权

先设 \(A\) 可对角化,并将起点写成

\[ x_0=\sum_j c_jv_j. \]

反复乘矩阵得到 \(A^kx_0=\sum_j c_j\lambda_j^kv_j\)。若

\[ |\lambda_1|>|\lambda_2|\ge\cdots,\qquad c_1\ne0, \]

则除以 \(c_1\lambda_1^k\) 后,其余系数按 \((\lambda_j/\lambda_1)^k\) 衰减。每轮归一化只改变长度,保留这场方向竞争。

对二维实对称矩阵,在正交特征基中写 \(x_k=\cos\theta_k\,v_1+\sin\theta_k\,v_2\),就有精确关系

\[ |\tan\theta_{k+1}| =\left|\frac{\lambda_2}{\lambda_1}\right| |\tan\theta_k|. \]

于是“小模长比”对应快收敛,“接近1”对应慢收敛。但要逐项检查条件:

实验同时保留按规则预期的目标和当前Rayleigh估计最近的谱点。它们不一致时,不能只换一个标签掩盖初值或目标选择的问题。

4. 固定移位反幂法:改变谱的相对大小

选定 \(\mu\notin\sigma(A)\),解

\[ (A-\mu I)y_{k+1}=x_k,\qquad x_{k+1}=\frac{y_{k+1}}{\|y_{k+1}\|_2}. \]

这里写逆矩阵是理解符号,实际运行解线性系统。每个原特征方向仍保留,其特征值变成 \(1/(\lambda_j-\mu)\)。若最近谱点 \(\lambda_i\) 唯一,且初值在该方向上的系数不为零,就有竞争因子

\[ \max_{j\ne i} \left|\frac{\lambda_i-\mu}{\lambda_j-\mu}\right|. \]

所以移位靠近目标可以加速。但“靠近”与“正好等于”不同:\(\mu\) 恰为特征值时,线性系统奇异。实验保留这个停止原因,不把失败替换成默认移位。

大问题上固定移位通常允许复用一次LU分解;本页二维求解器逐次显式执行,目的是展示实际消元、主元和求解残差,不能把它的运行时间直接当成库实现的性能比较。

靠近目标时移位矩阵会病态,这并不自动让反幂法失去用途:放大最大的方向正是算法想提取的方向。但仍要记录线性求解误差,而不是从“方向有利”推断每一个返回值都可靠。ALAFF的原始教学推导将这两层分别说明。

5. Rayleigh商迭代:二维模型里能直接看见三次项

现在每轮更新移位 \(\mu_k=\rho(x_k)\),再解移位系统。对二维实对称矩阵,仍在正交特征基中写 \(x=\cos\theta\,v_1+\sin\theta\,v_2\)。于是

\[ \rho=\lambda_1\cos^2\theta+\lambda_2\sin^2\theta, \]

以及

\[ \lambda_1-\rho=(\lambda_1-\lambda_2)\sin^2\theta,\qquad \lambda_2-\rho=-(\lambda_1-\lambda_2)\cos^2\theta. \]

当两分母都不为零时,新向量的系数比满足

\[ \tan\theta_{\mathrm{new}} =\frac{\lambda_1-\rho}{\lambda_2-\rho}\tan\theta =-\tan^3\theta. \]

靠近 \(v_1\) 时,角度每轮变为原来三次量级;负号只说明在目标方向两侧交替。这给出了“三次局部收敛”的具体来源,不是对所有起点、所有矩阵或所有浮点运行的承诺。\(\theta=\pi/4\) 时两个方向打平,也不在吸引目标的局部邻域。

实际程序需要先判断残差,再决定是否继续解几乎奇异的系统。本实验的状态分开表示:

前两项都不称作实数数学中的“精确收敛”。在非正规例子中,Rayleigh移位还可能落到一个真特征值上,而当前向量并不是特征向量;此时奇异移位是真失败,不能被小矩阵的漂亮轨迹遮住。

6. QR迭代:对整个基做相似变换

对当前矩阵作 \(A_k=Q_kR_k\),然后令 \(A_{k+1}=R_kQ_k\)。由于 \(Q_k\) 正交,

\[ A_{k+1}=Q_k^TA_kQ_k. \]

若 \(Z_k=Q_0Q_1\cdots Q_{k-1}\),则精确算术中

\[ A_k=Z_k^TA_0Z_k. \]

因此谱得到保留。再把相似关系与分解关系相乘,可以看到累计的 \(Z_k\) 也与对 \(A_0^k\) 进行QR分解、逐次正交化整组基有关。这就是QR与同时迭代的联系;“暗中在做幂法”仍需要谱模长分离和初始旗标不退化等收敛条件。

对对称矩阵,接近对角化可以帮助读出实特征值。对一般实矩阵,只能期待合适的实Schur块,不能承诺所有非对角元都趋于0。旋转矩阵

\[ A=\begin{pmatrix}0&-1\\1&0\end{pmatrix} \]

的特征值为 \(\pm i\),本来就没有实特征方向;保留一个实 \(2\times2\) 块不是失败。

浮点实验每轮都保存完整的 \(A_k\) 和累计 \(Z_k\),并分别报告

\[ \|Z_k^TZ_k-I\|_F,\qquad \|Z_k^TA_0Z_k-A_k\|_F,\qquad \|A_0Z_k-Z_kA_k\|_F. \]

三者回答不同的问题:基还正交吗、相似关系偏离多少、当前基与变换后的矩阵是否共同解释原矩阵。对角线尚未收敛时,只把它称为“对角估计”,不直接当成已验收的特征值。

7. 有限步结构化与反复迭代各做什么

稠密一般矩阵通常先通过正交相似变换化为上Hessenberg形;实对称情形可以化为三对角形。先消去大量无关位置,可以让之后的迭代更便宜。

这并不与前面的精确表示讨论矛盾:Hessenberg化本身是有限次消元,通常没有完成本征求解。之后还需移位、迭代、缩减和回代。

实际库使用结构化QR/QL、隐式移位及其他算法组合。本页四维模型明确使用显式Givens QR:每次平面旋转都可单独检查,

\[ G=\begin{pmatrix}c&s\\-s&c\end{pmatrix}, \quad c=\frac a{\sqrt{a^2+b^2}}, \quad s=\frac b{\sqrt{a^2+b^2}}, \quad G\binom ab=\binom{\sqrt{a^2+b^2}}0. \]

它适合学习相似变换的机制,却没有实现大型库的隐式追赶与缓存优化。每次分解的 \(Q\)、\(R\)、旋转参数和实际工作矩阵都保留,不能只画一条预设衰减曲线代替算法。

8. Wilkinson移位与缩减:加速也需要记下修改量

移位QR执行

\[ A_k-\mu_kI=Q_kR_k,\qquad A_{k+1}=R_kQ_k+\mu_kI. \]

它仍是正交相似变换。对实对称三对角矩阵,Wilkinson策略在末尾 \(2\times2\) 主块中选靠近右下角的特征值。若主块是 \(\begin{pmatrix}a&b\\b&d\end{pmatrix}\),令 \(\delta=(a-d)/2\),可用避免不必要相消的形式

\[ \mu=d- \operatorname{sign}_0(\delta) \frac{b^2}{|\delta|+\sqrt{\delta^2+b^2}}, \qquad \operatorname{sign}_0(0)=1. \]

\(b=0\) 时直接取 \(\mu=d\)。这里只求一个局部块的谱,用它帮助更大的活动块分离。

若整个问题本来只有 \(2\times2\),该移位已经取得全矩阵的一个本征值;它的极快消去不能用来证明一般渐近收敛阶。因此下面使用四维链。

也不能无条件说Wilkinson策略始终三次收敛。已有原始研究给出严格二次收敛的情形;本页不把有限运行曲线当作普适定理。Leite、Saldanha与Tomei的结果说明了这个边界。

缩减将足够小的尾部耦合设为0,把已分离的本征值从活动问题中移出。这是有记录的近似修改。理想三对角结构中,删掉一对对称元素 \(e\) 引入

\[ \|\Delta A\|_2=|e|,\qquad \|\Delta A\|_F=\sqrt2\,|e|. \]

实验更谨慎地检查尾行与尾列的全部连接,将实际删掉的矩阵逐项保存。阈值明确按相邻对角元的尺度与机器精度设置,每次删除的范数以及累计预算另列;相似误差中还含浮点运算误差,不能说它完全等于缩减预算。

9. 四维近邻链:参考谱可以独立推出来

考虑

\[ T=\begin{pmatrix} c&b&0&0\\ b&c&b&0\\ 0&b&c&b\\ 0&0&b&c \end{pmatrix}. \]

它可以代表一个只有近邻耦合的四自由度线性模型。令 \(v_j=\sin(j\theta)\),并取边界 \(v_0=v_5=0\)。由正弦加法公式,

\[ bv_{j-1}+cv_j+bv_{j+1} =(c+2b\cos\theta)v_j. \]

因此 \(\theta=k\pi/5\),\(k=1,2,3,4\),给出全部特征值。记 \(\phi=(1+\sqrt5)/2\),升序参考谱为

\[ c-b\phi,\quad c-\frac b\phi,\quad c+\frac b\phi,\quad c+b\phi \qquad(b\ge0). \]

这样,参考答案没有借用另一个迭代算法。本页同时改变 \(c\)、\(b\) 和共同尺度,并运行两种QR策略。

重点观察三个边界:

把矩阵同时乘 \(10^s\) 后,原始残差和特征值也乘该尺度,适当归一化的量应基本保持。这比只看“有多少个零”更有解释力。

10. 非正规矩阵:一个很小的扰动可以搬动谱

取

\[ A_\gamma=\begin{pmatrix}2&\gamma\\0&1\end{pmatrix}. \]

特征值一直是2和1,但当 \(\gamma\) 很大时,两条右特征方向越来越接近平行。

对给定复数 \(z\),矩阵离“以 \(z\) 为特征值”的矩阵集合有多远?在不限制扰动结构的谱范数下,答案是

\[ \min\{\|E\|_2:z\in\sigma(A+E)\} =\sigma_{\min}(A-zI). \]

下界来自 \((A-zI)v=-Ev\):对单位 \(v\),左边的范数至少为最小奇异值。取达到最小值的右奇异向量 \(v\),再构造

\[ E=-((A-zI)v)v^* \]

就达到下界。于是“小残差”可以理解为:\(z\) 是某个邻近矩阵的特征值,而不一定已经接近原谱。

本实验只展示实轴上的伪谱截面,没有把一条曲线冒充整个复平面区域。它逐点计算最小奇异值,给出实际向量和扰动,并核对扰动后的特征方程。

一个可以手算的例子是 \(z=3/2\)。当 \(\gamma\ge0\),

\[ \sigma_{\min}(A_\gamma-\tfrac32I) =\frac{\sqrt{\gamma^2+1}-\gamma}{2} =\frac1{2(\sqrt{\gamma^2+1}+\gamma)}. \]

原谱距离始终为 \(1/2\),但右式随 \(\gamma\) 增大而变小。第二个表达式避免了大数相减,适合计算。\(\gamma=0\) 时矩阵正规,最小奇异值恰等于到谱的距离;这是同一个实验中的对照。

11. 四道迁移题与完整答案

题一:为什么没有起始投影时,幂法可能给出另一个正确特征对?

对 \(A=\operatorname{diag}(3,1)\),分别取 \(x_0=(1,1)^T\) 与 \(x_0=(0,1)^T\)。写出第 \(k\) 次乘法前的向量,解释小残差能否证明找到了最大模特征值。

答案:正确特征对与指定目标是两件事

前者有 \(A^kx_0=(3^k,1)^T\),归一化后趋于第一坐标方向。后者始终为 \((0,1)^T\),从第一步起就有零残差,却对应特征值1。零残差证明它满足特征方程,并没有证明它满足“最大模目标”的额外要求。

题二:从系数比推出Rayleigh商迭代的三次关系

设对称矩阵有两个不同特征值,当前单位向量的系数为 \(\cos\theta\) 和 \(\sin\theta\)。推导 \(\tan\theta_{\rm new}=-\tan^3\theta\),并说明 \(\theta=0\) 与 \(\theta=\pi/4\) 为什么需要单独处理。

答案:商的二次精度与反幂的一次方向误差相乘

Rayleigh值为 \(\rho=\lambda_1\cos^2\theta+\lambda_2\sin^2\theta\)。移位后的两系数分别除以 \(\lambda_1-\rho\) 和 \(\lambda_2-\rho\),所以比值为

\[ \frac{\sin\theta/(\lambda_2-\rho)} {\cos\theta/(\lambda_1-\rho)} =-\tan^3\theta. \]

\(\theta=0\) 时已经是特征向量,移位系统奇异,应先判残差并停止。\(\theta=\pi/4\) 时比值模长仍为1,不给出向某一个方向收缩的局部结论。这个二维推导也没有证明非正规矩阵具有三次收敛。

题三:一次缩减究竟修改了多少矩阵?

将实对称矩阵中的一对耦合 \(A_{ij}=A_{ji}=e\) 设为0,其余元素不动。求修改矩阵的谱范数和Frobenius范数,并解释为什么应记录修改量。

答案:只有一个二维非零块

修改量在对应两维上是 \(\begin{pmatrix}0&-e\\-e&0\end{pmatrix}\),其特征值为 \(\pm e\),所以谱范数为 \(|e|\);全部元素平方和为 \(2e^2\),Frobenius范数为 \(\sqrt2|e|\)。它是一个真实的输入扰动。只有写下尺度与删除条件,才能判断由此带来的谱变化是否可接受;把小数直接显示为0并不是误差分析。

题四:用一个向量证明“远离原谱也可以小残差”

对 \(A_\gamma\) 与 \(z=3/2\),说明最小奇异值表达式怎样给出一个实际矩阵扰动;为什么 \(\gamma=0\) 是有用的对照?

答案:把未满足的特征方程残差补回矩阵

取 \(A_\gamma-zI\) 的单位最小右奇异向量 \(v\),令 \(w=(A_\gamma-zI)v\)。构造 \(E=-wv^*\),则

\[ (A_\gamma+E)v=A_\gamma v-w=zv,\qquad \|E\|_2=\|w\|_2=\sigma_{\min}(A_\gamma-zI). \]

随 \(\gamma\) 增大,这个扰动可很小,原谱距离却始终为 \(1/2\)。当 \(\gamma=0\),矩阵是对角的,最小奇异值就是 \(1/2\),与正规矩阵的谱距离结论一致。浮点实验会另报构造后实际残差,而不声称机器上的等式毫无舍入。

12. 把停止规则带进更大的问题

完成本页后,应该能先回答“要找哪一个谱点或子空间”,再选择算法;能区分原始残差、相对残差、方向误差、谱估计与实际输入扰动;能解释为什么缩减和浮点停止需要记录,为什么非正规问题需要额外的敏感性信息。

下一讲进入Krylov子空间、CG与GMRES。那里不能显式保存完整大矩阵的分解,但“每个结果对应什么残差、满足哪些条件”的阅读习惯仍然保留。需要回顾范数与后向误差时,返回数值线代 I。