特征值求解——重启Arnoldi方法和收缩(deflation)技术

本文探讨了在Arnoldi过程中的锁定策略,如何处理已收敛的特征对,以及如何通过收缩技术(deflation)减少计算量。核心内容涉及部分Schur分解的计算方法及其在不变子空间求解中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重启Arnoldi方法和收缩(deflation)技术

在arnoldi过程中,需要特别注意已经收敛的eigenpairs。

locking策略:已收敛的特征对不再被改动。

假设在某次arnoldi过程中,已经有k个特征对收敛了,Vm写为如下形式:

其中上标(l)表示locked vecotors,上标(a)表示active vectors。

在下一次的arnoldi过程中,只有m-k个arnoldi向量被计算,也就是active vectors。前k个向量需要被收缩(deflated)

注意上面两个算法的区别,Algorithm 2相比1唯一的不同是,循环是从k+1开始的,也就是只改变Vm和Hm的最后m-k列,即active部分。

下面是显示重启Arnoldi方法:

通过V_m \leftarrow V_m U,Arnoldi向量转换为Schur向量,注意,只作用在新近收敛的向量和下一个初始向量上。随着迭代的进行,k越来越大,当达到预定收敛个数时(k>=nev),V_{1:k} 和 H_{1:k,1:k}构成A的部分Schur分解。

附录:

对于任意k个特征值,都存在一个Schur分解使得这k个特征值出现在R的前k个对角元素,我们将这个R的子矩阵取出来记为Rk,对应的Q中的前k列取出来记为Qk,那么我们有

AQ_k=Q_k R_k

这个也被称为部分Schur分解(partial Schur decomposition)。注意,S≡Range(Qk)是A的不变子空间,对应着k个特征值,Qk的列是这个子空间的正交基,也被称为Schur基。 重启Arnoldi方法就是被设计用来计算部分Schur分解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值