Krylov子空间迭代法是很好的特征值计算方法。通过子空间迭代,把大型模态空间降阶到几十阶,大大简化了模态计算量。这需要我们对模态空间和子空间的物理意义要有准确的理解。

Krylov——“降维打击”
假设你有一个线性方程组:

Ax=b

其中A是已知矩阵,b是已知向量,x是需要求解的未知向量。

当你有这么个问题需要解决时,一般的思路是直接求A的逆矩阵:x= A − 1 A^{-1} A−1b
但是,如果A的维度很高,比方说n=10000,那么A就是一个大型矩阵,是很难求逆的,且A如果还是一个稀疏矩阵,那就更难求了。
这时Krylov想到了一种方法来替换A的逆:

A − 1 A^{-1} A−1b ≈ ∑ i = 0 m − 1 \displaystyle\sum_{i=0}^{m-1} i=0∑m−1​ β i \mathbf{β}_i βi​ A i A^i Aib = β 0 \mathbf{β}_0 β0​b + β 1 \mathbf{β}_1 β1​Ab + β 2 \mathbf{β}_2 β2​A²b…+ β m − 1 \mathbf{β}_{m-1} βm−1​ A m − 1 A^{m-1} Am−1b

其中β是未知标量,m是假设的一个值,最大不能超过矩阵的维度n

这样处理就不用求出 A − 1 A^{-1} A−1,只要求出方程里那些β的值就好了

(Krylov通过数学上的推导证明了,当m趋近于矩阵维度n时算出来的值就是精确解。)

Krylov子空间迭代n步之后基向量将逐渐接近而线性相关,失去正交性。为构造残差最小,需要正交化Krylov子空间的基向量 , 采用Gram–Schmidt process 正交。这样构造的Krylov子空间迭代法,有个专门的称谓:Arnoldi 迭代。

解出β的值代入第一个公式得到:

0 = b - A x m x^{m} xm = b - A ∑ i = 0 m − 1 \displaystyle\sum_{i=0}^{m-1} i=0∑m−1​ β i \mathbf{β}_i βi​ A i A^i Aib

b的维度是n,那就是有n个方程,但是β的数量小于n. 这种情况我们无法精确求解,只能求近似解。我们观察了一下这个方程,正好就是线性的,那么就可以用最小二乘法。

r m r^{m} rm = b - A x m x^{m} xm

这里r(m)是指当m为m时的残量。从第一个公式可以看出,如果我们最终得出的x完全精确,那么r应该等于0. 于是现在问题转变为求一个含有多个自变量的表达式的最小值问题。
含有多个自变量的表达式的最小值问题,可以用最小二乘法来解决,核心为以下公式:

∂ r ∂ β 0 \frac{\partial{r}}{\partial\mathbf{β}_0} ∂β0​∂r​ = 0 ∂ r ∂ β 1 \frac{\partial{r}}{\partial\mathbf{β}_1} ∂β1​∂r​ = 0 ∂ r ∂ β 2 \frac{\partial{r}}{\partial\mathbf{β}_2} ∂β2​∂r​ = 0 ∂ r ∂ β 3 \frac{\partial{r}}{\partial\mathbf{β}_3} ∂β3​∂r​ = 0,… ∂ r ∂ β m − 1 \frac{\partial{r}}{\partial\mathbf{β}_m-1} ∂βm​−1∂r​ = 0

(提醒,这里的r指的是 r m r^{m} rm的平方和)
即r为最小值的时候,r关于所有变量的偏导都应当为0。
于是问题转化为了一个求m个方程m个未知数的方程组的问题

回顾一下大概就是:
大型稀疏矩阵求逆–>Krylov方法–>线性方程最小二乘问题–>小矩阵求逆

Krylov子空间迭代相关推荐

  1. 基础数学(七)——线性方程组的数值解法

    文章目录 考试要求 基础知识 一般求解思路 消元法 高斯消元法 小主元导致的计算失误 高斯列主元素消去法(期末考试要求之一) 高斯消元法例题(期末必考) 高斯消元法的优缺点 减少fill-in现象(了 ...

  2. 大型稀疏线性方程组求解技术——工业仿真的底层核心

    背  景 在工业仿真领域,对各种现实世界的问题进行数值模拟时,如流体动力学分析.电磁场仿真.结构力学应力应变分析等,其控制方程通常是偏微分方程组,在经过不同方法的隐式离散之后最终都可转化为大型稀疏线性 ...

  3. JFNK(Jacobian-free Newton-Krylov)方法

    有人会问:非线性方程组不是用Newton循环方法就能解了吗?那为什么还需要JFNK方法呢? 我觉得,JFNK方法能解决Newton循环方法中最大的计算问题,让Newton循环方法不再痛苦. Newto ...

  4. krylov子空间迭代法

    krylov子空间迭代法_lizhengjiang的博客-CSDN博客_krylov子空间 如何使用Krylov方法求解矩阵的运算尤其是逆? - 知乎

  5. 【高等数值分析】Krylov子空间方法

    文章目录 1. 预备理论 1.1 Krylov 子空间 1.2 最佳逼近 1.2.1 方法一:最佳平方逼近 1.2.2 方法二:假设 AAA 对称正定 1.2.3 方法三:残差2范数 2. 基底正交化 ...

  6. 其他krylov子空间方法

    其他krylov子空间方法 1.krylov子空间 K(A,q,k)=span{q,Aq,...,Ak−1q}K(A,q,k) = span\left \{q,Aq,...,A^{k-1}q\righ ...

  7. 关于(广义)代数特征值问题的一点注记

    关于(广义)代数特征值问题的一点注记 感谢王同学和王同学提供的一些信息和资料. 文章目录 关于(广义)代数特征值问题的一点注记 常用特征值计算方法概述 对称特征值问题 非对称特征值问题 Krylov ...

  8. GPU加速库AmgX

    GPU加速库AmgX AmgX提供了一条简单的途径来加速NVIDIA GPU上的核心求解器技术.AmgX可以为模拟的计算密集型线性求解器部分提供高达10倍的加速度,特别适合于隐式非结构化方法. 它是一 ...

  9. 矩阵相关概念的物理意义

    参考链接: 矩阵乘法的本质是什么? 条件数 病态矩阵与条件数(&& 与特征值和SVD的关系) 矩阵的物理意义: https://blog.csdn.net/NightkidLi_911 ...

最新文章

  1. 独家 | 带你认识机器学习的的本质(附资料)
  2. redhat7 Oracle 12C 安装
  3. javase基础复习攻略《三》
  4. 关于整型数据符号位扩展的问题
  5. 安卓 原生okhttp使用get与post获取网络数据
  6. 人工智能ai 学习_学习代理| 人工智能
  7. 第十一节(单例模式初步、类的继承)
  8. 将DataRow转换为DataTable
  9. UNIX网络编程(第三版 ) 测试代码 7.3
  10. getAttribute、setAttribute、removeAttribute
  11. 比较好的浏览器_一款安卓黑科技手机浏览器 体积很小,功能很6!
  12. java连接数据库电商平台_Java数据库中台项目,电商,CMS轻松实现,包含数据库源文件...
  13. 什么是ipo表,ipo图,hipo图
  14. eXosip事件总结
  15. 这是一个价值一个亿的项目思维导图
  16. php 车架号校验规则,JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
  17. 洛谷P3717 [AHOI2017初中组]cover
  18. 【npm】伙计,给我来一杯package.json!不加糖
  19. html中onblur属性,html中的onfocus和onblur是什么属性?怎么使用?
  20. Dump文件分析 - PDB强制匹配流程

热门文章

  1. 各代iphone尺寸_iPhone新机屏幕尺寸对比 一代更比一代大
  2. getline() 把我弄得真捉急,菜鸟表示很无力
  3. 转-----交叉验证、留一交叉验证、自助法
  4. dhu 数据科学与技术 第1次作业
  5. css 风琴,玩一下纯 CSS 折腾的一个叫什么手拉风琴的图片展示效果
  6. slam之视觉+IMU
  7. 牛视源码。抖音矩阵系统,come here
  8. android 第三方模拟器 genymotion安装问题修复
  9. flask-migrate(flask_script与flask2.0不再兼容)
  10. 基于融云SDK实现高仿微信