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

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

零、预修

0.1 LU分解

\boldsymbol{A}\in \mathbb{R}^{n\times n},若对于k\in \left [ 1,n-1 \right ],均有\left | \boldsymbol{A}\left ( 1:k,1:k \right ) \right |\neq 0,则存在下三角矩阵\boldsymbol{L} \in\mathbb{R}^{n\times n}和上三角矩阵\boldsymbol{U} \in\mathbb{R}^{n\times n},使得\boldsymbol{A}=\boldsymbol{L}\boldsymbol{U}

\boldsymbol{A}\in \mathbb{R}^{n\times n},若对于k\in \left [ 1,n \right ],均有\left | \boldsymbol{A}\left ( 1:k,1:k \right ) \right |\neq 0,则存在唯一的下三角矩阵\boldsymbol{L} \in\mathbb{R}^{n\times n}和上三角矩阵\boldsymbol{U} \in\mathbb{R}^{n\times n},使得\boldsymbol{A}=\boldsymbol{L}\boldsymbol{U},并且\left |A \right |=U\left ( 1,1 \right )U\left ( 2,2 \right )\cdots U\left ( n,n \right )

0.2 Cholesky分解

\boldsymbol{A}\in \mathbb{R}^{n\times n}对称正定,则存在一个对角元均为正数的下三角矩阵\boldsymbol{L} \in\mathbb{R}^{n\times n},使得\boldsymbol{A}=\boldsymbol{L}\boldsymbol{L}^{T}

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

对于非奇异矩阵\boldsymbol{A}\in \mathbb{R}^{n\times n}\boldsymbol{b}\in \mathbb{R}^{n},使用迭代法求解线性方程组\boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}过程中,一般需要以下流程进行:

  1. 给定一个初始向量\boldsymbol{x}_{0}
  2. 构造一个递推公式\boldsymbol{x}_{k+1}=\boldsymbol{f}\left ( \boldsymbol{x}_{k},\boldsymbol{A},\mathbf{b} \right )
  3. 不断递推\boldsymbol{x}_{k+1},使其近似收敛于\boldsymbol{x}_{*}

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

方法\boldsymbol{A}迭代公式备注
Jacobi迭代非奇异\boldsymbol{A}=\boldsymbol{D}-\boldsymbol{L}-\boldsymbol{U} \\ \boldsymbol{x}_{k}=\boldsymbol{D}^{-1}\left ( \boldsymbol{L}+\boldsymbol{U} \right ) \boldsymbol{x}_{k-1}+\boldsymbol{D}^{-1}\boldsymbol{b}
Gausss-Seidel迭代非奇异\boldsymbol{A}=\boldsymbol{D}-\boldsymbol{L}-\boldsymbol{U} \\ \boldsymbol{x}_{k}=\left ( \boldsymbol{D}-\boldsymbol{L }\right )^{-1}\boldsymbol{U}\boldsymbol{x}_{k-1}+\left ( \boldsymbol{D}-\boldsymbol{L} \right )^{-1}b
SOR迭代非奇异\boldsymbol{A}=\boldsymbol{D}-\boldsymbol{L}-\boldsymbol{U} \\ \boldsymbol{L}_{\omega }=\left ( \boldsymbol{D}-\omega \boldsymbol{L}\right )^{-1} \left ( \left ( 1-\omega \right )\boldsymbol{D}+\omega \boldsymbol{U} \right )\\ \boldsymbol{x}_{k+1}= \boldsymbol{L}_{\omega }\boldsymbol{x}_{k}+\omega \left ( \boldsymbol{D}-\omega \boldsymbol{L} \right )^{-1}\boldsymbol{b}
Steepest Descent对称正定\boldsymbol{r}_{k}=\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x}\\ \boldsymbol{p}_{k}=\boldsymbol{r}_{k}\\ \alpha_{k}=\frac{\boldsymbol{r}_{k}^{T}\boldsymbol{p}_{k}}{\boldsymbol{p}_{k}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}\\ \boldsymbol{x}_{k+1}=\boldsymbol{x}_{k}+\alpha _{k}\boldsymbol{p}_{k}
Conjugate Gradient对称正定

k=1

     \boldsymbol{r}_{k}=\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x}\\ \boldsymbol{p}_{k}=\boldsymbol{r}_{k}\\ \alpha_{k}=\frac{\boldsymbol{r}_{k}^{T}\boldsymbol{p}_{k}}{\boldsymbol{p}_{k}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}\\ \boldsymbol{x}_{k+1}=\boldsymbol{x}_{k}+\alpha _{k}\boldsymbol{p}_{k}

k>1

    \alpha _{k}=\frac{\boldsymbol{r}_{k+1}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}{\boldsymbol{p}_{k}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}\\ \boldsymbol{x}_{k+1}=\boldsymbol{x}_{k}+\alpha \boldsymbol{p}_{k} \\ \boldsymbol{r}_{k+1}=\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x}_{k+1} \\ \beta _{k}=-\frac{\boldsymbol{r}_{k+1}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}{\boldsymbol{p}_{k}^{T}\boldsymbol{A}\boldsymbol{p}_{k}}\\ \boldsymbol{p}_{k+1}=\boldsymbol{r}_{k+1}+\beta _{k}\boldsymbol{p}_{k}

二、Projection Method

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

在投影法中,令\boldsymbol{r}=\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x},构造列满秩矩阵\mathcal{K}\in \mathbb{R}^{n\times m}\mathcal{L}\in \mathbb{R}^{n\times m},寻找\boldsymbol{\tilde{x}}\in\mathcal{K},满足Petrov-Galerkin条件,即\forall \boldsymbol{y}\in \mathcal{L},均有\mathcal{L}^{T}\left ( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\tilde{x}} \right )=\boldsymbol{0}\mathcal{K}称为搜索空间,\mathcal{L}称为约束空间。若\mathcal{L}=\mathcal{K}时,称为正投影算法,否则称为斜投影算法

三、Krylov Subspace Method

Krylov子空间法本质上也是一种投影法,其核心思想是在更小维度的Krylov子空间内寻找满足精度要求的近似解。即令\boldsymbol{r}_{0}=\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x}_{0},构造了mKrylov子空间\mathcal{K}\left ( \boldsymbol{A},\boldsymbol{r}_{0} \right )=span\left ( \boldsymbol{r}_{0} , \boldsymbol{A}\boldsymbol{r}_{0}, \boldsymbol{A}^{2} \boldsymbol{r}_{0},\cdots ,\boldsymbol{A}^{m-1}\boldsymbol{r}_{0} \right ),使得\mathcal{L}^{T}\left (\boldsymbol{b}-\boldsymbol{A}\boldsymbol{x} \right )=\boldsymbol{0}

选择不同的\mathcal{L},就对应不同的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. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/51126.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis(二)

文章目录 一.MyBatis的模式开发1.1 定义数据表和实体类1.2 配置数据源和MyBatis1.3 编写Mapper接口和增加xxxMapper.xml1.4 测试我们功能的是否实现. 二. Mybatis的增删查改操作2.1 单表查询2.2 多表查询三.动态SQL的实现3.1 什么是动态SQL3.2 动态SQL的使用if标签的使用trim标…

LeetCode559. N 叉树的最大深度

559. N 叉树的最大深度 文章目录 [559. N 叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-n-ary-tree/)一、题目二、题解方法一:迭代方法二:递归 一、题目 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶…

【机器学习】Multiple Variable Linear Regression

Multiple Variable Linear Regression 1、问题描述1.1 包含样例的X矩阵1.2 参数向量 w, b 2、多变量的模型预测2.1 逐元素进行预测2.2 向量点积进行预测 3、多变量线性回归模型计算损失4、多变量线性回归模型梯度下降4.1 计算梯度4.2梯度下降 首先,导入所需的库 im…

架构的分类

目录 一、 RUP41 架构 1.1 RUP41架构方法概述 1.2 RUP41架构总体 1.3 RUP41架构方法内容 1.3.1 逻辑视图 1.3.2 开发视图 1.3.3 物理视图 1.3.4 处理视图 1.3.5 场景视图 ​二、 TOGAF9 架构 2.1 TOGAF9 架构概述 2.2 TOGAF9 架构分类 2.2.1 业务架构 2.2.2 数据架…

蓝海卓越计费管理系统远程命令执行

活着,就要时刻准备承受磨难! 漏洞描述 蓝海卓越计费管理系统存在命令调试页面,导致攻击者可以远程命令执行 漏洞复现 访问 debug.php页面 远程调试命令执行 /debug.php漏洞证明 文笔生疏,措辞浅薄,望各位大佬不吝…

linux -网络编程-多线程并发服务器

目录 1.三次握手和四次挥手 2 滑动窗口 3 函数封装思想 4 高并发服务器 学习目标: 掌握三次握手建立连接过程掌握四次握手关闭连接的过程掌握滑动窗口的概念掌握错误处理函数封装实现多进程并发服务器实现多线程并发服务器 1.三次握手和四次挥手 思考: 为什么…

手把手教你使用stable diffusion生成自己的艺术二维码

艺术二维码制作指南 导读midjourneystable diffusion 环境准备安装stable diffusion webuisd-webui-qrcode-toolkit安装 草料二维码模型准备QR PatternQR Code MonsterIoC Lab Control Net 艺术二维码制作1. 二维码信息提取2. 使用QR Tookit生成二维码3. 下载二维码图片4. prom…

Modbus tcp转ETHERCAT网关modbus tcp/ip协议

捷米JM-ECT-TCP网关能够连接到Modbus tcp总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提高工业生产的效率和生产效益,让生产变得更加智能化。捷米JM-ECT-TCP 是自主研发的一款 ETHERCAT 从站功能的通讯网关。该产品主要功能是…

一个监控系统的典型架构

监控系统的典型架构图,从左往右看,采集器是负责采集监控数据的,采集到数据之后传输给服务端,通常是直接写入时序库。然后就是对时序库的数据进行分析和可视化,分析部分最典型的就是告警规则判断,即图上的告…

【mysql学习篇】Order by与Group by优化以及排序算法详解

一、Order by与Group by优化 Case1: 分析: 利用最左前缀法则:中间字段不能断,因此查询用到了name索引,从key_len74也能看出,age索引列用在排序过程中,因为Extra字段里没有using filesort 注意…

擎创技术流 | 深入浅出运维可观测工具(二):eBPF应用中常见问题

上期跟大家聊了下eBPF的发展历史还有特性,点击这里↓↓↓擎创技术流 | 深入浅出运维可观测工具(一):聊聊eBPF的前世今生,一键回看上期精彩内容。 这期主要跟大家分享下eBPF在应用过程中可能出现的问题,希望…

本地仓库推送至远程仓库

1. 本地生成ssh密钥对 ssh-keygen -t rsa -C 邮箱2. 添加公钥到gitlab/github/gitee上 打开C:\Users\用户名\.ssh目录下生成的密钥文件id_rsa.pub,把内容复制到如下文本框中 删除Expiration date显示的日期,公钥有效期变成永久,之后点Add K…

vmware中windows操作系统虚拟机安装

1.win10中安装 1.1 虚拟机向导 文件-新建虚拟机 典型-下一步 稍后安装操作系统-下一步 window10 64x -下一步 修改虚拟机名称及位置-下一步 默认60g,至少大于40g-将虚拟磁盘拆分成多个文件夹-下一步 点击完成 1.2 编辑虚拟机设置 移除打印机 设置虚拟机,加入iso映…

联想北京公司研发管理部高级经理周燕龙受邀为第十二届中国PMO大会演讲嘉宾

联想(北京)有限公司研发管理部高级经理周燕龙先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:PMO如何助力研发。大会将于8月12-13日在北京举办,敬请关注! 议题简要: PMO在…

js中的遍历方法比较:map、for...in、for...of、reduce和forEach的特点与适用场景

😊博主:小猫娃来啦 😊文章核心:JavaScript中的遍历方法比较:map、for…in、for…of和forEach的特点与适用场景 文章目录 map 方法概述用法返回值特点 for...in 循环概述用法注意事项 for...of 循环概述用法可迭代对象…

用LangChain开源框架实现知识机器人

前言 Large Language Models (LLMs)在2020年OpenAI 的 GPT-3 的发布而进入世界舞台 。从那时起,他们稳步增长进入公众视野。 众所周知 OpenAI 的 API 无法联网,所以大家如果想通过它的API实现联网搜索并给出回答、总结 PDF 文档、基于某个 Youtube 视频…

[nlp] TF-IDF算法介绍

(1)TF是词频(Term Frequency) 词频是文档中词出现的概率。 (2) IDF是逆向文件频率(Inverse Document Frequency) 词条出现率越低,IDF越大。

Dooring-Saas低代码技术详解

hello, 大家好, 我是徐小夕, 今天和大家分享一下基于 H5-Dooring零代码 开发的全新零代码搭建平台 Dooring-Saas 的技术架构和设计实现思路. 背景介绍 3年前我上线了第一版自研零代码引擎 H5-Dooring, 至今已迭代了 300 多个版本, 主要目的是快速且批量化的生产业务/营销过程中…

红黑树解密:为什么根节点必须是黑色,两个红色节点不能挨着?

红黑树解密:为什么根节点必须是黑色,两个红色节点不能挨着? 博主简介一、引言1.1、红黑树是什么及其特点1.2、根节点为黑色和红色节点不连续的性质介绍 二、为何根节点必须是黑色?三、为何两个红色节点不能挨着?总结 博…

RNN架构解析——LSTM模型

目录 LSTMLSTM内部结构图 Bi-LSTM实现 优点和缺点 LSTM LSTM内部结构图 Bi-LSTM 实现 优点和缺点