Skip to content

方法Method

主矩阵对数与逆缩放平方

Principal matrix logarithm · Inverse scaling and squaring

用谱的主值条带刻画主矩阵对数,展示旋转跨分支切线的跳变,并执行主平方根与 Gauss–Legendre 有理逼近组成的逆缩放算法。

形式陈述 ​

矩阵方程 eX=A 可能有许多解。怎样选出一个可连续计算的对数,并说明何时不能这样选?

设 A∈Cn×n 的谱不与闭负实轴 (−∞,0] 相交。把标量主值对数作用为 primary 矩阵函数,得到 主矩阵对数 LogA。它满足

eLogA=A,σ(LogA)⊂{z:−π<Imz<π}.

它是谱位于这个开条带内的唯一矩阵对数。如果 A 为实矩阵,LogA 也为实矩阵。

存在性来自标量主值的解析函数演算。若另一矩阵 X 的谱在条带内且 eX=A,标量恒等式 Log(ez)=z 在该条带解析成立,代入矩阵得 Log(eX)=X,故 X=LogA。实矩阵结论则由复共轭与唯一性得到。

逆缩放平方的计算路线 ​

先取若干次主平方根

B=A1/2s,X=B−I.

主分支保证 LogA=2sLogB。当 X 足够小时,使用积分表示

Log(I+X)=∫01X(I+tX)−1dt.

以 m≥1 点 Gauss–Legendre 求积的节点 tj、权重 wj 近似,得到一个 Padé 有理函数:

LogA≈2s∑j=1mwjX(I+tjX)−1.

每项通过多右端线性求解计算。实践中先作 Schur 分解,对三角矩阵重复开方和求解,再映回原坐标,能利用三角结构。

一个明确但保守的截断界 ​

若在相容范数下 r=‖X‖<1,展开积分中的 resolvent。m 点 Gauss–Legendre 对次数不超过 2m−1 的多项式精确,所以前 2m 项矩阵幂的系数一致。利用权重为正且总和为一,可得

‖LogA−2s∑j=1mwjX(I+tjX)−1‖≤2s2r2m+11−r.

这是精确平方根、精确求解前提下的逼近截断界,不包含浮点开方误差。高效实现通常用更紧的幂范数后向误差界选择 s,m。

直觉

指数算法先缩小输入再反复平方;对数算法先对输入反复开方,使它靠近单位矩阵,最后把一个小对数放大 2s 倍。每次必须沿同一主分支前进,否则“开方后再乘二”可能跳到另一个对数。

图的上部用复数 eiθ 标记旋转参数,并标出对应的主矩阵对数;负实轴是分支边界。中部展示正谱矩阵反复开方,特征值逐渐靠近 1。靠近单位阵便于逼近,也可能使 B−I 的直接相减丢失精度,缩放次数需要有节制。

例子与边界

旋转跨过 π 时会发生什么 ​

记 J=(0−110),R(θ)=eθJ。当 −π<θ<π 时,LogR(θ)=θJ。当 π<θ<3π 时,主值角要减去 2π,所以主对数变成 (θ−2π)J。

令 θ 从两侧趋于 π,两个极限分别是 πJ 和 −πJ。在 θ=π,矩阵等于 −I,其谱落在切线上,主对数不定义;但它确实有实对数 πJ。“没有主对数”不等于“没有任何对数”。

类似地,e2πJ=I,而 LogI=0。因此 Log(eX)=X 必须附带谱位于主值条带的条件。

两次开方,再做三点有理逼近 ​

取

A=(4609),LogA=(log⁡465log⁡(9/4)0log⁡9).

第一次主平方根是 B1=(26/503)。第二次为

B2=(26/52+303)≈(1.414213560.3814046901.73205081).

令 X=B2−I。三点 Gauss–Legendre 节点为 (1−3/5)/2,1/2,(1+3/5)/2,对应权重 5/18,4/9,5/18。三次求解后乘以 4,得到

L≈(1.386293520.9730925802.19720400).

它与精确对数的 1-范数误差约为 4.42×10−5。这里 ‖B2−I‖1≈1.11346>1,不能套用上面的范数截断界;例子只是执行示范。

继续到四次开方,得到 r≈0.21523664。使用十点求积,保守截断界降至 4.00×10−13 以下;附带脚本还与八十位精度的主对数交叉核验。这个组合的求值核心是四次三角平方根与十次多右端求解。

接近单位阵时要防止相减损失 ​

过多开方会让 B 极接近 I,而开方阶段的小误差在 2s(B−I) 中被放大。标量中可用 a−1=(a−1)/(a+1) 减少相消;成熟三角算法还会从原始数据重算对角和第一超对角的关键条目。上面的教学核展示流程和截断界,没有实现全部这些精度修正。

推论与应用

三角平方根由 R2=T 的递推得到:rii=tii,按超对角推进时

(rii+rjj)rij=tij−∑i<k<jrikrkj.

主根保证分母不为零。块版本对应 Sylvester 方程,也说明分支条件为何进入算法本身。稠密 Schur 路线的总成本约为 O((1+s+m)n3),存储 O(n2)。

对数常用于从一步传播矩阵恢复连续生成元,但多值性意味着必须明确所选分支。验算 eL≈A 只能验证“某个对数”;要接受主对数,还应检查 L 的谱虚部在 (−π,π),并注意输入谱接近切线时的敏感性。

参考资料
  • Nicholas J. Higham and Lijing Lin, Matrix Functions: A Short Course, 2013, §3.1.6:主对数的存在、谱条带及实矩阵性质。作者版本
  • Awad H. Al-Mohy and Nicholas J. Higham, “Improved Inverse Scaling and Squaring Algorithms for the Matrix Logarithm,” SIAM Journal on Scientific Computing 34(4), 2012, pp. C153–C169, §§1–4:Gauss–Legendre 部分分式、后向误差、相消修正和 Schur 算法。作者版本
关系图谱9 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系