当前课程知识点:数值分析 >  第二章 解线性方程组的直接解法 >  2.4 平方根法和改进的平方根法 >  平方根法和改进的平方根法

返回《数值分析》慕课在线视频课程列表

平方根法和改进的平方根法在线视频

下一节:误差分析(1)向量和矩阵范数

返回《数值分析》慕课在线视频列表

平方根法和改进的平方根法课程教案、知识点、字幕

这小节我们来介绍

求解系数矩阵是对称正定的线性方程组的 

平方根法与改进的平方根法 

如果线性方程组Ax=b 

它的系数矩阵a是对称正定的

我们就说这个线性方根组是

对称正定线性方根组 

基于它系数矩阵对称的特点

在利用Gauss消去法

求解线性方程组的时候 

计算量就会减小近一半

我们下面先来看一下

对称正定矩阵它的一些性质 

我们先来介绍对称正定矩阵的

Cholesky分解

Cholesky分解指的是什么

就是对于对称正定矩阵 

存在唯一的非奇异下三角矩阵L 

使得A可以表示成L乘上L的转置 

其中L的对角线的元素都是正数 

这个结论很容易证明 

因为A是对称正定的 

它就一定可以进行三角分解 

我们把它的三角分解记成L~

其中L~是单位下三角矩阵 

U是上三角矩阵  

因为A是对称正定的

所以这个上三角矩阵

对角线上的元素都是大于0的 

我们再进一步的把上三角矩阵

分解成一个对角矩阵

和一个单位上三角矩阵的乘积 

对角矩阵就是上三角矩阵对角线上的元素 

相应的单位上三角矩阵 

我们把它记成 U ~

根据A的对称性 

我们容易证明U~ 实际上 是L~的转置

又因为A是正定的 

那么对角矩阵D对角线上的元素 

就都是大于0的 

我们可以取它对角线上元素的平方根 

形成新的对角矩阵 D~

所以 A可以分解为L~ 乘上D~ D~转置

当然D~的转置就是D~

再乘上L~上的转置 

那我们另L~和D~的乘积就是L 

正好得到了我们要的分解形式 

L乘上L的转置 

所以这个结论

我们很容易根据三角分解

去把它证明出来 

那么它的这个三角分解怎么去求

也就是说我们怎样去求L里面的元素

我们可以采用比较元素的方法 

也就是说我们把L的一般形式给它写出来 

因为它是下三角矩阵 

我们只需要写出对角线和

对角线下面的元素 

L成上L的转置就等于a 

我们用最简单的一个例子来看 

比方说对于一个三乘三的矩阵a 

那么它的Cholesky分解是怎么样去求的 

我们把L的一般形式设出来 

我们把L和L转置的乘积元素写出来 

它和a的矩阵的元素对应相等 

很容易看出来L1的平方等于a1 

L11乘上L21是等于a21 

L21平方加上L2平方等于a22 

以此类推

那么我们通过对应关系

就很容易把L矩阵里边的元素求出来 

可以先根据L11的平方等于a11 

先把L11求出来 

然后再根据L11乘上L21=a21 

因为L11已经算出来了 

所以我们可以给出L21 

实际上就是a21除上L11 

同样的道理去算L31 

L21的平方加上L22平方等于a22 

所以L22就等于

a22减去L21的平方再开根号  

L21我们前一步已经算出来了 

所以说很容易也可以把L22也算出来 

同样的道理 

我们再去根据a 

我们再去根据a32

跟L矩阵里面元素的关系 

可以给出L32的计算表达式

这个就是我们计算L矩阵里面

元素的基本过程

按照刚才的顺序

大家可以练习着把下面这个三乘三矩阵 

把他的Cholesky分解求出来

也就是去求矩阵L里边的元素 

大家可以模仿我们刚刚介绍的过程去求 

实际上 里边有现成的

做Cholesky分解的 

就是 CHOL

大家可以试一下 

那么对于N阶的对称正定矩阵 

我们也是按照这样的顺序

去求他的Cholesky分解的

先去求第一行第一列的这个元素 

L11的然后根据它

去求L21 L31 Ln1 

也就是说依次的先去求第一列第一个元素 

然后接着

依次去求第一列里面的其他元素 

接着去求第二列里的 

对角线的元素L22 

然后接下来去求第二列里边其他的元素 

接着再依次往下求 

按照这个顺序去求解 

就能保证我们每次用到的数 

都是前边已经求出来的数 

这就是求Cholesky分解里边的

L矩阵元素的计算方法 

在这里 

我们主要是利用了a矩阵的对称性质 

设计出这样的计算方法 

大家可以根据我刚才说的算法

来算一个阶数更加高的

比方说这个四乘四这个矩阵的

它的Cholesky分解

那么大概的运算顺序就是

先求第一行第一列的元素 

然后再去求第一列其他位置的元素 

第二我们把第一列求出来以后 

接着去求第二列 

先去求对角线上这个元素 

然后依次去求对角线以下的这些元素 

求完第二列以后再接着去求第三列 

第四列

做法就和我们刚才

对于一般矩阵的做法是一样的 

主要就是根据元素比较法 

然后呢 

找出L矩阵里面的元素

跟原来a矩阵里面的元素之间的对应关系  

这样就可以通过a矩阵

和已经求出来的L矩阵里的元素 

把L矩阵里面下面的元素算出来

但是需要注意的是

这个次序问题

就一定要按照这个按列计算的这个次序去做 

这个算法才能实现

先求第一列再求第二列

依次往下做 

把这种矩阵分解的方法用来求解线性方程组

这种方法就叫解线性方程组的平方根法

也叫Cholesky分解方法

也就是说

如果我们要求的这个线性方程组是Ax=b 

A是对称正定的

我们可以先对a做一个分解

把A分解成一个下三角矩阵和它的转置乘积

也就是L乘L的转置

然后我们把L的转制成X

设成是y

利用L的转置Ly=b

先去求Ly=b 

把y求出以后 

再带入到 L 的转置乘 x等于y里面

接着把X再求出来

这样的利用Cholesky分解 

来求解这样的对称正定线性方程组的方法

我们就把他叫平方根法

也叫Cholesky分解方法

实际上

我们还可以给出对称正定矩阵的另外一种分解

也就是说

对于对称正定矩阵A

一定存在一个单位下三角矩阵L和对角矩阵D  

使得A是等于L乘上D乘上L的转置

B的对角元都是正数 

实际上这个结论在我们刚才说明

A可以进行Cholesky分解的过程中  

就有这个结果

所以这个结论很容易说明

同样的方法也是把A作三角分解

当A=LU然后U再把它分解成一个

对角矩阵乘上一个单位上三角矩阵 

然后利用A的对称性

我们就可以知道L

和这个单位上三角矩阵是互为转置的

所以就是我们要的这种分解的形式

L乘上D的L的转置

这里头需要说明的是 

对称正定矩阵的LD LT分解

本质上其实就是对A作LU分解

那个从刚才我们这种分解的存在性

大家可以看出来

那么LD LT分解中的L实际上就是

LU分解中的L

LD LT分解中的D

实际上就是LU分解中U的对角部分

也就是把u的对角线拿出来就是D

那么LD LT分解中的L和D怎么去计算 

我们就采用对一般的矩阵做LU分解的方法

就可以把LD LT分解

把它求出来

这里我们充分利用对称性

还可以减少一半的计算量

它大概的实现方法就是U的第一行 

就是A的第一行

L的第一列就是用刚求出来的U的第一行 

去除上对角线上的元素就是U11 

这样就求出来L的一列

如果我把U的第K行求出来

那再求L的第K列的时候 

就比一般的LU分解更加简单

直接用U的第K行

去除以U的第K行第K列的这个元素 

得到的就是相应的L的第I行第K列的元素

这样就节省了一半的计算量

这里实际上就是

充分的利用了原来矩阵的对称性质 

也就是你把它的行求出来以后

一转置就是它的列

无非行和列之间差了一个系数

这个系数就是对角线上的元素

所以把它除过去就对了

对角线上的元素拿出来放到对角线上

得到的对角矩阵就是我们要的D 

我们下面可以拿一个简单的例子说明一下

比方对这个四乘四的对称正定矩阵 

我们就用普通的LU分解的紧凑格式来说明它

第一行 那么就是U的第一行

所以U的第一行

直接把A的第一行抄下来就对了 

再求L的第一列的时候就看着第一行

然后用第一行的元素分别去除以对角线上的元素

在这里边再求L的第一列的时候 

就应该是-2 6 -2  

分别去除以四得到L的第一列 

然后再去求U的第二行 

U的第二行求法就是一般的LU分解的这种方法

把U的第二行求出来以后 

直接除以对角线上的元素就是4

也就是把2和-4分别除以4 

摆到相应的第二列的位置上

得到的就是L的第二列

在求U的第三行 

L的第三列的都是这样去做的

那么在求L矩阵里面元素的时候

实际上直接用了U矩阵计算结果

而且只做一次除法 

这个计算量就节省下来了

我们把这个分解过程就叫做

对矩阵的LD LT分析

如果是把这种矩阵分解的方法

用在求解线性方程组上面

那么也是把这个线性方程组

分解成两个三角形的线性方程组

我们把D乘上LT乘X设成是y 

我们先去求三角形方程组Ly=b 

把这个三角形方程组求出以后 

我们得出y 

然后再带入到L的转置

乘X等于B的幂乘y 

再去解决个三角形的方程组

就可以把x解出来

利用矩阵的LD 

LT分解来解线性方程组过程

我们把这种算法叫做改进的平方根法

我们从平方根法和改进的平方根法

的系数矩阵三角分解的过程

大家可以看出来 

平方根法里边有根号的计算

所以会增加计算量 

改进的平方根法 

避免的这个操作

所以在实际问题当中改进的平方根法

用的是更多的 

我们可以总结一下平方根法和改进平方根法

他们的优点

这两种方法都不需要选主元

由于系数矩阵的正定性

所以计算过程也都是稳定的

他们的计算量都是Gauss消去法的一半 

但这里的一半 

应该是比一半多的

因为平方根法需要有根号的计算

是额外消耗了一部分计算量 

改进的平方根法里边也有额外消耗的一部分

计算量

但是他们根据对称性 

计算时存储可以减少一半

实际上

平方根法和改进的平方根法

是求解小型稠密

对称正定线性方程组的最好的算法 

这一小结的内容我们就到这

数值分析课程列表:

第一章 误差

-1.1 误差的概念

--误差的概念

-1.2 误差的传播

--误差的传播

-第一章 习题

--第一章 习题

第二章 解线性方程组的直接解法

-2.1 Gauss消去法

--Gauss消去法

-2.2 矩阵的三角分解

--矩阵的三角分解

-2.3 直接三角分解法

--直接三角分解法

-2.4 平方根法和改进的平方根法

--平方根法和改进的平方根法

-2.5 误差分析(1)向量和矩阵范数

--误差分析(1)向量和矩阵范数

-2.6 误差分析(2)条件数

--误差分析(2)条件数

-第二章 习题

--第二章 习题

第三章 解线性方程组的迭代法

-3.1 Jacobi迭代法和Gauss-Seidel 迭代法

--Jacobi迭代法和Gauss-Seidel 迭代法

-3.2 迭代法收敛性的判别

--迭代法收敛性的判别

-3.3 误差分析

--误差分析

-第三章 习题

--第三章 习题

第四章 矩阵特征值与特征向量的计算

-4.1 幂法

--幂法

-4.2 反幂法

--反幂法

-第四章 习题

--第四章 习题

第五章 插值法

-5.1 多项式插值理论

--多项式插值理论

-5.2 Lagrange 插值多项式

--Lagrange 插值多项式

-5.3 Newton 插值多项式(1)差商型

--Newton 插值多项式(1)差商型

-5.4 Newton 插值多项式(2)差分型

--5.4 Newton 插值多项式(2)差分型

-5.5 分段线性插值

--分段线性插值

-5.6 Hermite 插值

--Hermite 插值

-第五章 习题

--第五章 习题

第六章 函数逼近

-6.1 数据拟合的最小二乘法(1)多项式拟合

--数据拟合的最小二乘法(1)多项式拟合

-6.2 数据拟合的最小二乘法(2)其他函数拟合

--数据拟合的最小二乘法(2)其他函数拟合

-6.3 正交多项式

--正交多项式

-6.4 函数的最佳平方逼近

--函数的最佳平方逼近

-第六章 习题

--第六章 习题

第七章 数值微分与数值积分

-7.1 数值微分

--数值微分

-7.2 Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

--Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

-7.3 Newton-Cotes求积公式(2)误差估计

--Newton-Cotes求积公式(2)误差估计

-7.4 复化求积公式

--复化求积公式

-7.5 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-第七章 习题

--第七章 习题

第八章 非线性方程的求解

-8.1 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-8.2 简单迭代法的加速、牛顿法与弦截法

--简单迭代法的加速、牛顿法与弦截法

-第八章 习题

--第八章 习题

第九章 常微分方程数值解法

-9.1 常微分方程数值解法概述

--常微分方程数值解法概述

-9.2 Euler方法及其改进方法

--Euler方法及其改进方法

-第九章 习题

--第九章 习题

平方根法和改进的平方根法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。