数值线性代数: 共轭梯度法

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

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

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

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

零、预修

0.1 共轭转置

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

可以看出,若,则。

0.2 Hermite矩阵

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

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

0.3 Hessenberg矩阵

0.4 Cholesky分解

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

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

0.5 Arnoldi分解

设,则有数值线性代数: 共轭梯度法,CAx,其他其中,,,,,。


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

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

1.1 LU分解

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

1.2 Cholesky分解

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

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

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

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

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

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

当时

     数值线性代数: 共轭梯度法,CAx,其他

当时

    数值线性代数: 共轭梯度法,CAx,其他

三、Projection Methods

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

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

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

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

讨论:

  •  若

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

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

以求解非对称线性方程组的Arnoldi方法为例,即,其中,数值线性代数: 共轭梯度法,CAx,其他,,。则数值线性代数: 共轭梯度法,CAx,其他

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

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

四、Krylov Subspace Methods

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

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

若设、分别是、的一组基向量,并令数值线性代数: 共轭梯度法,CAx,其他,则有。若可逆,则有。

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

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

4.1 Steepest Descent Method

4.2 Conjugate Gradient Method

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

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

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

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

数值线性代数: 共轭梯度法,CAx,其他,考虑到,因此,可得到Arnoldi分解的递推公式

数值线性代数: 共轭梯度法,CAx,其他

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

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

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

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

记,,则有。

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

数值线性代数: 共轭梯度法,CAx,其他,其中,。

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

数值线性代数: 共轭梯度法,CAx,其他,其中,数值线性代数: 共轭梯度法,CAx,其他

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

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

同时,数值线性代数: 共轭梯度法,CAx,其他,并将数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他分块,则有

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

则有,数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

由于、数值线性代数: 共轭梯度法,CAx,其他是对称正定三角矩阵,则知数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他,

其中,数值线性代数: 共轭梯度法,CAx,其他

考虑到Cholesky分解的唯一性,则数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他,即

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

则,数值线性代数: 共轭梯度法,CAx,其他

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

数值线性代数: 共轭梯度法,CAx,其他

将近似解数值线性代数: 共轭梯度法,CAx,其他代入原方程组,可得残差向量的递推公式数值线性代数: 共轭梯度法,CAx,其他

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

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

由上述分析,可知,数值线性代数: 共轭梯度法,CAx,其他,其中,数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

至此,可以得到简化后的近似解表达式:数值线性代数: 共轭梯度法,CAx,其他

相应地,简化后的的残差向量表达式:数值线性代数: 共轭梯度法,CAx,其他

数值线性代数: 共轭梯度法,CAx,其他,可知数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

由于数值线性代数: 共轭梯度法,CAx,其他,可知数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

另外,由于数值线性代数: 共轭梯度法,CAx,其他,可知数值线性代数: 共轭梯度法,CAx,其他数值线性代数: 共轭梯度法,CAx,其他

相应地,数值线性代数: 共轭梯度法,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-609452.html

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

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

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

相关文章

  • 数值线性代数:Arnoldi求解特征值/特征向量

    线性方程组求解 、 最小二乘法 、 特征值/特征向量求解 是(数值)线性代数的主要研究内容。 在力学、气象学、电磁学、金融等学科中,许多问题最终都归结为特征值、特征向量的求解。 ARPACK 使用 IRAM ( Implicit Restarted Arnoldi Method )求解大规模系数矩阵的部分特征值与特征向量

    2024年01月18日
    浏览(44)
  • 机器学习的数学基础:从线性代数到梯度下降

    机器学习是人工智能的一个重要分支,它涉及到计算机程序自动化地学习或者预测事物的行为。机器学习的核心是算法,算法需要数学来支持。在本文中,我们将从线性代数到梯度下降的数学基础来讨论机器学习算法的核心。 机器学习的数学基础包括线性代数、微积分、概率

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

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

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

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

    2024年02月05日
    浏览(47)
  • 【数值计算方法(黄明游)】解线性代数方程组的迭代法(一):向量、矩阵范数与谱半径【理论到程序】

       注意:速读可直接跳转至“4、知识点总结”及“5、计算例题”部分   当涉及到线性代数和矩阵理论时, 向量、矩阵范数以及谱半径 是非常重要的概念,下面将详细介绍这些内容: a. 定义及性质   考虑一个 n n n 维向量 x x x ,定义一个实值函数 N ( x ) N(x) N ( x ) ,

    2024年01月25日
    浏览(34)
  • 线性代数的学习和整理2:什么是线性,线性相关,线性无关 及 什么是线性代数?

    目录 1 写在前面的话 1.1 为什么要先总结一些EXCEL计算矩阵的工具性知识, 而不是一开始就从基础学起呢?  1.2 关于线性代数入门时的各种灵魂发问: 1.3 学习资料 2 什么是线性(关系)? 2.1 线性的到底是一种什么关系: 线性关系=正比例/正相关关系 ≠ 直线型关系 2.2 一次函数

    2024年02月11日
    浏览(114)
  • 线性代数的学习和整理2:什么是线性,线性相关,线性无关 以及什么是线性代数?

    目录 1 写在前面的话 1.1 为什么要先总结一些EXCEL计算矩阵的工具性知识, 而不是一开始就从基础学起呢?  1.2 关于线性代数入门时的各种灵魂发问: 1.3 学习资料 2 什么是线性(关系)? 2.1 线性的到底是一种什么关系: 线性关系=正比例/正相关关系 ≠ 直线型关系 2.2 一次函数

    2024年02月10日
    浏览(42)
  • 线性代数思维导图--线性代数中的线性方程组(1)

    1.解线性方程组 2.线性方程组解的情况 3.线性方程组的两个基本问题 1.阶梯型矩阵性质 2.简化阶梯型矩阵(具有唯一性) 3.行化简算法 4.线性方程组的解 1.R^2中的向量 2.R^2中的几何表示 3.R^n中的向量 4.线性组合与向量方程 5.span{v},span{u,v}的几何解释 1.定义 2.定理 3.解的存在性

    2024年02月02日
    浏览(76)
  • 【线性代数及其应用 —— 第一章 线性代数中的线性方程组】-1.线性方程组

    所有笔记请看: 博客学习目录_Howe_xixi的博客-CSDN博客 https://blog.csdn.net/weixin_44362628/article/details/126020573?spm=1001.2014.3001.5502 思维导图如下:  内容笔记如下:

    2024年02月06日
    浏览(50)
  • 线性代数的学习和整理15:线性代数的快速方法

       5  空间的同构 下面再谈谈同构。线性空间千千万,应如何研究呢?同构就是这样一个强大的概念,任何维数相同的线性空间之间是同构的,空间的维数是简单而深刻的,简单的自然数居然能够刻画空间最本质的性质。借助于同构,要研究任意一个n维线性空间,只要研究

    2024年02月11日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包