“在矩阵平方根 $S^2=A$ 附近,扰动的一阶项满足 $S,\Delta S+\Delta S,S=\Delta A$,即系数对为 $(S, S)$ 的 Sylvester 方程。因此 $\…”
形式陈述
已知一个上三角矩阵的对角元素,如何恢复整个 矩阵函数?Schur–Parlett 方法先作酉 Schur 分解
因为
按超对角距离
用块吸收接近的特征值
将 Schur 形酉重排为块上三角矩阵,使需要共同处理的特征值落入同一对角块。先计算
每一步都是 Sylvester 方程。不同对角块的谱必须不交;要获得准确结果,还需关注
完整流程是:Schur 分解、酉重排与分块、对角块函数求值、块间 Sylvester 回代、酉变换还原。对角块较小时,可用局部展开;函数有专用算法时也可直接调用。三角 Sylvester 核可复用 Bartels–Stewart 算法中的回代阶段。
对角块的局部展开
对一个
重复特征值时,
直觉
标量递推试图用两个几乎相同的函数值恢复导数,数值上容易丢失信息。把它们合成一块,就直接在该块内部计算导数效应;只有跨越足够分离的块时,才用差值关系恢复耦合。
图中前两个特征值被放在蓝色块内,红色小分母不再出现在块间求解中。绿色耦合列由已经完成的两个对角块决定。分块不是简单交换矩阵行列:任意置换可能破坏上三角结构,真正的 Schur 重排要同时更新酉变换。
例子与边界
一个连续走向 Jordan 块的矩阵族
取
计算指数。标量递推的第一项是
当 expm1 型标量公式保护;分块方法则提供可推广到更大块的路线。
将前两个指标合成一块。对指数,局部展开取
这里
在极限
记右上耦合列为
从第二行得
重复特征值没有造成除零;其影响已经包含在对角块的导数项里。
分块也有代价和限制
块太细,跨块 sep 可能很小;块太大,局部函数求值的代价和舍入风险可能增加。以特征值距离聚类可以提供启发,却不能为非正规块自动保证良好 sep。需要把聚类、局部求值误差与 Sylvester 敏感性一起考虑。
对数等非整函数还要检查展开圆盘是否避开分支切线。仅知道各特征值处有函数值,不足以证明所选 Taylor 展开可用。
推论与应用
Schur 分解、块重排及全部块间 Sylvester 求解通常是
这个框架适合没有专用实现的解析函数,也能复用一次 Schur 分解计算多个函数。对指数、对数和平方根,专用算法往往能进一步利用函数结构;通用框架的价值在于清楚划分对角块求值与跨块耦合这两个任务。
参考资料
- Philip I. Davies and Nicholas J. Higham, “A Schur–Parlett Algorithm for Computing Matrix Functions,” SIAM Journal on Matrix Analysis and Applications 25(2), 2003, pp. 464–485, §§1.1–2:块递推、局部 Taylor、停止准则和非单调项序列。作者版本
- Nicholas J. Higham, “Functions of Matrices,” Handbook of Linear Algebra, 2nd ed., 2014, §17.8:Schur–Parlett 方法的结构与限制。作者版本