矩阵三角分解

2019-01-26 12:46

第2章 线性代数方程组数值解法I:直接法

1. 矩阵

事实上,顺序Gauss消去过程对应一个矩阵的三角分解,即对Ax?b的顺序Gauss消去过程的结果,把矩阵A分解成两个三角矩阵L与U的乘积:A?LU 下面来证实这一点.依次取第 k步消元的乘法

(k)(k) lik?aik (i?k?1,k?2,?,n) /akk(k?1)(k)(k) 则直接验证可知,第k步消元(aij)的结果等价于对Ak左乘Lk: ?aij?likakjA(k?1)?LkA(k)

于是 ,经过n?1步消元,应有

?u11 u12 u13??u22 u23? Ln?1?L2L1A?U U? ? ? (2.3.1) ? u33?? ?这里U为上三角矩阵,另外,又容易直接验证Lk有下列两个基本性质:

(1) Lk的逆阵存在,且有

?1????????1??11l L? ?k?1,kk?? (2.3.2)

?????????1?lnk??1 (2) 逆阵L?k的乘积

?1?1?l?21?1?1?1 L1L2?Ln?1=? ?=L(单位下三角矩阵)(2.3.3)

??????1l??n1?ln1?11?1从而对(2.3.1)式两端依次左乘L?n?1,L2,Lk可得 ?1?11U=LU A?L1L2?L?n?1L就是(2.3.3)式所示的单位下三角矩阵。这就是矩阵的三角分解或称LU分解。

A?LU 称为A的doolittle分解

A?LU?LDU=LU 称为A的克劳特分解

???

A?LDU 称为 A的LDU分解

对于于有选主元和换行步骤的Gauss消去过程,也可证明它对应于“A左乘排列矩阵P的LU分解”,即有PA=LU。 例 2.3.1 用直接三角分解法解方程组(2.1节中的实例)

? 2 ?3 ?2??x1?? 0???1 ? ?x? ? ??1? 2 ?2???2????4?? 3 ?1 ??? 7???x3???解 把解法分为3个步骤:

①令A=LU,用Doolittle分解,即令

??u11 u12 u13?? 2 ?3 ?2??1?? ? ??1 2 ?2? ? ?l lu u212223? ??????4?1? u33?? 3 ?1 ???l31 l32 ??? ?考虑A的第1行,对比右边两矩阵的乘积,有

? 2?1?u11 ? u11?2???3?1?u12 ? u12??3 ??2?1?u ? u??21313?此结果即U的第1行与A的第1行全同,这对一般情形也是适用的,因此,在分解计算中,此结果也可直接写出。接着,再依次考虑A的第1列、第2行、第3列??(除去已考虑过的元素),作同样比较有

l21??1/2??1?l21?u11 ? ? 3?l?u ? l?3/2311131? ?? 2?l21?u12 ?1?u22 ? u22?1/2

? ?2?l21?u13 ?1?u23 ? l23??3?1?l31?u12?l32?u22 ? l32?7

4?l31?u13?l32?u23?1?u33 ? u33?28

1 ??2 ?3 ?2?? ? ? ? ?1/2 11/2 ?3 即得 A???????1? 28?? 3/2 7 ??? ?②用前推过程解下三角方程组

1 ??y1??0??y1??0?? ??1/2 ? ?y? ? ??1? 得 ?y? ? ??1? 1?2??????2?????1?? 3/2 7 ??? 7???14???y3????y3???③用回代过程解上三角方程组

?x1??2 ?3 ?2 ??x1??0?? 2?? ? ?x? ? ??1? 得 ?x? ? ? 1? 1/2 ?3?2????2????????? 28 ?? ??? 14???1/2???x3???x3??下面以不包括选主元和换行的Doolittle分解为例,给出解n阶方程组Ax?b的一般计算公式及整个求解过程(分3个步骤) ①令A?LU,即令

? a1n?? 1? u1n??a11 a12 ??u11 u12 ?a a ??l ??? 1? au ? u2121222n222n?? ? ?? ? ?? ? ? ??? ? ??? ? ? ????????l l ? 1a a ? a u?n1n1??n2nn?nn??n1利用矩阵乘法规则,并对比等式两边对应元素,由A的第1行得

a1j?1?u1j (j?1,2, ?,n)? a1j?u1j (j?1,2, ?,n) (2.3.5)

由A的第1列(除第1行元素外)得

ak1?lk1?u11 (k?2,3, ?,n)? lk1?ak1/u11 (k?2,3, ?,n) (2.3.6)

依此类推,由A的第k列(1?k?n)(除前k?1列元素外)得

akj??lkrurj?ukjr?1k?1? ukj?akj??lkrurj (j?k,,?1,?,n)r?1k?1 (2.3.7)

由A的第k列(1?k?n)(除前k列元素外)得

aik??lirurk?likukkr?1k?1? lik?(aik??lirurk)/ukk (i?k?1,?,n)r?1k?1 (2.3.8)

②求解下三角方程组Ly?b得

?y1?b1?i?1 ?3,?,n)?yi?bi??liryr (i?2,r?1?③求解上三角方程组Ux?y得

?xn?yn/unn?n ??,2,1)?xi?(yi??uirxr)/uii (i?n?1,r?i?1?

这就是用直接三角分解法求解方程组的公式,其中第①步中的前两个公式也可合并入后两个公式;第②,③步中的前一公式也可并入后一公式,这时当公式中出现?和

r?10r?n?1?n时均不执行计算,作零处理

(在列主元Gauss消去法一节中已提过这个附注)。

n3可以推出,Doolittle算法的乘除法次数大致为,与Gauss消

3去法大致相同,故就计算量而言,采用Doolittle算法解方程组并无特别优势(因为我们已拥有相当高效的列主元Gauss消去法)。应用中,主要借助直接三角分解法的处理方法来处理具有特殊情况的方程组。这就是下一节要介绍的解三角方程组的追赶法和解对称正定方程

组的平方根法。


矩阵三角分解.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化学计算方法与技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: