形式陈述
大型稀疏矩阵 A 的指数通常稠密,但很多应用只需要向量 y ( t ) = e t A b 。能否只做矩阵向量乘,而不形成 e t A ?
以下取实矩阵 A ∈ R n × n 、n ≥ 1 、b ∈ R n 和 t ≥ 0 。负时间可将 A 换成 − A ,再处理对应的非负时间。设 b ≠ 0 、β = ‖ b ‖ 2 。在Krylov 子空间 公理库 Krylov 子空间 Krylov subspace 从初始向量反复施加矩阵,生成只依赖矩阵—向量乘法的递增子空间及其 Arnoldi、Lanczos 正交基。 上运行 Arnoldi,得到正交基 V m = ( v 1 , … , v m ) ,其中 v 1 = b / β ,以及关系
A V m = V m H m + h m + 1 , m v m + 1 e m T . 本页复用 Arnoldi 的构造,关注它怎样用于矩阵指数 公理库 主矩阵函数与 Hermite 插值 Primary matrix function · Matrix function by Hermite interpolation 用极小多项式规定所需的函数值与导数,经 Hermite 插值定义一般方阵的函数,并区分 primary 与 principal 两种不同的分支要求。 。定义近似
y m ( t ) = β V m e t H m e 1 . 小矩阵 H m 的指数可用缩放平方算法 公理库 矩阵指数的缩放平方算法 Scaling and squaring matrix exponential 用 Padé 求解和反复平方计算矩阵指数,给出可执行的十三阶核心、后向误差含义、运算计数与过度缩放反例。 ,再将结果映回原空间。b = 0 时直接返回零向量;若 Arnoldi 出现精确的 h m + 1 , m = 0 ,当前空间已经不变,精确运算下这个公式就是准确答案。
缺陷不是终点误差
因为 y = e t A b 解线性微分方程组 公理库 线性常微分方程组 Linear system of ordinary differential equations 形如 x′=A(t)x+b(t) 的向量值一阶线性方程组。 y ′ = A y 、y ( 0 ) = b ,定义近似轨道的缺陷
d m ( t ) = y m ′ ( t ) − A y m ( t ) = − β h m + 1 , m v m + 1 e m T e t H m e 1 . 真误差 ϵ m = y − y m 满足
ϵ m ′ = A ϵ m − d m , ϵ m ( 0 ) = 0 , ϵ m ( t ) = − ∫ 0 t e ( t − s ) A d m ( s ) d s . 所以若对所有 τ ≥ 0 已知 ‖ e τ A ‖ 2 ≤ M e ω τ ,才可进一步得到
‖ ϵ m ( t ) ‖ 2 ≤ ∫ 0 t M e ω ( t − s ) ‖ d m ( s ) ‖ 2 d s . 只计算终点的 ‖ d m ( t ) ‖ ,既没有累计此前缺陷,也没有计入传播放大,通常不能直接作为误差上界。
直觉
基向量记录初值在反复作用下能够探索的方向,小矩阵 H m 则记录这些方向之间的传播。投影指数在这个小世界里精确演化,遗漏的信息只从最后一个基方向向 v m + 1 泄出,因此缺陷有一个特别简单的方向。
图片加载失败 图中灰框给出完整指数作用的参照分量,蓝柱给出当前近似,红色箭头是遗漏的传播方向。空间扩大后,新节点开始得到非零分量。终点缺陷可能不随维数单调减小,误差界应来自整条缺陷轨道。
例子与边界
四节点扩散,逐维看输出
取 t = 1 、b = e 1 和
A = ( − 2 1 0 0 1 − 2 1 0 0 1 − 2 1 0 0 1 − 2 ) . 它对称负定,所以 ‖ e τ A ‖ 2 ≤ 1 。从 e 1 开始的 Arnoldi 基依次就是标准基 e 1 , e 2 , e 3 , e 4 ,H m 是 A 的左上 m × m 块,未结束前的 h m + 1 , m = 1 。
直接指数作用约为
y ( 1 ) = ( 0.21526562 , 0.18644808 , 0.08616086 , 0.02616210 ) T . 在第一维,H 1 = ( − 2 ) ,因此 y 1 = e − 2 e 1 。加入第二维后,两个节点之间可以来回传递;加入第三维后,第三个分量也被表示出来:
m
y m ( 1 ) T
实际 2 -范数误差
终点缺陷范数
1
( 0.13533528 , 0 , 0 , 0 )
0.22194570
0.13533528
2
( 0.20883325 , 0.15904619 , 0 , 0 )
0.09434187
0.15904619
3
( 0.21506019 , 0.18517912 , 0.07972490 , 0 )
0.02697276
0.07972490
4
y ( 1 ) T
0 (精确运算)
0
第一行已经说明缺陷不等于误差;前两行还说明,实际误差减少时终点缺陷反而可能增加。
把缺陷积分真正算成界
本例的 H m 非对角元非负,故 e s H m 逐元素非负。对 m < 4 ,收缩性给出
‖ y ( 1 ) − y m ( 1 ) ‖ 2 ≤ ∫ 0 1 e m T e s H m e 1 d s = e m T H m − 1 ( e H m − I ) e 1 . 这里 H m 可逆;右式实现为线性求解。三个上界依次约为 0.43233236 、0.15769146 、0.04385172 ,均覆盖表中的实际误差。它们比终点缺陷更贵一点,但带有明确的数学保证。一般奇异 H m 可用整函数 φ 1 ( z ) = ( e z − 1 ) / z 的连续延拓计算积分,无需强行求逆。
非正规传播和分段推进
若 A 非正规,仅有特征值实部为负,并不能保证 ‖ e t A ‖ ≤ 1 。例如上三角的大耦合可在衰减前产生瞬态放大,这时必须保留传播因子或使用可证明的替代界。
长时间问题可按时间段重建 Krylov 空间。若每段只控制局部误差,先前误差仍会被后续传播放大;全局保证要将各段误差按传播因子累积,不能把每段同一个容差直接当作最终容差。
推论与应用
m 步 Arnoldi 需要 m 次矩阵向量乘;完整正交化约需 O ( n m 2 ) 工作和 O ( n m ) 基存储,小矩阵指数在 Padé 阶数和缩放次数有固定上界时需 O ( m 3 ) 工作,否则还要计入其实际缩放工作。记稀疏表示中实际存储槽位数为 s (包括重复项与显式零)。若返回完整向量,每次矩阵乘法需 O ( n + s ) 工作,包含输出初始化;b = 0 的提前返回也需 O ( n ) 输出工作。输出始终是一个 n 维向量,避免了 n 2 个稠密指数元素。
它与求解线性系统的 Krylov 方法共享空间,却没有自动继承某种线性残差最小化性质。这里的正确性入口是投影演化和缺陷传播;停止准则也应围绕这两个对象设计。
参考资料
Yousef Saad, “Analysis of Some Krylov Subspace Approximations to the Matrix Exponential Operator,” SIAM Journal on Numerical Analysis 29(1), 1992, pp. 209–228, §§2.1、3.3、5:投影指数、精确终止与后验误差展开。作者技术报告版本
Nicholas J. Higham and Lijing Lin, Matrix Functions: A Short Course , 2013, §7.1:Krylov 矩阵函数作用及其计算规模。作者版本