Skip to content

算法Algorithm

Krylov 方法计算指数作用

Krylov approximation to exp(A)b

将指数作用投影到小 Krylov 空间,逐维追踪扩散例,并由 ODE 缺陷推导误差传播积分和可用的收缩半群界。

形式陈述 ​

大型稀疏矩阵 A 的指数通常稠密,但很多应用只需要向量 y(t)=etAb。能否只做矩阵向量乘,而不形成 etA?

以下取实矩阵 A∈Rn×n、n≥1、b∈Rn 和 t≥0。负时间可将 A 换成 −A,再处理对应的非负时间。设 b≠0、β=‖b‖2。在Krylov 子空间上运行 Arnoldi,得到正交基 Vm=(v1,…,vm),其中 v1=b/β,以及关系

AVm=VmHm+hm+1,mvm+1emT.

本页复用 Arnoldi 的构造,关注它怎样用于矩阵指数。定义近似

ym(t)=βVmetHme1.

小矩阵 Hm 的指数可用缩放平方算法,再将结果映回原空间。b=0 时直接返回零向量;若 Arnoldi 出现精确的 hm+1,m=0,当前空间已经不变,精确运算下这个公式就是准确答案。

缺陷不是终点误差 ​

因为 y=etAb 解线性微分方程组 y′=Ay、y(0)=b,定义近似轨道的缺陷

dm(t)=ym′(t)−Aym(t)=−βhm+1,mvm+1emTetHme1.

真误差 ϵm=y−ym 满足

ϵm′=Aϵm−dm,ϵm(0)=0,ϵm(t)=−∫0te(t−s)Adm(s)ds.

所以若对所有 τ≥0 已知 ‖eτA‖2≤Meωτ,才可进一步得到

‖ϵm(t)‖2≤∫0tMeω(t−s)‖dm(s)‖2ds.

只计算终点的 ‖dm(t)‖,既没有累计此前缺陷,也没有计入传播放大,通常不能直接作为误差上界。

直觉

基向量记录初值在反复作用下能够探索的方向,小矩阵 Hm 则记录这些方向之间的传播。投影指数在这个小世界里精确演化,遗漏的信息只从最后一个基方向向 vm+1 泄出,因此缺陷有一个特别简单的方向。

图中灰框给出完整指数作用的参照分量,蓝柱给出当前近似,红色箭头是遗漏的传播方向。空间扩大后,新节点开始得到非零分量。终点缺陷可能不随维数单调减小,误差界应来自整条缺陷轨道。

例子与边界

四节点扩散,逐维看输出 ​

取 t=1、b=e1 和

A=(−21001−21001−21001−2).

它对称负定,所以 ‖eτA‖2≤1。从 e1 开始的 Arnoldi 基依次就是标准基 e1,e2,e3,e4,Hm 是 A 的左上 m×m 块,未结束前的 hm+1,m=1。

直接指数作用约为

y(1)=(0.21526562, 0.18644808, 0.08616086, 0.02616210)T.

在第一维,H1=(−2),因此 y1=e−2e1。加入第二维后,两个节点之间可以来回传递;加入第三维后,第三个分量也被表示出来:

m ym(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

第一行已经说明缺陷不等于误差;前两行还说明,实际误差减少时终点缺陷反而可能增加。

把缺陷积分真正算成界 ​

本例的 Hm 非对角元非负,故 esHm 逐元素非负。对 m<4,收缩性给出

‖y(1)−ym(1)‖2≤∫01emTesHme1ds=emTHm−1(eHm−I)e1.

这里 Hm 可逆;右式实现为线性求解。三个上界依次约为 0.43233236、0.15769146、0.04385172,均覆盖表中的实际误差。它们比终点缺陷更贵一点,但带有明确的数学保证。一般奇异 Hm 可用整函数 φ1(z)=(ez−1)/z 的连续延拓计算积分,无需强行求逆。

非正规传播和分段推进 ​

若 A 非正规,仅有特征值实部为负,并不能保证 ‖etA‖≤1。例如上三角的大耦合可在衰减前产生瞬态放大,这时必须保留传播因子或使用可证明的替代界。

长时间问题可按时间段重建 Krylov 空间。若每段只控制局部误差,先前误差仍会被后续传播放大;全局保证要将各段误差按传播因子累积,不能把每段同一个容差直接当作最终容差。

推论与应用

m 步 Arnoldi 需要 m 次矩阵向量乘;完整正交化约需 O(nm2) 工作和 O(nm) 基存储,小矩阵指数在 Padé 阶数和缩放次数有固定上界时需 O(m3) 工作,否则还要计入其实际缩放工作。记稀疏表示中实际存储槽位数为 s(包括重复项与显式零)。若返回完整向量,每次矩阵乘法需 O(n+s) 工作,包含输出初始化;b=0 的提前返回也需 O(n) 输出工作。输出始终是一个 n 维向量,避免了 n2 个稠密指数元素。

它与求解线性系统的 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 矩阵函数作用及其计算规模。作者版本
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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