Skip to content

09 Sylvester 方程、Schur-Parlett 与矩阵指数 ​

1. Sylvester 方程 ​

标准形式为

AX−XB=C.

向量化得到

(I⊗A−BT⊗I)vec(X)=vec(C),

但系数矩阵尺寸变为 mn×mn,直接求解浪费结构。唯一可解的条件是

σ(A)∩σ(B)=∅.

两组谱越接近,问题越病态。

2. Bartels-Stewart 算法 ​

先做 Schur 分解

A=Q1T1Q1∗,B∗=Q2T2Q2∗.

令 Y=Q1∗XQ2、C~=Q1∗CQ2,问题化为三角 Sylvester 方程

T1Y−YT2∗=C~.

再按列或分块回代求解。核心思想与普通线性方程相同:先通过稳定正交变换把系数化到易解结构。

3. Schur-Parlett 矩阵函数 ​

若 A=QTQ∗,则

f(A)=Qf(T)Q∗.

把 T 分块为

T=(T11T120T22),f(T)=(f(T11)X0f(T22)).

由 Tf(T)=f(T)T 得到 Sylvester 方程

T11X−XT22=f(T11)T12−T12f(T22).

若两块谱太近,该方程病态;因此应先重排 Schur 形,把相近特征值聚在同一对角块中。

4. Scaling and Squaring ​

矩阵指数满足

eA=(eA/2s)2s.

选择 s 使 ∥A/2s∥ 足够小,先用 Padé 逼近或截断 Taylor 计算 eA/2s,再平方 s 次。Padé 形式通常比同阶 Taylor 在较大区域内更准确。

缩放不能无限增大:每次平方都会传播误差,且对非正规矩阵,∥eA∥ 可能远大于 emaxℜλ(A)。

5. Lyapunov 方程 ​

连续 Lyapunov 方程常写为

AX+XA∗=−Q.

它是 Sylvester 方程的特殊情形。若 A 稳定(特征值实部均负)且 Q⪰0,则

X=∫0∞etAQetA∗dt⪰0.

这连接了矩阵指数、控制系统稳定性和正定矩阵。

6. 只计算 f(A)b ​

大规模问题通常不需要完整 f(A)。若只关心 f(A)b,形成稠密矩阵既昂贵又破坏稀疏性;第 13 章会用 Krylov 投影把它近似为一个小矩阵函数。

7. Sylvester 方程的逐列递推 ​

若 T2 上三角,将 Y=[y1,…,yn] 按列展开。第 j 列满足

(T1−tjj(2)I)yj=c~j+∑k<jyktkj(2).

右端只依赖已经求出的列,因此可依次三角求解。实 Schur 形出现 2×2 块时,应以两列为一个块同时求解,避免转入复数运算。

定义分离度

sep(A,B)=minX≠0∥AX−XB∥F∥X∥F.

它是 Sylvester 算子的最小奇异值。sep 越小,解对 C,A,B 的扰动越敏感;“两组谱不相交”只保证唯一性,并不保证良态。

8. 矩阵函数的定义 ​

若 f 在 A 的谱邻域解析,可用 Cauchy 积分定义

f(A)=12πi∮Γf(z)(zI−A)−1dz.

若 A=XΛX−1 可对角化,则 f(A)=Xf(Λ)X−1;但数值算法通常不应依赖可能病态的特征向量矩阵。Jordan 形式说明了重复特征值处需要 f 的导数:一个大小为 m 的 Jordan 块会用到 f,f′,…,f(m−1)。

矩阵函数满足相似不变性

f(S−1AS)=S−1f(A)S

以及交换关系 Af(A)=f(A)A。Schur-Parlett 正是利用这两条性质,在正交相似变换后递推求解。

9. Parlett 递推的标量形式 ​

当 T 上三角且对角元分离时,F=f(T) 的对角元为 fii=f(tii),非对角元可由

(tii−tjj)fij=tij(fii−fjj)+∑k=i+1j−1(fiktkj−tikfkj)

递推得到。若 tii≈tjj,除以小差会放大误差,因此要把相近特征值聚成块,在块内使用更稳健的 Taylor、Padé 或专用算法。

10. Padé 逼近与缩放平方 ​

有理逼近写成

rp,q(A)=Dq(A)−1Np(A).

计算时通过线性方程组 Dq(A)X=Np(A) 得到 X,而不是显式求逆。缩放参数 s 与 Padé 阶数共同选择:s 太小会让逼近误差大,太大则增加平方次数和舍入误差。成熟算法用 ∥Ak∥1/k 的估计而非只看 ∥A∥,以减少非正规矩阵上的过度缩放。

11. 特殊矩阵函数需要专门算法 ​

  • 平方根:可用 Schur 法或稳定迭代,主平方根要求谱避开非正实轴。
  • 对数:常结合逆缩放平方,把矩阵反复开方后再近似 log⁡(I+E)。
  • 矩阵符号函数:可用 Newton 迭代 Xk+1=12(Xk+Xk−1),并用于谱投影。
  • 三角函数:可通过指数关系或专用块公式计算。

把标量公式直接替换成矩阵并不总是稳定或高效;应利用函数恒等式、谱区域和矩阵结构选择算法。

12. Fréchet 导数与条件数 ​

矩阵函数的一阶扰动写成

f(A+E)=f(A)+Lf(A,E)+O(∥E∥2),

其中 Lf(A,⋅) 是 Fréchet 导数。它可由块矩阵恒等式读取:

f([AE0A])=[f(A)Lf(A,E)0f(A)].

∥Lf(A)∥ 给出绝对条件数。非正规矩阵即使特征值位置温和,矩阵函数仍可能对扰动高度敏感。

13. 复杂度与验证 ​

稠密 Schur 分解和后续递推通常都是 O(n3)。验证矩阵指数可检查交换残差 ∥AeA−eAA∥、缩放恒等式以及小规模高精度基准;验证 Sylvester 解则直接报告

∥AX−XB−C∥F∥A∥F∥X∥F+∥B∥F∥X∥F+∥C∥F.

14. 自检 ​

  • [ ] 能写出 Sylvester 方程唯一可解的谱条件。
  • [ ] 能描述 Bartels-Stewart 的“Schur 化—三角回代”流程。
  • [ ] 能从交换关系推导 Schur-Parlett 的块方程。
  • [ ] 能解释 Scaling and Squaring 为什么需要在逼近与平方误差间平衡。
  • [ ] 能用 sep(A,B) 解释 Sylvester 方程的敏感性。
  • [ ] 知道为什么相近 Schur 对角元应聚成同一块。

下一章:稀疏矩阵与定常迭代。