数值线性代数: Krylov子空间法

这篇具有很好参考价值的文章主要介绍了数值线性代数: Krylov子空间法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文旨在总结线性方程组求解的相关算法,特别是Krylov子空间法的原理及流程。

注1:限于研究水平,分析难免不当,欢迎批评指正。

注2:文章内容会不定期更新。

零、预修

0.1 共轭转置

对于、,若矩阵第行第列元素的共轭等于矩阵第行第列元素,即,则称矩阵是矩阵的共轭转置矩阵,记作。

可以看出,若,则。

0.2 Hermite矩阵

对于,若,则称矩阵为Hermite矩阵

可以看出,若,则,即实数域的Hermite矩阵即是对称矩阵。

0.3 Hessenberg矩阵

0.4 Cholesky分解

对于正定矩阵,则有,其中,矩阵是下三角矩阵,矩阵是矩阵的共轭转置。

若对称正定矩阵,则有,其中,矩阵是下三角矩阵,矩阵是矩阵的转置。

0.5 Arnoldi分解

设,则有数值线性代数: Krylov子空间法,CAx,其他其中,,,,,。


下面如无特殊说明,均仅讨论实数域内的线性方程组。

一、直接法求解线性方程组

1.1 LU分解

设,若对于,均有,则存在唯一的单位下三角矩阵和上三角矩阵,使得,并且。

1.2 Cholesky分解

若对称正定,则有,其中,为单位下三角矩阵,为对角元均为正数的对角矩阵。

二、 总论:迭代法求解线性方程组的一般思路

对于非奇异矩阵,,使用迭代法求解线性方程组过程中,一般需要以下流程进行:

  1. 给定一个初始向量;
  2. 构造一个递推公式数值线性代数: Krylov子空间法,CAx,其他
  3. 不断递推数值线性代数: Krylov子空间法,CAx,其他,使其近似收敛于;

下表列出了若干迭代算法的迭代公式。

方法 迭代公式 备注
Jacobi迭代 非奇异 数值线性代数: Krylov子空间法,CAx,其他
Gausss-Seidel迭代 非奇异 数值线性代数: Krylov子空间法,CAx,其他
SOR迭代 非奇异 数值线性代数: Krylov子空间法,CAx,其他
Steepest Descent 对称正定 数值线性代数: Krylov子空间法,CAx,其他
Conjugate Gradient 对称正定

当时

     数值线性代数: Krylov子空间法,CAx,其他

当时

    数值线性代数: Krylov子空间法,CAx,其他

三、Projection Methods

投影法在较小的线性空间内寻找满足精度要求的近似解也即在某个线性空间内寻找真解的投影。这其实就是投影法得名的原因。

对于非奇异矩阵,考虑线性方程组,其中,,。

令,首先,构造列满秩矩阵与,其中;然后,设真解在线性空间内的投影为,即,令其满足Petrov-Galerkin条件,即,均有。称为搜索空间,称为约束空间。若时,称为正投影算法,否则称为斜投影算法

若令,则有,其中,,。可以看出,投影法实际上是将阶线性方程组转化为了阶线性方程组()。

讨论:

  •  若

正则化方法为例,即,,由于,另外,,,即是对称正定矩阵。因此,正则化方法实际上将一般矩阵线性方程组转化为对称正定线性方程组

由于,,线性方程组的规模由阶降为了阶。因此,可以通过投影法可将问题转换为更为简单的子问题然后再进行求解

以求解非对称线性方程组的Arnoldi方法为例,即,其中,数值线性代数: Krylov子空间法,CAx,其他,,。则数值线性代数: Krylov子空间法,CAx,其他

综合上述讨论,可归出结投影法的操作流程:

  • 使用投影法将问题转化为较易求解的子问题;
  • 使用合适的方法求解子问题

四、Krylov Subspace Methods

Krylov子空间法本质上也是一种投影法,其核心思想是在较小维度的Krylov子空间内寻找满足精度要求的近似解。也就是说,相对于一般投影法Krylov子空间法选取了Krylov子空间作为搜索空间

对于线性方程组,Krylov子空间法可以表述为:给定初始解向量,令,选取为维Krylov子空间,即,寻找数值线性代数: Krylov子空间法,CAx,其他,使得满足Petrov-Galerkin条件,即。其中,选择不同的,就对应不同的Krylov子空间法

若设、分别是、的一组基向量,并令数值线性代数: Krylov子空间法,CAx,其他,则有。若可逆,则有。

由此可以看出,Krylov子空间法的核心是如何计算与。对于,目前广泛采用的选取方法如下表,

约束空间 典型方法
CG
MINRES、GMRES
BiCG

4.1 Steepest Descent Method

4.2 Conjugate Gradient Method

下面考虑对称正定线性方程组,其中,,,。

使用Arnoldi分解定理可得到矩阵的步Arnoldi分解,即数值线性代数: Krylov子空间法,CAx,其他,其中,,,,是Hessenberg矩阵,是阶单位矩阵,。

因为,,可知数值线性代数: Krylov子空间法,CAx,其他,由于对称,则矩阵也是对称矩阵,进一步,结合Hessenberg矩阵的定义,可知是三对角矩阵。另外,对于,则,此时,由于正定,则知,即矩阵也是正定矩阵。因此,若矩阵对称正定,矩阵也是对称正定矩阵,更加准确地说,是对称正定三对角矩阵。

令,并令矩阵第行第列元素,则有

数值线性代数: Krylov子空间法,CAx,其他,考虑到,因此,可得到Arnoldi分解的递推公式

数值线性代数: Krylov子空间法,CAx,其他

由此,可以看出矩阵是Krylov子空间的一组标准正交基因此对应于Krylov子空间法可取

若给定的初始向量,令近似解数值线性代数: Krylov子空间法,CAx,其他,根据Petrov-Galerkin条件,有,记,则,结合Arnoldi分解,有数值线性代数: Krylov子空间法,CAx,其他,考虑到与,即有。

根据Cholesky分解定理,因为对称正定,则,其中,矩阵是下三角矩阵,为对角元均为正数的对角矩阵,。

若选取,则是Krylov子空间的一组标准正交基,此时

记,,则有。

由上述分析,矩阵进行步Arnoldi分解使用Krylov子空间法可以得到近似解:

数值线性代数: Krylov子空间法,CAx,其他,其中,。

类似地,矩阵进行数值线性代数: Krylov子空间法,CAx,其他步Arnoldi分解按照上面地思路亦可得到近似解数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他,其中,数值线性代数: Krylov子空间法,CAx,其他

根据Arnoldi分解过程,很明显,

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

同时,数值线性代数: Krylov子空间法,CAx,其他,并将数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他分块,则有

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

则有,数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

由于、数值线性代数: Krylov子空间法,CAx,其他是对称正定三角矩阵,则知数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他,

其中,数值线性代数: Krylov子空间法,CAx,其他

考虑到Cholesky分解的唯一性,则数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他,即

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

则,数值线性代数: Krylov子空间法,CAx,其他

由上述表达式,可得共轭梯度法中近似解的递推公式

数值线性代数: Krylov子空间法,CAx,其他

将近似解数值线性代数: Krylov子空间法,CAx,其他代入原方程组,可得残差向量的递推公式数值线性代数: Krylov子空间法,CAx,其他

由于数值线性代数: Krylov子空间法,CAx,其他,将步Arnoldi分解代入,则有数值线性代数: Krylov子空间法,CAx,其他,其中,。另外,由于,则有,数值线性代数: Krylov子空间法,CAx,其他。如前面分析知,,所以,。因此,数值线性代数: Krylov子空间法,CAx,其他也就是说,平行于数值线性代数: Krylov子空间法,CAx,其他,且

由于数值线性代数: Krylov子空间法,CAx,其他,则有数值线性代数: Krylov子空间法,CAx,其他也就是说,数值线性代数: Krylov子空间法,CAx,其他。实际上,数值线性代数: Krylov子空间法,CAx,其他是的线性组合,数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他的线性组合。对于数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他,根据矩阵数值线性代数: Krylov子空间法,CAx,其他正交性,很容易知道,数值线性代数: Krylov子空间法,CAx,其他也就是说,对于数值线性代数: Krylov子空间法,CAx,其他,向量与向量数值线性代数: Krylov子空间法,CAx,其他关于矩阵共轭这其实就是共轭梯度法得名的原因

由上述分析,可知,数值线性代数: Krylov子空间法,CAx,其他,其中,数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

至此,可以得到简化后的近似解表达式:数值线性代数: Krylov子空间法,CAx,其他

相应地,简化后的的残差向量表达式:数值线性代数: Krylov子空间法,CAx,其他

数值线性代数: Krylov子空间法,CAx,其他,可知数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

由于数值线性代数: Krylov子空间法,CAx,其他,可知数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

另外,由于数值线性代数: Krylov子空间法,CAx,其他,可知数值线性代数: Krylov子空间法,CAx,其他数值线性代数: Krylov子空间法,CAx,其他

相应地,数值线性代数: Krylov子空间法,CAx,其他

以上即为整个共轭梯度法的推导过程。

4.3 Preconditioned Conjugate Gradient

参考书籍

Golub G H , Loan C F V .Matrix Computations.Johns Hopkins University Press,1996.

Ford W .Numerical Linear Algebra with Applications using MATLAB. 2014.

徐树方. 数值线性代数(第二版).  北京大学出版社, 2010.

参考文献

Hestenes M R , Stiefel E L .Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards (United States), 1952. 

Arnoldi W E .The principle of minimized iterations in the solution of the matrix eigenvalue problem.Quarterly of Applied Mathematics, 1951, 9(1).

Saad Y .Krylov Subspace Methods for Solving Large Unsymmetric Linear Systems.Mathematics of Computation, 1981, 37(155):105-105.文章来源地址https://www.toymoban.com/news/detail-642008.html

到了这里,关于数值线性代数: Krylov子空间法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线性代数(五) 线性空间

    《线性代数(三) 线性方程组向量空间》我通过解线性方程组的方式去理解线性空间。此章从另一个角度去理解 大家较熟悉的:平面直角坐标系是最常见的二维空间 空间由无穷多个坐标点组成 每个坐标点就是一个向量 反过来,也可说:2维空间,是由无穷多个2维向量构成 同样

    2024年02月11日
    浏览(43)
  • 线性代数|证明:线性空间的基本性质

    性质 1 零向量是唯一的。 证明 设 0 1 , 0 2 boldsymbol{0}_1, boldsymbol{0}_2 0 1 ​ , 0 2 ​ 是线性空间 V V V 中的两个零向量,即对任何 α ∈ V boldsymbol{alpha} in V α ∈ V ,有 α + 0 1 = α α + 0 2 = α begin{align*} boldsymbol{alpha} + boldsymbol{0}_1 = boldsymbol{alpha} tag{1} \\\\ boldsymbol{alpha} + bold

    2024年02月07日
    浏览(46)
  • 线性代数|线性空间的定义与性质

    定义 1 设 V V V 是一个非空集合, R R R 为实数域。如果在 V V V 中定义了一个 加法 ,即对于任意两个元素 α , β ∈ V boldsymbol{alpha}, boldsymbol{beta} in V α , β ∈ V ,总有唯一的一个元素 γ ∈ V boldsymbol{gamma} in V γ ∈ V 与之对应,称为 α boldsymbol{alpha} α 与 β boldsymbol{beta

    2024年02月07日
    浏览(52)
  • 线性代数(三) 线性方程组&向量空间

    如何利用行列式,矩阵求解线性方程组。 用矩阵方程表示 齐次线性方程组:Ax=0; 非齐次线性方程组:Ax=b. 可以理解 齐次线性方程组 是特殊的 非齐次线性方程组 如何判断线性方程组的解 其中R(A)表示矩阵A的秩 B表示A的增广矩阵 n表示末知数个数 增广矩阵 矩阵的秩 秩r= 未知

    2024年02月13日
    浏览(47)
  • 线性代数(魏福义)——第一章:向量与线性空间

    坐标系中可使用向量处理几何与运动学的问题,一般使用到二维或者三维有序数组,如(x,y)、(x,y,z),这样的数组称作 向量, 实际问题会用到更多维的向量。 1.1.1向量 以有序数组表示向量。n个数排成的有序数组就是n维向量。 α=(a1,a2,a3...,an)称为 行向量 ;将其

    2024年03月21日
    浏览(52)
  • 线性代数 --- 线性代数基本定理上(四个基本子空间的维数,行秩=列秩)

    构造子空间的方法主要有两种: 1,一种是给出一组向量,由他们来张成子空间。         例如,矩阵的列空间和行空间就是通过这种方法来构造的,他们分别是由矩阵的各列和各行张成的。 2,一种是给出子空间所应受到的约束,满足这些约束条件的向量构成了该子空间

    2024年02月04日
    浏览(51)
  • 线性代数的本质 2 线性组合、张成的空间、基

    基于3Blue1Brown视频的笔记          对于一个向量,比如说,如何看待其中的3和-2?         一开始,我们往往将其看作长度(从向量的首走到尾部,分别在x和y上走的长度)。         在有了数乘后,我们可以将其 视为对向量进行缩放的标量,缩放的对象是两个特殊

    2024年02月20日
    浏览(53)
  • 向量空间模型的线性代数基础

    [toc] 线性代数是向量空间模型的基础,对于学习向量空间模型的朋友,理解线性代数基础知识是非常必要的。本文将介绍向量空间模型的线性代数基础,包括基本概念、技术原理、实现步骤、应用示例以及优化与改进等内容。 引言 线性代数是数学的一个分支,主要研究线性

    2024年02月16日
    浏览(44)
  • MATLAB数值分析学习笔记:线性代数方程组的求解和高斯消元法

    工程和科学计算的许多基本方程都是建立在守恒定律的基础之上的,比如质量守恒等,在数学上,可以建立起形如 [A]{x}={b} 的平衡方程。其中{x}表示各个分量在平衡时的取值,它们表示系统的 状态 或 响应; 右端向量{b}由无关系统性态的常数组成通常表示为 外部激励。 矩阵

    2023年04月15日
    浏览(64)
  • MATLAB数值分析学习笔记:线性代数方程组的求解和高斯-赛德尔方法

    迭代法是前面介绍的消元法的有效替代,线性代数方程组常用的迭代法有 高斯-赛德尔方法 和 雅克比迭代法, 下面会讲到二者的不同之处,大家会发现两者的实现原理其实类似,只是方法不同,本篇只重点介绍高斯-赛德尔方法。 看了我之前的笔记的同学应该已经对迭代法不

    2024年02月05日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包