解对称正定矩阵线性方程组的平方根法
3.2矩阵三角分解,平方根
2014-12-29
北京信息科技大学
4
2 3 1 0 2 3 1 0 2 3 例如A= 4 1 2 1 0 5 2 3 0 5 / 3
这里有A的两种不同的三角分解,类似可举出很多,一般, 若A=LU是一个三角分解,任取与A同阶的非奇异对角矩阵D, 则
xn yn / unn xi ( yi i n 1,
k i 1
u
n
ik
xk ) / uii
, 2,1
2014-12-29
北京信息科技大学
23
例 用杜利特尔分解法求解方程组
2 x1 2 x2 3 x3 3 4 x1 7 x2 7 x3 1 2 x 4 x 5 x 7 1 2 3
, 则矩 , n 1 )
U 为上三角阵。 其中 L 为单位下三角阵,
其中
A LU
1 l21 1 L l31 l32 l n1 ln 2
1 ln ,n 1
u11 u12 u22 ,U 1
u1n u2 n unn
矩阵三角分解法
矩阵直接三角分解法是高斯消去法的变形方法。 高斯消去法 有多种变形,有的是高斯消去法的改进,有的是用于某种特殊系 数矩阵的化简。 分解原理 1.概述 高斯消去法解线性方程组先消元,然后再回代。当用矩阵描 述时,是对系数矩阵分解为一个上三角阵和一个下三角阵的乘 积,即 LU 分解。因此,高斯消去法与矩阵的 LU 分解是一致的。
2014-12-29 北京信息科技大学 15
紧凑格式
2 2 3 A 4 7 7 5 2 4 (2) 2 (4) 2 (-2) -1 (2) 2 (7) 3 (4) 2 (3) 3 (7) 1 (5) 6
第四节 平方根法
l22 ln 2 lnn
求 解 顺 序 : 按 L的 列 求 l1 1 , l 2 1 , , l n 1 l 2 2 , l 3 2 , , l n 2 l n n
第r次
a ir
a1 1 a r 1 1 a r1 a n1 a1 r 1 a r 1 r 1 a rr 1 a n r 1 a1 r a r 1 r a rr a nr
l
a l l l
n.
l1 1 lr1 l r 1 1 l n1
l r 1 r 1 l rr -1 l r 1 r -1 l n r -1 l rr l r 1 r lnr ? ?
1
i 1
1T T 1 T T 1 Tx A x 0 a , 0 A A x ) 存在非零解,即, x ( A x , ,0( A 0 ii A y 使得 其中y x) 0 ... 11... 0 ) 对任意 I 若不然,则 存在 AA I (A
a rr a ir
l
k 1
r 1
2 rk
2 ,
l
k 1
r 1
ik rk
l
l ir
, i r 1, , n .
l rr
按 列 计 算 对 称 正 定 矩 阵 C h o lesk y 分 解 .
应用Cholesky分解解线性方程组
b1 y1 , l1 1 i 1 (1 ) 解 L y b , b i l ik y k k 1 yi , i 2 , 3, , n . l ii yn xn , lnn T n (2) 解 L x y, y i lki x k k i 1 xi , i n 1, ,1 . l ii
【精选】第2章 3.对称正定矩阵的平方根法9
A LU
其 中L为 单 位 下 三 角 矩 阵 ,U为 上 三 角 矩 阵
u11 令D
0
1 u1n
u11
, P D1U
0
unn
0
1
则A LDPFra bibliotek又A对 称 , 故 有
AT PT DLT A LDP
例二
用LDLT 分 解 法 解 方 程 组
3 3 5 x1 10 3 5 9 x2 16 5 9 17 x3 30
由三角分解的唯一性,得PT L
即A PT DP
又A为 正 定 矩 阵 , 所 以D的 对 角 元 素 均 为 正 数
令
D~
u11
0
0 u11
则A PT D~T D~PT (D~P )T D~P LLT
L的求法
l jj
i 1
定 理 : 当A为 对 称 正 定 矩 阵 时 , 存在 非 奇 异 下 三 角 矩 阵L 使 得 A LLT 当 限 定L的 对 角 元 素 为 正 时 , 分解 是 唯 一 的
证 : 因 为A对 称 正 定 , 所 以 其 各 阶顺 序 主 子 式 大 于 零 , 由定理,存在唯一分解
x T
Ax
0
对任意非
零向量
x
都成立。
回顾:对称正定阵的几个重要性质
A1 亦对称正定,且 aii > 0
称AAA 正的 的 的定顺特全若序征部不A设为主值顺然对即xAxkT对子序x,/T对任A1因,yeAk应阵主则ix称x意为g则Ike特A子/性,nAd0xl0e1e征式v存xxtx显(a(。aTA0d值Alx在Adu,然i)xnTa1exe存0T)giA非ti。T/A存x在(pAn零0对rAx1i的T在i,xT>nky解ix其A任c非)非0TxiIp。>中y意0零a零xT,00lA使特xsx解A其第uk得b征,1中im(Ax0x0A向位Ak即yaxyt21r量。R)icTy0k(xeT0有s,A..R.A/y1nA.。.1.k00)亦T 对
平方根法
实验名称 平方根法 小组成员 一、实验目的与内容 计算结果的分析 一、实验目的与内容 1.了解平方根法的原理和意义; 2.编程实现用平方根法求解线性方程组。 二、相关背景知识介绍 平方根法又叫 Cholesky 分解法,是求解对称正定线性方程组最常用的方法之一。 我们知道,对于一般方阵,为了消除 LU 分解的局限性和误差的过分积累,而采用了选主元的 方法。但对于对称正定矩阵而言,选主元却是完全不必要的。 若线性方程组 Ax=b 的系数矩阵是对称正定的,我们可按如下的步骤求其解: 1.求 A 的 Cholesky 分解: A LLT ;[1] 2.求解 Ly=b 得到 y, 3.将 y 回代求解 LT x y 得到 x。 三、代码 用平方根法求解下列方程组. n=5,10,100,…( 到你们小组计算能力的极限)求解,对计算解 和准确解比较,观察准确程度
10
15
20
五、计算结果分析 从数据结果可以看出,利用平方根法较为准确,且计算高阶矩阵时较快。在编程过程中 有的组员对计算出 L 阵后的计算不太清楚,造成了计算结果的错误,经过讨论对平方根法的 理解更加深刻了一层。
4教 师 评 语指导教 Nhomakorabea: 年 月 日
5
2.0000,-2.3094,-1.6330,-1.2649,-1.0328 -0.8729,-0.7559,-0.6667,-0.5963,-0.5394 -0.4924,-0.4529,-0.4193,-0.3904,3.7428 2.0000,-2.3094,-1.6330,-1.2649,-1.0328 -0.8729,-0.7559,-0.6667,-0.5963,-0.5394 -0.4924,-0.4529,-0.4193,-0.3904,-0.3651 -0.3430,-0.3234,-0.3059,-0.2902,3.8644
平方根法计求解线性方程组
解线性n 阶方程组直接法—Cholesky 方法解n 阶线性方程组Ax=b 的choleskly 方法也叫做平方根法,这里对系数矩阵A 是有要求的,需要A 是对称正定矩阵,根据数值分析的相关理论,如果A 对称正定,那么系数矩阵就可以被分解为的T A=L L ∙形式,其中L 是下三角矩阵,将其代入Ax=b 中,可得:T LL x=b进行如下分解:T L x L b y y ⎧=⎨=⎩那么就可先计算y,再计算x ,由于L 是下三角矩阵,是T L 上三角矩阵,这样的计算比直接使用A 计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A 进行Cholesky 分解,我再描述一下过程吧: 如果你对原理很清楚那么这一段可以直接跳过的。
设T A=L L ∙,即1112111112112122221222221212....................................n n n n n n nn n n nn nn a a a l l l l a a a l l l l a a a l l l l ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦其中,,1,2,...,ij ji a a i j n ==第1步,由矩阵乘法,211111111,i i a l a l l == 故求得111111,2,3,...i i a l l i n a === 一般的,设矩阵L 的前k-1列元素已经求出第k 步,由矩阵乘法得112211k k kk km kkik im km ik kk m m a l l a l l l l --===+=+∑∑, 于是11(2,3,...,n)1(),1,2,...kk k ik ik im km m kk l k l a l l i k k n l -=⎧=⎪⎪=⎨⎪=-=++⎪⎩∑ 注意到21kkk km m a l ==∑,于是有21max km kk ii i nl a a ≤≤≤≤ 这充分说明分解过程中元素2km l 的平方不会超过系数矩阵A 的最大对角元,因而分解过程中舍入误差的放大收到了控制,用平方根法解对称正定方程组时可以不考虑选主元问题。
线性方程组的四种数值解法
线性方程组的四种数值解法(电子科技大学物理电子学院,四川 成都 610054)摘要:本文介绍了四种求解线性方程组的数值解法: 雅克比迭代法、高斯赛德尔迭代法、高斯消去法和改进的平方根法的基本原理和算法流程,通过求解具体方程,对四种求解方法进行了对比。
对于雅克比迭代法和高斯赛德尔迭代法,研究了两种算法对求解同一方程组的迭代效率差异,结果表明高斯赛德尔迭代法达到同样精度所需迭代次数较少。
对于高斯消去法,通过选择列主元的方法提高算法的准确度,计算结果表明高斯消去法计算精确,且运算复杂度也不是很高。
对于改进的平方根法,其运算复杂度低,但对于给定的方程组有着严苛的要求。
关键词:雅克比迭代法;高斯赛德尔迭代法;高斯消去法;改进的平方根法;线性方程组引言线性方程组的求解在日常生活和科研中有着极其重要的应用,但在实际运算中,当矩阵的维数较高时,用初等方法求解的计算复杂度随维数的增长非常快,因此,用数值方法求解线性方程组的重要性便显现出来。
经典的求解线性方程组的方法一般分为两类:直接法和迭代法。
前者例如高斯消去法,改进的平方根法等,后者的例子包括雅克比迭代法,高斯赛德尔迭代法等。
这些方法的计算复杂度在可以接受的范围内,因此被广泛采用。
一般来说,直接法对于阶数比较低的方程组比较有效;而后者对于比较大的方程组更有效。
在实际计算中,几十万甚至几百万个未知数的方程组并不少见。
在这些情况下,迭代法有无可比拟的优势。
另外,使用迭代法可以根据不同的精度要求选择终止时间,因此比较灵活。
在问题特别大的时候,计算机内存可能无法容纳被操作的矩阵,这给直接法带来很大的挑战。
而对于迭代法,则可以将矩阵的某一部分读入内存进行操作,然后再操作另外部分。
本文使用上述四种算法求解对应的方程组,验证各种算法的精确度和计算速度。
1 算法介绍1.1 雅克比迭代法 1.1.1 算法理论设线性方程组(1)b Ax的系数矩阵A 可逆且主对角元素 均不为零,令并将A 分解成 (2)从而(1)可写成令其中. (3)以B 1为迭代矩阵的迭代法(公式)(4)称为雅克比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为(5)其中为初始向量.1.1.2 算法描述 1给定迭代初始向量X 0以及误差要求delta 2根据雅克比迭代公式计算出下一组向量 3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.2 高斯赛德尔迭代法nna ,...,a ,a 2211()nna ,...,a ,a diag D 2211=()D D A A +-=()b x A D Dx +-=11f x B x +=b D f ,A D I B 1111--=-=()()111f x B x k k +=+⎩⎨⎧[],...,,k ,n ,...,i x a ba xnij j )k (j j i iii)k (i21021111==∑-=≠=+()()()()()Tn x ,...x ,x x 002010=1.2.1 算法理论由雅克比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i 个分量时,已经计算出的最新分量没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第次近似的分量加以利用,就得到所谓解方程组的高斯—塞德尔(Gauss-Seidel )迭代法.把矩阵A 分解成(6)其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8)称为高斯—塞德尔迭代法(公式),用变量表示的形式为(9)1.2.2 算法描述 1给定迭代初始向量X 0以及误差要求delta2根据高斯赛德尔迭代公式计算出下一组向量()k x ()1+k x ()1+k ix ()()1111+-+k i k x ,...,x 1+k()1+k x()1+k jx U L D A --=()nna ,...,a ,a diag D 2211=U ,L --A ()b Ux x L D +=-22f x B x +=()()b L D f ,U L D B 1212---=-=2B ()()221f x B x k k +=+⎩⎨⎧[],...,,k ,n ,,i x a x a b a xi j n i j )k (j ij )k (j ij i ii)k (i21021111111==∑∑--=-=+=++3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.3 高斯消去法 1.3.1 算法理论下面三种变换称为初等行变换:1.对调两行;2.以数k ≠0乘某一行中的所有元素;3.把某一行所有元素的k 倍加到另一行对应的元素上去。
第2章解线性方程组的直接方法5_6
25 29
9 10 9
y1
b1 l11
9 6
y2
b2
l21 l22
y1
2
b3 l3k yk
y3
k 1
l33
10 29
y1
b1 l11
i1
bi lik yk
yi
k 1
lii
10 7 * 9
6
3
29
174
6
13
即
y ( y1 , y2 , y3 )T
( 9 , 6
u~n1,n u~n1,n1
1
3
D diag(u~11 ,u~22 , ,u~nn ) [diag( u~11 , u~22 , , u~nn )]2
U~
DU
1
D
1 2
D
1
2U 1
11
A L~U~ L%(D 2 D 2U1)
11
而 A 为对称正定阵 , AT A U1T (D 2 D 2 L%T )
l11 li1 ln1
LT
lii
llnnni
------(15) i n 1, ,2,1
对称正定方程 组的平方根法
9
1. 输入系数矩阵A, 右端项b; 2. 作A的Cholesky分解:
for j=1,2,…n 2.1 如果j>1 则 for i= j,j+1,j+2,…,
j 1
§ 2.5 平方根法
一、对称正定矩阵的三角分解(Cholesky分解)
若n阶矩阵A为对称正定矩阵 则det( A) 0, AT A
且A的顺序主子式 det Ak 0, k 1,2, , n
因此A可以进行 LU分解(或Doolittle分解)
(完整word版)线性方程组的平方根解法
浅析线性方程组的平方根解法在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、LU 分解法、矩阵形式的追赶法,当我们遇到对称正定线性方程组时,我们就要用到平方根法(对称LLT 分解法)来求解,为了熟悉和熟练运用平方根法求解线性方程组,下面对运用平方根法求解线性方程组进行解析。
一、运用平方根法求解线性方程组涉及到的定理及定义我们在运用平方根法求解线性方程组时,要判定线性方程组Ax=b 的系数矩阵A 是否是对称正定矩阵,那么我们就要了解正定矩阵的性质和如下定理及定义:1、由线性代数知,正定矩阵具有如下性质:1) 正定矩阵A 是非奇异的2) 正定矩阵A 的任一主子矩阵也必为正定矩阵 3) 正定矩阵A 的主对角元素均为正数 4) 正定矩阵 A 的特征值均大于零 5) 正定矩阵A 的行列式必为正数定义一 线性方程组Ax=b 的系数矩阵A 是对称正定矩阵,那么Ax=b 是对称正定线性方程组。
定义二 如果方阵A 满足A=AT ,那么A 是对称阵。
2.1.4 平方根法和改进的平方根法如果A 是n 阶对称矩阵,由定理2还可得如下分解定理:定理2 若A 为n 阶对称矩阵,且A 的各阶顺序主子式都不为零,则A 可惟一分解为:A =LDLT ,其中L 为单位下三角阵,D 为对角阵。
证明 因为A 的各阶顺序主子式都不为零,所以A 可惟一分解为:A =LU 因为 ,所以可将 U 分解为:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=nn u u u U 2211⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11122211112 u u u u u u n nn n 1DU =其中 D 为对角矩阵,U1为单位上三角阵.于是:A =LDU1=L(DU1)因为A 为对称矩阵,所以,A =AT =U1TDTLT =U1T(DLT),由 A 的 LU 分解的惟一性即得:L =U1T ,即U1=LT ,故A =LDLT 。
平 方 根 法
L是单位下三角阵, U是上三角阵, 将U再分解
u11
u 22
1
u
nn
u12
u11 1
u1n
u11
u n1,n
DU 0
u n1,n1
1
其中D为对角阵, U0为单位上三角阵,于是
A = L U = L D U0
又
A = AT = U0TD LT
数值计算方法
点l11是 需由a11要此进1例, 行可开l以21方看a运l1出211 算,11。平 1为,方避根免l法31 开解al方13正11 运定12算方 ,2程我组们的改缺
A LDL 用 解ll3232单成位a3三3a2l角2321 阵ll32222作1为11分24解T1阵4,13即的l把32 形对a式称32 l,正22l3其1定l21中矩 0阵11A分2 2
l11 l21 ln1
l22
l
n
2
l
nn
按矩阵乘法展开,可逐行求出分解矩阵L的元素,计
算公式是对于i=1,2,…,n
i1
1
lii (aii li2k ) 2
k 1
i 1
a ji l jk lik
l ji
k 1
lii
j=i+1, i+2,…,n
这一方法称为平方根法,又称乔累斯基(Cholesky)分
数值计算方法
平方根法 工程实际计算中,线性方程组的系数矩阵
常常具有对称正定性,其各阶顺序主子式及 全部特征值均大于0。矩阵的这一特性使它的 三角分解也有更简单的形式,从而导出一些 特殊的解法,如平方根法与改进的平方根法。
对称正定矩阵cholesky分解
对称正定矩阵cholesky分解
对称正定矩阵是常见的一种特殊矩阵,其具有很多有用的性质和应用。
在线性代数中,对称正定矩阵的Cholesky分解是一种重要的分解方法,可用于解线性方程组、求矩阵行列式等问题。
Cholesky分解是将对称正定矩阵A分解为下三角矩阵L和其转置的乘积:A=LL^T,其中L的对角线元素均为正数。
这种分解方法的优点在于其计算量小、计算稳定,且可避免舍入误差带来的不稳定性。
具体而言,Cholesky分解可通过以下算法实现:
1. 对A进行LU分解得到U,令L=U^T;
2. 对L中每行的对角线元素做平方根;
3. 以每一列为计算单元,从上到下计算L中的元素,得到分解结果。
在实际应用中,Cholesky分解常用于求解正定线性方程组,因为其具有数值上的稳定性和计算效率。
例如,对于矩阵方程Ax=b,若A是
对称正定的,则可通过Cholesky分解得到L和L^T,进而求解Lz=b 和L^T x=z的过程,从而得到方程的解。
此外,Cholesky分解还可用于求解矩阵行列式、线性最小二乘等问题。
此外,该方法还有一些参考意义,例如,在求解自然语言处理领域的
条件随机场等问题中,Cholesky分解可用于优化模型参数的更新过程。
总之,对称正定矩阵的Cholesky分解是一种重要的线性代数分解方法,可用于求解线性方程组、求解矩阵行列式和优化模型等问题。
该分解
具有计算量小、计算稳定等特点,在实际应用中有广泛的应用前景。
2.5平方根法
2
-------------(2) -------------(3)
i r , r 1 , , n
k 1
l
k 1
ik
l
k 1
ik
由 (1) ~ (3) 式 可 得 L的 元 素 的 计 算 公 式
l 11
a 11
li 1
r1
ai1 l 11
i 2 ,3 , , n
l rr
a rr
l rk
2
r 2 , , n
k 1
-----(4)
l rk
i r 1 , , n
a ir l ir
l
k 1
r1
ik
l rr
, 在计算机上运算时 , 放 l ij
从公式中可以看出
当 l ij 求出后 , a ij 的储存地址可以用来存
对称正定线性方程组的解法n源自ki xk------(10)
i n 1 , , 2 ,1
l ii
对称正定方程 组的平方根法
P40: 例2.4.2
运用平方根法计算量较大,为了避免开方运算, 可改用单位三角阵作为分解阵!
思考
平方根法中出现了大量的根式运算, 原因是采用了Cholesky分解
A LL
T
因此不作
A 的 LL 分解
2
m 1
l jk ( a jk
l
m 1
jm k m
l d
m
) / d k ( j k 1, k 2 , , n )
To be continued!
a ij a ji
a 11 ar1 an1
matlab平方根法和改进平方根法求解线性方程组例题与程序文件
(2)设对称正定阵系数阵线方程组12345678424024000221213206411418356200216143323218122410394334411142202531011421500633421945x x x x x x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎢⎥⎢⎥⎢---⎢⎥⎢⎥⎢--⎢⎥⎢⎢⎥⎣⎦⎣⎦⎣⎦⎥⎥⎥⎥ (1,1,0,2,1,1,0,2)T x *=--二、数学原理 1、平方根法解n 阶线性方程组Ax=b 的choleskly 方法也叫做平方根法,这里对系数矩阵A 是有要求的,需要A 是对称正定矩阵,根据数值分析的相关理论,如果A 对称正定,那么系数矩阵就可以被分解为的T A=L L •形式,其中L 是下三角矩阵,将其代入Ax=b 中,可得:T LL x=b 进行如下分解:T L xL by y ⎧=⎨=⎩ 那么就可先计算y,再计算x ,由于L 是下三角矩阵,是T L 上三角矩阵,这样的计算比直接使用A 计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A 进行Cholesky 分解,我再描述一下过程吧: 如果你对原理很清楚那么这一段可以直接跳过的。
设T A=L L •,即1112111112112122221222221212....................................n n n n n n nn n n nn nn a a a l l l l aa a l l l l a a a l l l l ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦其中,,1,2,...,ij ji a a i j n ==第1步,由矩阵乘法,211111111,i i a l a l l ==故求得111111,2,3,...i i a l l i n a === 一般的,设矩阵L 的前k-1列元素已经求出 第k 步,由矩阵乘法得112211k k kk kmkkik im km ik kkm m a l l a l l l l --===+=+∑∑, 于是11(2,3,...,n)1(),1,2,...kk k ik ik im km m kk l k l a l l i k k n l -=⎧=⎪⎪=⎨⎪=-=++⎪⎩∑ 2、改进平方根法在平方根的基础上,为了避免开方运算,所以用TLDL A =计算;其中,11122.........n d D D D d ⎤⎤⎡⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎢⎢⎥⎣⎦⎣⎣;得1121212212111111n n n n n d l l l d l A l l d ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦按行计算的L 元素及D 对元素公式 对于n i ,,2,1 =11(1,21)j ij ij ik jk k t a t l j i -==-=-∑…,./(1,2,)ij ij j l t d j ==…,i-1.11i i ii ik ikk d a t l -==-∑计算出LD T =的第i 行元素(1,2,i-1)ij t j =…,后,存放在A 的第i 行相置,然后再计算L 的第i 行元素,存放在A 的第行.D 的对角元素存放在A 的相应位置.对称正定矩阵A 按T LDL 分解和按T LL 分解计算量差不多,但TLDL 分解不需要开放计算。
解对称正定矩阵线性方程组的平方根法
得 当i = 2,3,L, n时, 若 j = 1,2,L, i − 1 l ij = (aij − ∑ l ik d k l jk ) d j , ,
k =1
j −1
若 j = i , d i = a ii − ∑ l d k ,
k =1 2 ik
i −1
(6.4)
k =1
n阶对称正定矩阵 A的 ( LD)LT分解公式: 阶对称正定矩阵 的 分解公式:
(唯一)。 若令 D 1 2 = diag [ d 1 , L , d n ], 则 D = D 1 2 D 1 2 唯一)。
⇒ A = LD 1 2 D 1 2 LT = ( LD 1 2 )( LD 1 2 )T = L1 LT 1 T 所以有 A = LL , 为下三角阵,且主对角元大于零。 L为下三角阵 且主对角元大于零 为下三角阵, 对角元大于零。
§6 解对称正定矩阵线性方程组的平方根法
为对称正定阵。 则称 A 为对称正定阵。 ( (1) AT = A; 2 )∀x ∈ R n且 x ≠ 0, 有( Ax , x ) > 0,
A为对称 为对称 正定阵
(1)A是非奇异矩阵,且A-1亦是对称正定阵; 1 是非奇异矩阵 是非奇异矩阵, 亦是对称正定阵; (2)A的顺序主子阵 k 是对称正定阵 的顺序主子阵A 2 的顺序主子阵 是对称正定阵(k=1,2,…,n); … ; (3)A的顺序主子式都大于零,即 det(Ak ) > 0(k = 1,2,L, n); 的顺序主子式都大于零 3 的顺序主子式都大于零, (4)A的特征值 λi ( A) > 0(i = 1,2,L, n) (4) 的特征值 。
(1 ) d 1 = a 11, ( 2 ) 当 i = 2, 3, L , n 时 ,
(完整word版)线性方程组的平方根解法
浅析线性方程组的平方根解法在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、LU 分解法、矩阵形式的追赶法,当我们遇到对称正定线性方程组时,我们就要用到平方根法(对称LLT 分解法)来求解,为了熟悉和熟练运用平方根法求解线性方程组,下面对运用平方根法求解线性方程组进行解析。
一、运用平方根法求解线性方程组涉及到的定理及定义我们在运用平方根法求解线性方程组时,要判定线性方程组Ax=b 的系数矩阵A 是否是对称正定矩阵,那么我们就要了解正定矩阵的性质和如下定理及定义:1、由线性代数知,正定矩阵具有如下性质:1) 正定矩阵A 是非奇异的2) 正定矩阵A 的任一主子矩阵也必为正定矩阵 3) 正定矩阵A 的主对角元素均为正数 4) 正定矩阵 A 的特征值均大于零 5) 正定矩阵A 的行列式必为正数定义一 线性方程组Ax=b 的系数矩阵A 是对称正定矩阵,那么Ax=b 是对称正定线性方程组。
定义二 如果方阵A 满足A=AT ,那么A 是对称阵。
2.1.4 平方根法和改进的平方根法如果A 是n 阶对称矩阵,由定理2还可得如下分解定理:定理2 若A 为n 阶对称矩阵,且A 的各阶顺序主子式都不为零,则A 可惟一分解为:A =LDLT ,其中L 为单位下三角阵,D 为对角阵。
证明 因为A 的各阶顺序主子式都不为零,所以A 可惟一分解为:A =LU 因为 ,所以可将 U 分解为:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=nn u u u U 2211⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11122211112 u u u u u u n nn n 1DU =其中 D 为对角矩阵,U1为单位上三角阵.于是:A =LDU1=L(DU1)因为A 为对称矩阵,所以,A =AT =U1TDTLT =U1T(DLT),由 A 的 LU 分解的惟一性即得:L =U1T ,即U1=LT ,故A =LDLT 。
§3平方根法对称正定矩阵的分解法
2 l ik i 1,2,, n k 1
i 1
6 7 5 A 7 13 8 5 8 6
6 T LL 分解 7 6 5 6
29 6
13 174
25 29
6
7 6
29 6
b1 9 b2 l 21 y1 y1 y2 l11 l 22 6
b3 l 3 k yk
k 1 2
7*9 10 6 29 6
3 174
10 y3 l 33 29 9 3 10 T T , , ) y ( y1 , y2 , y3 ) ( 即 6 174 29
例
用平方根法解对称正定方程组
6 7 5 x1 9 7 13 8 x 2 10 5 8 6 x 9 3
解:
l ij aij l ik l jk
k 1 j 1
l jj
j 1,2,...,i 1 l ii aii
bi l ik yk l ii
L x
T
l11 x1 y
l12 x2 l 22 x2
... l1n xn ... l 2 n xn l nn xn
y1 y2
yn
yn xn i n 1,,2,1 l nn n yi l ki xk k i 1 xi l ii
a11 a 21 a 31 a n1 a12 a 22 a 32 a 1 r a1 n a 23 a2n a 33 a 3 n a nr a nn
数值计算方法第3章3-03平方根法
系数矩阵为对称正定矩阵的方程组称为对称正定方程组。对称正定方 程组可用高斯消去法、LU 分解法求解,但可导出计算量更小的平方根法。
利用对称正定矩阵的三角分解(乔累斯基分解)求解对称正定方程组 的方法称为平方根法。 3.3.1 对称正定矩阵
对称矩阵 A AT
对称正定矩阵
A AT
a11 a12
a21
a22
a1n 1
a2n
l21
1
d1
a1k
a2k
,k
1, 2,
,n
akk
3. A 的特征值i 0 ,i 1, 2, , n
4. A
的顺序主子式都大于零,即det
Ak
0
k
,
1, 2,
,n
5. A 对称正定,则A 的对角元素 aii 0 ,i 1, 2, , n 。
古尔维兹定理 (实)对称矩阵 A 正定的充要条件是A 的各阶顺
是以其为对角元素的对角矩
阵,则
Di d1d2 di i 1, 2, , n
于是有di 0 i 1, 2, , n 又 A LU LDD1U LD(D1U ) ,其中 (D1U ) 为单位上三角矩
阵。由 A AT 有 A AT (D1U )T DLT 比较上二式,并由 LU 分解唯一性可知L (D1U )T
l21
l22
l1 l21
ln1
l22
ln
2
an1 an2
ann ln1 ln2
lnn
线性方程组的平方根解法
浅析线性方程组的平方根解法在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、LU 分解法、矩阵形式的追赶法,当我们遇到对称正定线性方程组时,我们就要用到平方根法(对称LLT 分解法)来求解,为了熟悉和熟练运用平方根法求解线性方程组,下面对运用平方根法求解线性方程组进行解析。
一、运用平方根法求解线性方程组涉及到的定理及定义我们在运用平方根法求解线性方程组时,要判定线性方程组Ax=b 的系数矩阵A 是否是对称正定矩阵,那么我们就要了解正定矩阵的性质和如下定理及定义:1、由线性代数知,正定矩阵具有如下性质:1) 正定矩阵A 是非奇异的2) 正定矩阵A 的任一主子矩阵也必为正定矩阵 3) 正定矩阵A 的主对角元素均为正数 4) 正定矩阵 A 的特征值均大于零 5) 正定矩阵A 的行列式必为正数定义一 线性方程组Ax=b 的系数矩阵A 是对称正定矩阵,那么Ax=b 是对称正定线性方程组。
定义二 如果方阵A 满足A=AT ,那么A 是对称阵。
2.1.4 平方根法和改进的平方根法如果A 是n 阶对称矩阵,由定理2还可得如下分解定理:定理2 若A 为n 阶对称矩阵,且A 的各阶顺序主子式都不为零,则A 可惟一分解为:A =LDLT ,其中L 为单位下三角阵,D 为对角阵。
证明 因为A 的各阶顺序主子式都不为零,所以A 可惟一分解为:A =LU 因为 ,所以可将 U 分解为:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=nn u u u U O 2211⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛11122211112M O ΛΛu u u u u u n nn n 1DU =其中 D 为对角矩阵,U1为单位上三角阵.于是:A =LDU1=L(DU1)因为A 为对称矩阵,所以,A =AT =U1TDTLT =U1T(DLT),由 A 的 LU 分解的惟一性即得:L =U1T ,即U1=LT ,故A =LDLT 。
平方根法与改进的平方根法
平方根法
Ax bL y b, L Txy
y1b1/l1 1
yk
(bk
k1
lkjyj)
lkk
j1
k2,3, ,n
xnyn/lnn
xk(ykjnk1ljkxj) lkk
kn1,n2, ,1
平方根法的优点: A 1 亦对称正定,且 aii > 0
A 1 亦对称正定,且 aii > 0
1.无需选主元,算法稳定; A 1 亦对称正定,且 aii > 0
(2)
3 2
(1) 2 3
(1) 1 (2) 4 3
1 0 0 L~ 0.50 1 0
0 0.67 1
1 1.41 0 0
D2
0
1.22
0
0 0 1.15
LL~D12
1.41 0.71
0 1.22
0
0
0 0.82 1.15
1.41y1 3 0.71y1 1.22y2
4
y1 y2
(2)取a1,用平方根法求解程 上组 述, 方计算 过程保2留 位小数。
解
:
A
LLT
A为对称正定,即
2 1 D 120, 2D 1 230
2 1 a D31 2 a82a2262a20
0 a 2
当a2 3,即a 3时
A能进行 Choles分 k y解
(2) 2
(1)
1 2
(0) 0
(1) 1
(0) 0
§2.4 平方根法与改进的平方根法
对称正定矩阵 平方根法 改进的平方根法
对称正定阵
定义 定义
一个矩阵 A = ( aij )nn 称为对称阵,如果 aij = aji 。 一个矩阵 A 称为正定阵,如果 x TA x 0对任意非 零向量 x 都成立。
(完整word版)MATLAB平方根法和改进平方根法求解线性方程组例题与程序
(2)设对称正定阵系数阵线方程组12345678424024000221213206411418356200216143323218122410394334411142202531011421500633421945x x x x x x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎢⎥⎢⎥⎢---⎢⎥⎢⎥⎢--⎢⎥⎢⎢⎥⎣⎦⎣⎦⎣⎦⎥⎥⎥⎥ (1,1,0,2,1,1,0,2)T x *=--二、数学原理 1、平方根法解n 阶线性方程组Ax=b 的choleskly 方法也叫做平方根法,这里对系数矩阵A 是有要求的,需要A 是对称正定矩阵,根据数值分析的相关理论,如果A 对称正定,那么系数矩阵就可以被分解为的T A=L L •形式,其中L 是下三角矩阵,将其代入Ax=b 中,可得:T LL x=b 进行如下分解:T L xL by y ⎧=⎨=⎩ 那么就可先计算y,再计算x ,由于L 是下三角矩阵,是T L 上三角矩阵,这样的计算比直接使用A 计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A 进行Cholesky 分解,我再描述一下过程吧: 如果你对原理很清楚那么这一段可以直接跳过的. 设T A=L L •,即1112111112112122221222221212....................................n n n n n n nn n n nn nn a a a l l l l a a a l l l l a a a l l l l ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦其中,,1,2,...,ij ji a a i j n ==第1步,由矩阵乘法,211111111,i i a l a l l ==故求得111111,2,3,...i i a l l i n a === 一般的,设矩阵L 的前k —1列元素已经求出 第k 步,由矩阵乘法得112211k k kk kmkkik im km ik kkm m a l l a l l l l --===+=+∑∑, 于是11(2,3,...,n)1(),1,2,...kk k ik ik im km m kk l k l a l l i k k n l -=⎧=⎪⎪=⎨⎪=-=++⎪⎩∑ 2、改进平方根法在平方根的基础上,为了避免开方运算,所以用TLDL A =计算;其中,11122.........n d D D D d ⎤⎤⎡⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎢⎢⎥⎣⎦⎣⎣;得1121212212111111n n n n n d l l l d l A l l d ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦按行计算的L 元素及D 对元素公式 对于n i ,,2,1 =11(1,21)j ij ij ik jk k t a t l j i -==-=-∑…,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并有d 1 = a11, 再由 a ij = ∑ ( LD ) ik ( LT ) kj = ∑ ( l ik d k )l jk + l ij d j (当 k > j 时, l jk = 0 )
d d11 1 l21 L ln1 a12 L a1n 1 l d d22 1 L ln2 ∆ T a22 L a2n = 21 1 = M M OT LD O O M = TL O L L L ln1 ln2 L 1 d 1 dnn an2 L ann j −1
2、对称正定阵的判别方法(充分条件) 对称正定阵的判别方法(充分条件) 定理1 定理13 A为对称矩阵 为对称矩阵 A为对称 正定阵 A的特征值 λ i ( A) > 0
A为对称矩阵 为对称矩阵 det(Ak ) > 0(k = 1,2,L, n),
3、对称正定矩阵的三角分解 、 为对称正定阵, 设A为对称正定阵,由定理 (顺序主子式Dk = detAk > 0, (k = 1,L, n)) 为对称正定阵 由定理12( 及定理10(唯一分解),则存在唯一分解A= ),则存在唯一分解 及定理 (唯一分解),则存在唯一分解 =LDR,其中 ,R分别为单 ,其中L, 分别为单 T 位下三角阵与单位上三角阵, 为对角阵 又 为对角阵, 位下三角阵与单位上三角阵,D为对角阵, A = A,则
引进中间量: 引进中间量: t ij = l ij d j
求解对称正定方程组Ax=b的改进平方根法(计算公式): 的改进平方根法(计算公式) 求解对称正定方程组 的改进平方根法 T 1.分解计算 A = LDL :
( 1) d 1 = a 11, ( 2 ) 当 i = 2, 3, L , n 时 ,
aij = ∑ lik l jk = ∑ lik l jk + lij l jj
k =1 k =1
j −1
j −1
(当 k > j 时, l jk = 0 ),
(3) yi = (bi − ∑l ik yk ) l ii (i = 1,2,L, n) ,
(4) xi = ( yi − ∑lki xk ) lii (i = n, n − 1,L,2,1)。
A = LDR = R DL ⇒ L = RT,R = LT ⇒ A = LDL AT = ( LDR)T = R T DLT 其中L为单位下三角阵 为单位下三角阵, 为对角阵 为对角阵。 其中 为单位下三角阵,D为对角阵。 对角方阵 D = diag ( d 1 , d 2 , L , d n )的元素 d k 可由下式给出 , 由定理8, 由定理 ,
பைடு நூலகம்
为对称正定阵。 则称 A 为对称正定阵。 ( (1) AT = A; 2 )∀x ∈ R n且 x ≠ 0, 有( Ax , x ) > 0,
(1)A是非奇异矩阵,且A-1亦是对称正定阵; 1 是非奇异矩阵 是非奇异矩阵, 亦是对称正定阵; (2)A的顺序主子阵 k 是对称正定阵 的顺序主子阵A 2 的顺序主子阵 是对称正定阵(k=1,2,…,n); … ; (3)A的顺序主子式都大于零,即 det(Ak ) > 0(k = 1,2,L, n); 的顺序主子式都大于零 3 的顺序主子式都大于零, (4)A的特征值 λi ( A) > 0(i = 1,2,L, n) (4) 的特征值 。
优点: 优点: n3 计算量小, 同平方根方法, 1、计算量小,大约为 6 次乘除法 ,同平方根方法,是一般 分解( 矩阵A的LU分解(消元法)计算量的一半,是目前解对称正定矩阵方 的 分解 消元法)计算量的一半,是目前解对称正定矩阵方 程组的有效方法 有效方法。 程组的有效方法。
2、计算简单(没有开方运算)。 计算简单(没有开方运算) 精度较高。不用选主元,求得较高精度的数值解, 3、精度较高。不用选主元,求得较高精度的数值解,是数值稳 定的方法。 定的方法。 元素的储存及计算顺序: 元素的储存及计算顺序: 计算出T=LD第i行元素 ij(j=1,1,…,i-1),存放在 第i行位置, 行元素t =1,1,… -1),存放在A第 行位置 行位置, 计算出 第 行元素 =1,1, 计算出L第 行元素 行元素l =1,1, =1,1,…, -1)仍存放在 仍存放在A第 行位置 行位置, 计算出 第i行元素 ij (j=1,1, ,i-1)仍存放在 第i行位置,同时计 算出d =3为例说明 算出 i。以n=3为例说明: =3为例说明: d1 d1 d1 对称 d1 a11 →l d → l d →l d a a →t a A = 21 22 21 2 21 2 21 2 21 22 a31 a32 a33 a31 a32 a33 a31 a32 a33 t31 t32 t33 l31 l32 d3
定理14 对称正定矩阵的 分解) 定理14(对称正定矩阵的Cholesdy分解) A ∈ R 为对称正定 分解 若 T 则存在唯一的具有正对角元的下三角阵L 阵,则存在唯一的具有正对角元的下三角阵 ,使得 A = LL 。 该分解称为乔勒斯基( 分解。 该分解称为乔勒斯基(Cholesky)分解。 平方根法(与直接三角分解法解线性方程组类似推导公式) 6.2 平方根法(与直接三角分解法解线性方程组类似推导公式) T r r r 思路: 思路:(1)分解对称正定阵 A 为 A = LL ; Ly = b ,求y . r r r T r r ( 2)求解Ax = b ⇔ 求解LL x = b ⇔ 求解方程组 T r r L x = y,求x . 阶对称正定矩阵A有分解 先用待定系数法求L的元 设n阶对称正定矩阵 有分解 A = LLT,先用待定系数法求 的元 阶对称正定矩阵 先用待定系数法求 素 l ij 。 a11 a12 L a1n l l L l l
k =i +1
i− i−1
k =1 n
例4.4.3(P91) 4.4.3(P91)
优点: 数值稳定。 优点:1、数值稳定。 3 计算量小, 次乘除法,是一般矩阵A的 分解 2、计算量小,大约为 n 6次乘除法,是一般矩阵 的LU分解 计算量的一半。 计算量的一半。 缺点:计算l 时要开平方。 缺点:计算 ii时要开平方。 6.3 改进的平方根法 T 阶对称正定矩阵A有分解 为单位下三角阵, 设n阶对称正定矩阵 有分解A = LDL。其中L为单位下三角阵, 阶对称正定矩阵 D为对角阵。即 为对角阵。 为对角阵
( i = 1,2, L , n )
(1) l ij = (a ij − ∑ l ik l jk ) l jj , k =1 ( j = 1,2,L , i − 1)( j < i )
2 ( 2) l ii = ( a ii − ∑ l ik ) 1 / 2 (i = 1,2,L, n) k =1 r r r Ly = b , 求 y 2 .求解计算 Tr r r L x = y, x 求 i −1
j −1 k =1
1) t ij = a ij − ∑ t ik l jk , ( j = 1,2,L , i − 1)
2) l ij = t ij d j , ( j = 1,2, L , i − 1)
3) d i = a ii − ∑ t ik l ik
k =1 i −1
a11 a21 A= L a n1
11
21
l 22
L l n2 O M l nn
n1
则aij = ∑ lik l jk = ∑ lik l jk + l ij l jj
L 的元素 l ij。
经 (当 k > j时, l jk = 0 ), n 步可直接求得
求解对称正定方程组Ax=b的平方根法(计算公式) : 的平方根法(计算公式) 求解对称正定方程组 n 1.分解计算 A = LLT:
(唯一)。 若令 D 1 2 = diag [ d 1 , L , d n ], 则 D = D 1 2 D 1 2 唯一)。
⇒ A = LD 1 2 D 1 2 LT = ( LD 1 2 )( LD 1 2 )T = L1 LT 1 T 所以有 A = LL , 为下三角阵,且主对角元大于零。 L为下三角阵 且主对角元大于零 为下三角阵, 对角元大于零。
n k =1
得 当i = 2,3,L, n时, 若 j = 1,2,L, i − 1 l ij = (aij − ∑ l ik d k l jk ) d j , ,
k =1
j −1
若 j = i , d i = a ii − ∑ l d k ,
k =1 2 ik
i −1
(6.4)
k =1
n阶对称正定矩阵 A的 ( LD)LT分解公式: 阶对称正定矩阵 的 分解公式:
(1 ) d 1 = a 11, ( 2 ) 当 i = 2, 3, L , n 时 ,
j −1 k =1 i −1
1) l ij = ( a ij − ∑llik d kk l jk ) d j ,j = 1,2,L, i − 1) ( ik d
2 2) d i = a ii − ∑ l ik d k 。 ( j = i ) k =1
T T
T
唯一性
(k d 1 = D1 > 0 d k = ukk = a kk ) ( k = 1,2, L , n) d k = Dk / Dk −1 > 0, ( k = 2,L , n) 其中Dk = det( Ak ) 为A的顺序主子式。从而 的顺序主子式。 的顺序主子式 D = diag [ d 1 , L , d n ] ⋅ diag [ d 1 , L , d n ]