例3.4 用Doolittle分解法解方程组 Ax=b, 其中 ?2?A?4????22743??T7,b?(1,2,1) ?5??解
?1?A?LU?2????10120??0?1??012?2?0???00??0?1??2303??1 ?6???1?2 ???1??????1?Ly?b 2????1y1????y2????y3???y1?1;2y1?y2?2,y2?0;y3?2
?2?Ux?y 0???0x3?132303??1?6??19,x1????x??2??x3???x1?1
?1?0 ???2?????;x2??
(III) 三对角方程组的追赶法
设方程组
Ax?d,A?RA为三对角矩阵
?b1?a?2A??????c1b2?c2?an?1?bn?1an???? ?cn?1?bn??n?n,d?(d1,d2,?,dn)?R
Tn如果A满足LU分解条件,那么可以进行Doolittle分解。
A是三对角阵,L,U有如下形式 ?1?l?2L??????1l31?ln????,??1???u1??U??????c1u2c2?????? ?cn?1?un??利用A=LU,及矩阵乘法有
37
?u1?b1??li?ai/ui?1,?u?b?lc,iii?1?ii?2,3,?,n
i?2,3,?,n依次计算 u1,l2,u2l,3 u,?,ln,un,3解原来方程组
Ax?b
可分成两步
Ly?b;U?x
y计算公式为:
?y1?b1 ?y?b?ly,i?2,3,?,niii?1?ixn?xi?yi?cixi?1uiynun
,i?n?1,n?2,?,1
这个过程称为解三对角方程线的追赶法。
例 用追赶法解Ax?b
?4?A??1???0?14?10???1?4???1???b?2?? ??3???1?L?l2???1l3???1???u1?U?0???0?1u200???1? u3??利用矩阵乘法有
?4??1??0??14?10??1???1?l2???04???01l30??u1??00???01????1u200???1 ?u3?? 38
4?u1;?1?l2?u1;l2??14
4??l2?u2?1?l3u2,,u2?4?415
14?154
l3??4??l3?u3?1?L??0.25???,???1??u3?4??4?U????415?13.75?5615
1??0.2666???1? ??3.733?Ax?b LUx?b Ly?bUx?y
定理3.5
y?(1,3.25,2.8668)T
Tx?(0.5179,1.0714,0.7679)
追赶法在西方用Thomas算法的名称
A?Rn?n,?b1?a?2A??????c1b2?c2??an???? ?cn?1?bn??其元素满足
b1?c1
bi?ai?ci,bn?an
aici?0,i?2,3,?,n?1
? A非奇异,A分解中元素满足
ui?0,i?1,2,?,n
39
0?ciui?1,i?1,2,?,n?1
bi?ai?ui?bi?ai,i?2,3,?,n定理可以看出,ui?0, 用追赶法可以进行计算。又有
ui的估计式,即追赶法中,中间变量有界,不会产生很大
变化,由此可以有效计算出结果,即计算是稳定的。定理条 件即为追赶法稳定计算的条件。
IV)对称正定矩阵的cholesky分解解法
A?Rn?n,A?A
?x?R 称A正定
nT(Ax,x)?0,A对称正定?A的全部特征值为正。 A对称正定?A的顺序 主子式
?i?0,i?1,2,?,n?i?0,i?1,2,?,nLU分解,
;由于A对称正定
,因此A有唯一的
A?LU
定理3.6
A?Rn?n,对称,且
i?1,2,?,n,那么A可以唯一分
A的顺序主子式?i?0,解为 A?LDLT,其中D为对角阵,L为单位下三角阵
证 A?LUuii?0
??1????????u12u111?u1n?u11??u2n??u22???1???u11?U??????u12u22???u1n??u11??u2n???????unn????u22??????unn??
?? 40
?,D?diag[u,u,?,u] ?DU1122nn
?,L为单位下三角阵,U?为单位 A?LDUTTTT?U?(LD)?(?U)(LD)?上三角阵, 由于 A?A?A LU由LU分解的唯一性
?)T,即U??LT,从而有 ?L?(UA?LDL
定理3.7 设 A?R角元为正的下三角阵L使
n?nT 对称正定,则存在唯一的对
A?LL
T这种分解称为Cholesky分解 证 利用上一定理知A有唯一分解
?DL?T,其中L?为单位下三角 A?L阵。
D?diag[u11,u22,?,unn]
A对称正定,A的顺序主子式 ?k?0。
而
?k?u11u22?ukk1,从而有
ukk?0
?,1令
D2?diag[u11,u11122,unn,]
那么有
??T?LD?2D2L?T?LD?2(LD?2)T?LLT 。 A?LDL具体分解方法
A?LL
?a11?a?21???an1?a12a22?an2???a1n??l11??a2nl???21????ann????ln1??l11????????lnn????l21l22???ln1??ln2? ??lnn??Tl22?ln2? 41