1、4 直接三角分解法一、教学设计1教学内容:Doolittle 分解法、 Crout 分解法,紧凑格式的 Doolittle 分解法、部分选主元的 Doolittle 分解法。2重点难点:紧凑格式的 Doolittle 分解法、部分选主元的 Doolittle 分解法。3教学目标:了解直接三角分解法的基本思想,掌握基本三角分解法及其各种变形。4教学方法:讲授与讨论。二、教学过程在上节中我们用矩阵初等变换来分析 Gauss 消去法,得到了重要的矩阵 分解定理(定理 3.1,3.2) 。由此我们将得到LUGauss 消去法的变形:直接三角分解法。直接三角分解法的基本想法是,一旦实现了矩阵 A 的 分
2、解,那么求解方程LU组 的问题就等价于求解两个三角形方程组bxA(1) ,求 ;y(2) ,求 。x而这两个三角形方程组的求解是容易的。下面我们先给出这两个三角形方程组的求解公式;然后研究在 或LA时, 的元素与 A 的元素之间的直接关系。LUPA,40 三角形线性方程组的解法设, nnlllL211 1212nnuuU 则 为下三角形方程组,它的第 个方程为byi ),21(1,211 ibyllyll iiiiijj 假定 ,按 的顺序解得:0i n,),32(/1nilbyyliijji 上三角形方程组 的第 个方程为xU),21(1, niyxuxuxuniiinijj 假定 ,按 的
3、顺序求解得:02,n )1,2,(/1 niuyxxyijjii41 基本的三角分解法设矩阵 的各阶顺序主子式均不为零,由定理nijaA)(3.1,A 有 分解如下LUnnrnrrr nraaaa 21 2221 11 LUuuullll nrrnrnrnr 22211121211比较等式两边的第 1 行上的相应元素,得 的第 1 行元素:U(4.4)),2(niaui比较等式两边的第 1 列上的相应元素(从第 2 开始) ,得的第 1 列元素:L(4.5)),3(1iuli 比较等式两边的第 2 行上的相应元素(从第 2 开始) ,得iiiula21故得 的第 2 行元素:U),3(22 n
4、uiii 比较等式两边的第 2 列上的相应元素(从第 3 开始) ,得,221iii aul得 的第 2 列元素:L ),43(22 nialii 假设已求得 的第 1 至 行, 的第 1 至 列,比较等式UrLr两边的第 行上的相应元素(从第 开始) ,得r rnnrnrr rrrrrr aulull lll ,1,21 1,1,21 即 ),(iariki 故得 的第 行元素:Ur(4.6)),32;,1,(1 nrriulaukiri 比较等式两边的第 列上的相应元素(从第 开始) ,得1rnrnrrnrnr rrrrrr aullull llll ,1,21 ,2,2,2,2 1211
5、 即 ),2,(,1iallrirki 故得 的第 列元素:Lr(4.7))1,32;,1(,1 nrnriulalrkiiir 称由(4.4)(4.7)式所表示的矩阵分解为 Doolittle 分解。它的计算顺序为: 的第 1 行 的第 1 列 的第 2 行ULU的第 2 列 的第 行 的第 列 的第 行Lrr1n 的第 列 的第 行。(r 从 1 到 n 循环即可!)1nn实现了系数矩阵 A 的 Doolittle 分解后,求解方程组 的bxA问题就等价于求解两个三角形方程组(1) ,求 ;yL(2) ,求 。利用 40 节有关结论,立得 DoolittleyxU分解相应的求解公式为: )
6、,32(11 nrylbyriir )1,2,(/1nruxxrniirn类似地,可以推导 Crout 分解的计算公式: ),;,(1rilalkriiri )1,2;,1(1 nrnriluuriri 它的计算顺序为:的第 1 列 的第 1 行 的第 2 列 的第 2 行LULU的第 列 的第 行 的第 列 的第 行rr1n1n的第 行nCrout 分解相应的求解公式为: ),32(/11 nrlybylrriir )1,(1xuxnriirn小结:Doolittle 分解计算:A LU1计算 的第 1 行元素:U),2(1niaui如果 ,则计算停止。01u2计算 的第 1 列元素:L),
7、32(niali 3对于 r,(1)计算 的第 行元素:Ur),1,(1niulaukrii 如果 ,则计算停止。0(2)计算 的第 列元素:L),2,1(,1 nriulalrrkiiir 4求解计算: yxbUL,),32(11 nrylbyriir )1,2,(/1nruxxrniirn例:用 Doolittle 法解方程组 72501394213041x直接利用公式计算,从中总结 Doolittle 分解的计算规律(图示中还可清楚地看到存贮情况):Gauss 消去法逐步对 A 施加变换,逐步获得 L,U,而Doolittle 分解公式则集中了前 r-1 次变换,一次性付诸实施。的第 1
8、 行与 的第 1 列:ULnnnaa 212112的第 2 行与 的第 2 列: UL,nniniiii niaallal uu 211 nniniiii niaall uul 21222111的第 3 行与 的第 3 列:UL, nninn iiiii niiaall aal uu 321 333231 22111 nninn iiiii niiaall uul 321 333231 22111的第 行与 的第 列( ): UrLr,32 nninrrnn iiirrii rnrirrr nirr aallll aall uuu 1,1,1,1 ,1,1, 1,11 nninrrnn iii
9、rrii rnrirrr aallll uullu 1,1,1,1 ,1,1,最后计算 的第 行(实际上只有一个元素 ) 。Unnunnnnnallu1,1, 1,11 注意在计算 和解 的公式中,如果将 看作 的第 列,UybA1n它们遵循着相同的规则。事实上,由 ,得yLU,,据此,我们可得到紧凑格式的 Doolittle 分解:),(),(1byAL即将上述分解过程处理的对象由 A 改为增广矩阵 ,用),(b同样的方法处理第 列,从而在获得系数矩阵的 Doolittle1n分解 的同时,存放在增广矩阵第 列中的元素就是 。U, 1ny(注意此时在公式(4.4) (4.6)中计算 时, 应
10、到 为止,riu1n编程计算时,应注意所有 的元素都存贮在增广矩阵yx,UL中)紧凑格式的 Doolittle 分解的算法设计:小结:分解计算:ALU1对于 nr,32,1(1)计算 的第 行元素:Ur )1,(11 nriaulaurkikiirii 如果 ,则计算停止。0(2)计算 的第 列元素:L ),2,1(,11 nriaulal rrkiirrkiiiri 4求解计算: yxbU, )1,2,(/ 1,1,1,1, nraauyx rniirnrrniir nn例:用紧凑格式的 Doolittle 法解上述例子中的方程组。A =2 10 0 -3 10-3 -4 -12 13 51
11、 2 3 -4 -24 14 9 -13 7r=12 10 0 -3 10 -3/2 -4 -12 13 5 1/2 2 3 -4 -2 2 14 9 -13 7 r=22 10 0 -3 10 -3/2 11 -12 17/2 20 1/2 -3/11 3 -4 -2 2 -6/11 9 -13 7 r=32 10 0 -3 10 -3/2 11 -12 17/2 20 1/2 -3/11 -3/11 -2/11 -17/11 2 -6/11 -9 -13 7 r=42 10 0 -3 10 -3/2 11 -12 17/2 20 1/2 -3/11 -3/11 -2/11 -17/11 2
12、 -6/11 -9 -4 -16 L =1 0 0 0 -3/2 1 0 0 1/2 -3/11 1 0 2 -6/11 -9 1 U =2 10 0 -3 0 11 -12 17/2 0 0 -3/11 -2/11 0 0 0 -4 y =10 20 -17/11 -16 x =1 2 3 4 42 部分选主元的 Doolittle 分解1部分选主元的三角分解法当用分解法解方程组时,从第 步 分解计算公式可r),21(n知: ),1,(1nriulaurkiri ),2,(,1rilrrkiiir 当 时,分解计算将中断;或 ,但 很小时,按上0ru 0ruru式计算 进行计算可能引起舍入误
13、差的累积、扩大。因此,irl可采用与列主元消去法类似方法,先选列主元,再进行分解计算,即将直接三角分解法修改为部分选主元的三角分解法(部分选主元的 Doolittle 分解法与列主元消去法在理论上是等价的) 。设用紧凑格式的 Doolittle 法已完成了第 ( 步分1r)nr解,则增广矩阵 A 的元素如下:),(rb 1,1,1 , 11,111, , nnnrrnn rrrrr nnraallll uuu 第 步分解,为避免用绝对值小的数作除数,首先在 A 的第r列主对角元以下(含主对角元)选主元。具体步骤如下:1对于 进行(部分)选主元的分解计算(实际 r,2从 1 到 n-1 即可,因
14、第 n 步不需要选主元,而在分解计算中,只需在完成循环后,补充 A(n,n+1 )的计算)(1)计算中间量 作为可能的主元,并存入,1(nriSira ),1,(11 nriaularkriikriirir (2)挑选绝对值最大的 ,即确定行号 ,使满足iSr。iniriSrmax(3)交换两行:当 时,交换 A 的第 行与第 行的对应riri元素,交换后的元素以它在 A 中所处的新位置记,此时处在 A 的第 位置的元素就是主元 交换前的 交),(r ru)(riaS换后的 应该是 中绝对值最大者。ra),1,(nriS(4) 分解计算(以下两步可调换次序,因 已计算)r( 已)1,(11 n
15、iaulukrrirkiirii ri算出)( )时),2,(,1 nriaSulal riirrkiiiri r程序自动不做。按上述方法完成分解,便实现了系数矩阵分解 (只LUPA是 P 没有记录下来) 。于是解 等价于解 ,或bxAbx,即 且 的解 已解出,存放在 AbxLUyxbyUPL,PLy的第 列中,接下来只要解 即可得最终解 。1n2求解计算 )1,2,(/ 1,1,1,1, nraauxyx rniirnrrniir n例:用部分选主元的 Doolittle 法解方程组 142946313x解:r=1中间量1 -1 3 1 2 -4 6 4 4 -9 2 1 134 -9 2
16、 1 2 -4 6 4 1 -1 3 1 分解计算4 -9 2 1 1/2 -4 6 4 1/4 -1 3 1 r=2中间量4 -9 2 1 1/2 1/2 6 4 1/4 5/4 3 1 234 -9 2 1 1/4 5/4 3 1 1/2 1/2 6 4 分解计算4 -9 2 1 1/4 5/4 5/2 3/4 1/2 2/5 6 4 r=3分解计算4 -9 2 1 1/4 5/4 5/2 3/4 1/2 2/5 4 16/5 L =1 0 0 1/4 1 0 1/2 2/5 1 U =4 -9 2 0 5/4 5/2 0 0 4 y =1 3/4 16/5 x =-12/5 -1 4/5
17、 2紧凑格式的 Doolittle 法用于解系列方程组 ),21(mjAj bx令 ),(121mBXx则解系列方程组相当于解矩阵方程 ,实现系数矩阵分BAX解 后,解 等价于解 ,或以下两个三LUPAXPLU角形矩阵方程(1) 求矩阵 ;(2) 求矩阵,Y)(1mYy,Y)(mXx2利用(部分选主元)Doolittle 法紧凑格式对增广矩阵施行 Doolittle 分解,可同时求得 ,然后解 m 个上),(BAU,三角形方程组 ),21(jUj yx解为 ),21,(,/1 mjnruyyxmrnkkjjrjjnj 例:用部分选主元 Doolittle 法紧凑格式解矩阵方程 ,BAX其中,
18、,34102A842016B421312xX解:r=1中间量1 -1 2 -1 -8 -16 2 -2 3 -3 -20 -40 1 1 1 0 -2 -4 1 -1 4 3 4 8 122 -2 3 -3 -20 -40 1 -1 2 -1 -8 -16 1 1 1 0 -2 -4 1 -1 4 3 4 8 分解计算2 -2 3 -3 -20 -40 1/2 -1 2 -1 -8 -16 1/2 1 1 0 -2 -4 1/2 -1 4 3 4 8 r=2中间量2 -2 3 -3 -20 -40 1/2 0 2 -1 -8 -16 1/2 2 1 0 -2 -4 1/2 0 4 3 4 8
19、232 -2 3 -3 -20 -40 1/2 2 1 0 -2 -4 1/2 0 2 -1 -8 -16 1/2 0 4 3 4 8 分解计算2 -2 3 -3 -20 -40 1/2 2 -1/2 3/2 8 16 1/2 0 2 -1 -8 -16 1/2 0 4 3 4 8 r=3中间量2 -2 3 -3 -20 -40 1/2 2 -1/2 3/2 8 16 1/2 0 1/2 -1 -8 -16 1/2 0 5/2 3 4 8 342 -2 3 -3 -20 -40 1/2 2 -1/2 3/2 8 16 1/2 0 5/2 3 4 8 1/2 0 1/2 -1 -8 -16 分解
20、计算2 -2 3 -3 -20 -40 1/2 2 -1/2 3/2 8 16 1/2 0 5/2 9/2 14 28 1/2 0 1/5 -1 -8 -16 r=4分解计算2 -2 3 -3 -20 -40 1/2 2 -1/2 3/2 8 16 1/2 0 5/2 9/2 14 28 1/2 0 1/5 -2/5 -4/5 -8/5 L =1 0 0 0 1/2 1 0 0 1/2 0 1 0 1/2 0 1/5 1 U =2 -2 3 -3 0 2 -1/2 3/2 0 0 5/2 9/2 0 0 0 -2/5 y =-20 -40 8 16 14 28 -4/5 -8/5 x =-7
21、-14 3 6 2 4 2 4 43 部分选主元的 Doolittle 法的算法设计矩阵方程 ,其中 ,BAXnijaA)(是 维列向量。),21,)(21 mbBmnij b是未知矩阵。xx一存贮方法用二维数组 存放系数矩阵 A 和右端项 B。紧凑):1,(nA格式分解过程产生的辅助量 及矩阵 的元素覆),(nriSYUL,盖数组 A 相应位置上的元素。最后解 , 的元素存放X在数组 A 的第 到 列中。m二算法:用部分选主元的 Doolittle 直接三角分解法解矩阵方程。1对于 nr,32,1(1)计算 的第 行元素:Ur ),1,(11 mnriaulaurkkikiriiri 如果 ,则计算停止。0r(2)计算 的第 列元素:L ),2,1(,11 nriaulal rrkiirrkiiiri 2求解计算: YUXBL,对于 mnnj2,1 )1,2,(/ 11 nrauxyx rnkkjjrjriir jj