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

本文总结线性方程组求解的相关算法,特别是共轭梯度法的原理及流程。

零、预修

0.1 LU分解

,若对于,均有,则存在下三角矩阵和上三角矩阵,使得

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

0.2 Cholesky分解

对称正定,则存在一个对角元均为正数的下三角矩阵,使得

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

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

  1. 给定一个初始向量
  2. 构造一个递推公式
  3. 不断递推,使其近似收敛于

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

|--------------------|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|
| 方法 | | 迭代公式 | 备注 |
| Jacobi迭代 | 非奇异 | | |
| Gausss-Seidel迭代 | 非奇异 | | |
| SOR迭代 | 非奇异 | | |
| Steepest Descent | 对称正定 | | |
| Conjugate Gradient | 对称正定 | 当 | |

二、Projection Method

投影法将线性方程组求解问题 转换成了最优值求解问题,是求解线性方程组的一大类方法。

在投影法中,令,构造列满秩矩阵,寻找,满足Petrov-Galerkin条件 ,即,均有称为搜索空间,称为约束空间。若时,称为正投影算法 ,否则称为斜投影算法

三、Krylov Subspace Method

Krylov子空间法 本质上也是一种投影法 ,其核心思想是在更小维度的Krylov子空间 内寻找满足精度要求的近似解。即令,构造了Krylov子空间 ,使得

选择不同的,就对应不同的Krylov子空间法

3.1 Steepest Descent Method

3.2 Hestenes-Stiefel Conjugate Gradient Method

参考书籍

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.

相关推荐
progalchemist2 天前
Quick SwiftObjective-C测试框架入门教程
开发语言·其他·objective-c·swift
zhangzelin8883 天前
TypeScript入门指南:JavaScript的类型化超集
前端·javascript·其他·typescript
livana.3 天前
小学scrach入门项目学习幸运大转盘项目
经验分享·学习·其他·scratch
白璽-寰宇光锥舟3 天前
【寰宇光锥舟】
其他
SccTsAxR4 天前
[初学C语言]关于scanf和printf函数
c语言·开发语言·经验分享·笔记·其他
sitellla4 天前
Testify Go测试工具包入门教程
git·测试工具·其他·golang
牛马的人生6 天前
MATLAB模块库入门:提升你的工程分析效率
开发语言·其他·matlab
ps_xiaowang6 天前
React Query入门指南:简化React应用中的数据获取
前端·其他·react native·react.js
alphacoder1237 天前
RollupJavaScript模块打包器入门教程
其他
牛马的人生7 天前
GitLab入门教程:打开DevOps全流程的大门
运维·其他·gitlab·devops