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

重启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分解

相关推荐

  1. OceanBase 方法

    2023-12-18 10:04:03       28 阅读
  2. Ubuntu安全方法

    2023-12-18 10:04:03       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 10:04:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 10:04:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 10:04:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 10:04:03       20 阅读

热门阅读

  1. 0x23 剪枝

    2023-12-18 10:04:03       41 阅读
  2. 聊聊AsyncHttpClient的ListenableFuture

    2023-12-18 10:04:03       42 阅读
  3. Pytorch中的层和块(nn.Module和nn.Sequential的用法)

    2023-12-18 10:04:03       37 阅读
  4. C++学习笔记01

    2023-12-18 10:04:03       34 阅读
  5. Leetcode 2966. Divide Array Into Arrays With Max Difference

    2023-12-18 10:04:03       51 阅读
  6. 仿造观赛日系统的数据库设计

    2023-12-18 10:04:03       48 阅读
  7. Spring Boot SSL中文文档

    2023-12-18 10:04:03       41 阅读
  8. 使用OpenSSL生成PKCS#12格式的证书和私钥

    2023-12-18 10:04:03       39 阅读
  9. Golang 数组 移除元素 双指针法 leetcode27 小记

    2023-12-18 10:04:03       33 阅读
  10. Tomcat部署及优化

    2023-12-18 10:04:03       30 阅读
  11. linux程序编译、安装过程和重要参数说明

    2023-12-18 10:04:03       36 阅读
  12. random模块

    2023-12-18 10:04:03       41 阅读