线性代数方程组的数值解法

  • 线性代数方程组数值解法
    • 一.向量范数与矩阵范数
      • 1.1 向量范数
        • 1.1.1 满足三个条件(向量范数公理)
        • 1.1.2 常用的向量范数
      • 1.2 矩阵范数
        • 1.2.1 矩阵范数公理(四个条件)
        • 1.2.2 常用的矩阵从属范数
          • 相容性(对于向量范数与矩阵范数而言)
          • 从属范数
          • 常见从属范数
          • Frobenius范数(F范数)
    • 二.Gauss消元法
      • 2.1 Gauss消元法
      • 2.2 列选主元素消元法
      • 2.3 全选主元素消元法
    • 三.三角分解法
      • 3.1 LU分解
      • 3.2 列主元消元法的LU分解
      • 3.3 杜立特(Doolittle)分解法
      • 3.4 Crout分解法
      • 3.5 Cholesky平方根法
      • 3.6 改进的Cholesky平方根法
      • 3.7 三对角方程组追赶法
    • 四.矩阵的条件数及误差分析
      • 4.1 条件数
    • 五.线性方程组的迭代解法
    • 六.梯度法

线性代数方程组数值解法

即对n阶线性方程组:
Ax=b\mathbf{Ax=b} Ax=b
的数值解法。其中A=(aij)\mathbf{A}=(a_{ij})A=(aij​)是n×n矩阵且非奇异。(以下讨论皆以矩阵A可逆为前提)
以下摘录了两类数值方法:

  • 直接法:Ax=b⟺Gx=d\mathbf{Ax=b}\Longleftrightarrow\mathbf{Gx=d}Ax=b⟺Gx=d 其中G通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵。
  • 迭代法:
    Ax=b⟺x=Bx+k建立迭代格式:x(i+1)=Bx(i)+k,i=0,1,...,\mathbf{Ax=b}\Longleftrightarrow\mathbf{x=Bx+k}\\建立迭代格式: \\\mathbf{x^{(i+1)}=Bx^{(i)}+k},i=0,1,..., Ax=b⟺x=Bx+k建立迭代格式:x(i+1)=Bx(i)+k,i=0,1,...,
    迭代收敛。

一.向量范数与矩阵范数

1.1 向量范数

1.1.1 满足三个条件(向量范数公理)

  1. 非负性:∥x∥≥0\Vert\mathbf{x}\Vert\ge0∥x∥≥0,且∥x∥=0⟺x=0\Vert\mathbf{x}\Vert=0\Longleftrightarrow\mathbf{x=0}∥x∥=0⟺x=0;
  2. 齐次性:∥αx∥=∣α∣∥x∥\Vert\alpha\mathbf{x}\Vert=|\alpha|\Vert\mathbf{x}\Vert∥αx∥=∣α∣∥x∥;
  3. 三角不等式:∥x+y∥≤∥x∥+∥y∥\Vert\mathbf{x+y}\Vert\le\Vert\mathbf{x}\Vert+\Vert\mathbf{y}\Vert∥x+y∥≤∥x∥+∥y∥

1.1.2 常用的向量范数

  • 1范数:∥x∥1=∑i=1n∣xi∣\Vert{\mathbf{x}}\Vert_1=\sum^n_{i=1}|x_i|∥x∥1​=∑i=1n​∣xi​∣;
  • 2范数:∥x∥2=(∑i=1n∣xi∣2)12\Vert{\mathbf{x}}\Vert_2=(\sum^n_{i=1}|x_i|^2)^{\frac{1}{2}}∥x∥2​=(∑i=1n​∣xi​∣2)21​;
  • ∞范数:∥x∥∞=max⁡∣xi∣\Vert{\mathbf{x}}\Vert_\infin=\max_{}|x_i|∥x∥∞​=max​∣xi​∣;
  • p范数:∥x∥p=(∑i=1n∣xi∣p)1p\Vert{\mathbf{x}}\Vert_p=(\sum^n_{i=1}|x_i|^p)^{\frac{1}{p}}∥x∥p​=(∑i=1n​∣xi​∣p)p1​;

1.2 矩阵范数

1.2.1 矩阵范数公理(四个条件)

  1. 非负性:∥A∥≥0\Vert\mathbf{A}\Vert\ge0∥A∥≥0,且∥A∥=0⟺A=0\Vert\mathbf{A}\Vert=0\Longleftrightarrow\mathbf{A=0}∥A∥=0⟺A=0;
  2. 齐次性:∥αA∥=∣α∣∥A∥\Vert\alpha\mathbf{A}\Vert=|\alpha|\Vert\mathbf{A}\Vert∥αA∥=∣α∣∥A∥;
  3. 三角不等式:∥A+B∥≤∥A∥+∥B∥\Vert\mathbf{A+B}\Vert\le\Vert\mathbf{A}\Vert+\Vert\mathbf{B}\Vert∥A+B∥≤∥A∥+∥B∥
  4. 乘法不等式:∥AB∥≤∥A∥∥B∥\Vert\mathbf{AB}\Vert\le\Vert\mathbf{A}\Vert\Vert\mathbf{B}\Vert∥AB∥≤∥A∥∥B∥

1.2.2 常用的矩阵从属范数

相容性(对于向量范数与矩阵范数而言)

满足:
∀x,A:∥Ax∥向量≤∥A∥矩阵∥x∥向量\forall\mathbf{x,A}:\Vert\mathbf{Ax}\Vert_{向量}\le\Vert\mathbf{A}\Vert_{矩阵}\Vert\mathbf{x}\Vert_{向量} ∀x,A:∥Ax∥向量​≤∥A∥矩阵​∥x∥向量​

从属范数

由向量范数定义:
∥A∥=max∥x∥=1∥Ax∥=max∥x∥≠0∥Ax∥∥x∥\Vert{\mathbf{A}}\Vert=max_{\mathbf{\Vert{x}\Vert}=1}\Vert\mathbf{Ax}\Vert=max_{\mathbf{\Vert{x}\Vert}\ne0}\frac{\Vert\mathbf{Ax}\Vert}{\Vert\mathbf{x}\Vert} ∥A∥=max∥x∥=1​∥Ax∥=max∥x∥​=0​∥x∥∥Ax∥​
显然满足相容性。

  • 单位矩阵I\mathbf{I}I的的任何一种从属范数∥I∥\mathbf{\Vert{I}\Vert}∥I∥=1。
  • 从属范数一定与所给定的向量范数相容,反之不然。
常见从属范数
  • 1范数:∥A∥1=max⁡1≤j≤n∑i=1n∣aij∣\Vert{\mathbf{A}}\Vert_1=\max_{1\le j\le{n}}\sum^n_{i=1}|a_{ij}|∥A∥1​=max1≤j≤n​∑i=1n​∣aij​∣;(最大的绝对值的列之和)
  • 2范数:∥A∥2=ρ(AHA)\Vert{\mathbf{A}}\Vert_2=\sqrt{\rho(A^HA)}∥A∥2​=ρ(AHA)​;
  • ∞范数:∥x∥∞=max⁡1≤I≤n∑J=1n∣aij∣\Vert{\mathbf{x}}\Vert_\infin=\max_{1\le I\le{n}}\sum^n_{J=1}|a_{ij}|∥x∥∞​=max1≤I≤n​∑J=1n​∣aij​∣;(最大的绝对值的行之和)

其中:

  • AH\mathbf{A^H}AH是A\mathbf{A}A的共轭转置(即实数不变,虚数取负再转置)。AHA\mathbf{A^HA}AHA为对称矩阵。
  • ρ(AHA)=max∣λi∣\rho(\mathbf{A^HA})=max|\lambda_i|ρ(AHA)=max∣λi​∣为AHA\mathbf{A^HA}AHA的谱半径。
    另可通过∣λI−AHA∣=0|\lambda\mathbf{I-A^HA}|=0∣λI−AHA∣=0求得特征值。
  • A为正规矩阵,即AHA=AAH\mathbf{A^HA=AA^H}AHA=AAH时,有∥A∥2=ρ(A)\Vert\mathbf{A}\Vert_2=\rho(\mathbf{A})∥A∥2​=ρ(A)。证明见此:正规矩阵的谱半径等于谱范数
    要点:
    A是正规阵,必然存在酉阵Q(QHQ=QQH=I)满足:
    QHAQ = D ,D为对角阵且每个对角元值为A的特征值。
  • 可以验证:由所给定的向量范数定义出的从属范数满足4条矩阵范数公理。
Frobenius范数(F范数)

∥A∥F=(∑i=1n∑j=1n∣aij∣2)12\Vert\mathbf{A}\Vert_F=(\sum^n_{i=1}\sum^n_{j=1}|a_{ij}|^2)^{\frac{1}{2}} ∥A∥F​=(i=1∑n​j=1∑n​∣aij​∣2)21​

二.Gauss消元法

2.1 Gauss消元法

2.2 列选主元素消元法

2.3 全选主元素消元法

三.三角分解法

3.1 LU分解

定理
若A为n阶方阵,且A的所有顺序主子式不等于0,则存在唯一的一个单位下三角矩阵L和一个上三角矩阵U,使A=LU

3.2 列主元消元法的LU分解

定理
若A非奇异,则一定存在排列矩阵P,使得PA被分解为一个单位下三角阵和一个上三角阵的乘积。
PAx=Pb⟺LUx=Pb\mathbf{PAx=Pb}\Longleftrightarrow{\mathbf{LUx=Pb}} PAx=Pb⟺LUx=Pb

3.3 杜立特(Doolittle)分解法

设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则A=LU:
L=[100...0l2110...0l31l321...0.....ln1ln2ln3...1]U=[u11u12u13...u1n0u22u23...u2n00u33...u3n.......000...unn]\mathbf{L}=\begin{bmatrix}1&0&0&...&0\\l_{21}&1&0&...&0\\l_{31}&l_{32}&1&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&1\end{bmatrix}\\ \mathbf{U}=\begin{bmatrix}u_{11}&u_{12}&u_{13}&...&u_{1n}\\0&u_{22}&u_{23}&...&u_{2n}\\0&0&u_{33}&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&u_{nn}\end{bmatrix} L=⎣⎢⎢⎢⎢⎡​1l21​l31​.ln1​​01l32​.ln2​​001.ln3​​.............​000.1​⎦⎥⎥⎥⎥⎤​U=⎣⎢⎢⎢⎢⎡​u11​00.0​u12​u22​0.0​u13​u23​u33​.0​...............​u1n​u2n​u3n​.unn​​⎦⎥⎥⎥⎥⎤​
先算第一行、第一列;再顺序向后先行后列计算。
存储可利用原来的系数矩阵A的存储单元。

3.4 Crout分解法

设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则A=L^U^\mathbf{A=\hat{L}\hat{U}}A=L^U^:
L^=[l1100...0l21l220...0l31l32l33...0.....ln1ln2ln3...lnn]U^=[1u12u13...u1n01u23...u2n001...u3n.......000...1]\mathbf{\hat{L}}=\begin{bmatrix}l_{11}&0&0&...&0\\l_{21}&l_{22}&0&...&0\\l_{31}&l_{32}&l_{33}&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&l_{nn}\end{bmatrix}\\ \mathbf{\hat U}=\begin{bmatrix}1&u_{12}&u_{13}&...&u_{1n}\\0&1&u_{23}&...&u_{2n}\\0&0&1&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&1\end{bmatrix} L^=⎣⎢⎢⎢⎢⎡​l11​l21​l31​.ln1​​0l22​l32​.ln2​​00l33​.ln3​​.............​000.lnn​​⎦⎥⎥⎥⎥⎤​U^=⎣⎢⎢⎢⎢⎡​100.0​u12​10.0​u13​u23​1.0​...............​u1n​u2n​u3n​.1​⎦⎥⎥⎥⎥⎤​
先算第一列、第一行;再顺序向后先列后行计算。
存储可利用原来的系数矩阵A的存储单元。

3.5 Cholesky平方根法

定理
系数矩阵A对称正定,则存在下三角阵L,使得A=LLT。当限定L的对角元素为正时,这种分解是唯一的。
A=LˉLˉTLˉ=[lˉ11lˉ21lˉ22lˉ31lˉ32lˉ33............0lˉn1lˉn2lˉn3...lˉnn]\mathbf{A=\bar{L}\bar{L}^T}\\ \mathbf{\bar{L}}=\begin{bmatrix}\bar{l}_{11}&&&&\\\bar{l}_{21}&\bar{l}_{22}&&&\\\bar{l}_{31}&\bar{l}_{32}&\bar{l}_{33}\\...&...&...&...&0\\\bar{l}_{n1}&\bar{l}_{n2}&\bar{l}_{n3}&...&\bar{l}_{nn}\end{bmatrix} A=LˉLˉTLˉ=⎣⎢⎢⎢⎢⎡​lˉ11​lˉ21​lˉ31​...lˉn1​​lˉ22​lˉ32​...lˉn2​​lˉ33​...lˉn3​​......​0lˉnn​​⎦⎥⎥⎥⎥⎤​
缺点:需要开根

3.6 改进的Cholesky平方根法

A=LDLTL=[1l211l31l321............0ln1ln2ln3...1]D=[d1d2...dn]\mathbf{A={LD}{L}^T}\\ \mathbf{{L}}=\begin{bmatrix}1&&&&\\{l}_{21}&1&&&\\{l}_{31}&{l}_{32}&1\\...&...&...&...&0\\{l}_{n1}&{l}_{n2}&{l}_{n3}&...&1\end{bmatrix}\\ \mathbf{D}=\begin{bmatrix}d_1\\&d_2\\&&...\\&&&&d_n\end{bmatrix} A=LDLTL=⎣⎢⎢⎢⎢⎡​1l21​l31​...ln1​​1l32​...ln2​​1...ln3​​......​01​⎦⎥⎥⎥⎥⎤​D=⎣⎢⎢⎡​d1​​d2​​...​​dn​​⎦⎥⎥⎤​

3.7 三对角方程组追赶法

Crout分解。

四.矩阵的条件数及误差分析

4.1 条件数

Cond(A)=∥A∥∥A−1∥≥1Cond(\mathbf{A})=\mathbf{\Vert A\Vert\Vert A^{-1}\Vert}\ge1Cond(A)=∥A∥∥A−1∥≥1
特别的,由矩阵二范数定义的条件数为矩阵的谱条件数:
Cond2(A)=∥A∥2∥A−1∥2Cond_2(\mathbf{A})=\mathbf{\Vert A\Vert_2\Vert A^{-1}\Vert_2}Cond2​(A)=∥A∥2​∥A−1∥2​

五.线性方程组的迭代解法

六.梯度法

线性代数方程组数值解法相关推荐

  1. 用matlab求解线性代数方程组,线性代数方程组数值解法与MATLAB实现综述

    线性代数方程组数值解法及MATLAB 实现综述 廖淑芳 20122090 数计学院 12计算机科学与技术1班(职教本科) 一.分析课题 随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算 ...

  2. 【数理知识】《数值分析》李庆扬老师-第7章-非线性方程与方程组的数值解法

    第6章 回到目录 第8章 第7章-非线性方程与方程组的数值解法 7.1 方程求根与二分法 7.2 不动点迭代法及其收敛性 7.3 迭代收敛的加速方法 7.4 牛顿法 7.5 弦截法与抛物线法 7.6 ...

  3. 高等数值计算方法学习笔记第6章【解线性代数方程组的迭代方法(高维稀疏矩阵)】

    高等数值计算方法学习笔记第6章[解线性代数方程组的迭代方法(高维稀疏矩阵)] 一.引言 1.例题(说明迭代法的收敛性研究的重要性) 2.定义(迭代法,迭代法收敛)&解误差 二.基本迭代法 1. ...

  4. matlab 非线性方程数值解法,非线性方程组的几种数值解法+matlab源代码

    摘要很多领域都有涉及到非线性方程组,例如天气预报,石油地质勘探,电力系统计算等,甚至商业领域也有非线性优化问题,这些问题要从本质上解决就是求出非线性方程组的解.但是目前已知的数值解法并不完善,选择不同 ...

  5. MATLAB数值分析学习笔记:线性代数方程组的求解和高斯消元法

    工程和科学计算的许多基本方程都是建立在守恒定律的基础之上的,比如质量守恒等,在数学上,可以建立起形如 [A]{x}={b} 的平衡方程.其中{x}表示各个分量在平衡时的取值,它们表示系统的状态或响应: ...

  6. c语言迭代法解线性代数方程,迭代法求线性代数方程组程序.docx

    迭代法求线性代数方程组 计算物理 辽宁科技大学 理学院 骆宾祥 学号:120123802038 迭代法求线性代数方程组 骆宾祥 摘 要:目前在许多实际应用领域,诸如航空.造船以及其它结构工程中,常遇到 ...

  7. 【数理知识】《数值分析》李庆扬老师-第9章-常微分方程初值问题数值解法

    第8章 回到目录 无 第9章-常微分方程初值问题数值解法 9.1 引言 利普希茨 (Lipschitz) 条件 / 利普希茨常数 定理1 解的存在唯一性定理 定理2 解对初值依赖的敏感性 9.2 简单 ...

  8. qr分解求线性方程组_计算方法/数值分析第三章 线性方程组的数值解法

    主要内容: 1.引言 2.高斯消去法 3.直接分解法 4.解线性方程组的迭代法 5.向量范数.矩阵范数及迭代法的收敛性 第一节 引言 用克拉姆求解线性方程组 第二节 高斯消去法 高斯消去法是一种古老的 ...

  9. 计算物理学(数值分析)上机实验答案5、常微分方程初值问题的数值解法

    实验五.常微分方程初值问题的数值解法 ​ 常微分方程的求解问题在实践中经常遇到,因此研究常微分方程的数值解法就很有必要.欧拉方法是最简单.最基本的方法,利用差商代替微商,就可得到一系列欧拉公式.这些公 ...

最新文章

  1. 动物界的再生一个故事
  2. OpenGL HDR曝光的实例
  3. JDK 8 新特性 之 函数接口
  4. Exynos4412 Uboot 的使用与烧写
  5. ServerAlias指令
  6. Python的gc模块
  7. centos sftp客户端 c 源码_Redis第3课:如何使用 Redis客户端
  8. java web部署文档_javaweb项目实施部署文档
  9. linux网卡端口绑定bond,Linux下双网卡绑定bond0
  10. Debian系、红帽系、Arch Linux系如何选择安装包
  11. PDF文件打开密码解密
  12. 学习 canvas (二) 绘制图表
  13. 树莓派 android10,树莓派4使用AndroidTV 10系统
  14. php smarty框架案例,PHP框架_Smarty
  15. 分门别类刷leetcode——链表
  16. 白平衡之灰度世界算法
  17. 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
  18. 随机森林的java算法_spark 随机森林算法案例实战
  19. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
  20. Python全栈(八)Flask项目实战之8.CMS后台轮播图管理

热门文章

  1. 如何从NOAA下载SST数据
  2. 执行RMAN恢复的高级场景_还原使用旧版本的RMAN创建的备份
  3. 什么才是高级软件工程师?
  4. Debian 制作U盘安装盘启动器
  5. 最老程序员创业开发实训10---Android---注册登录功能实现1
  6. python结巴分词 能分英文吗_NLTK(一):英文分词分句
  7. 80老翁谈人生(203):748工程支撑王选最终走向成功!
  8. FreeMind无法打开
  9. java并发原理实战(8)-- lock接口使用和认识
  10. SASS的概念和使用