定理(A=LU的直接分解,无行交换变换)设无行交换变换的高斯消去法可求解一般线性方程组Ax=b,则矩阵A可分解为一个下三角矩阵L和一个上三角矩阵U的乘积:A=LU。而且L的对角线元素为1,U的对角线元素非零。得到L和U后,可通过如下步骤得到x:
1 利用前向替换法对方程组Ly=b求解y
2 利用回代法对方程组Ux=y求解x
证明:当执行高斯消去过程,并将B存入增广矩阵中(增广矩阵有N+l列)时,上三角分解处理后的结果是等价的上三角线性方程组UX=Y。矩阵L,U,B,Y有如下形式:,,
,
注:如果只寻找L和U,可不需要增广矩阵的最后一列。
第1步:将系数存入增广矩阵。的上标表示位于矩阵(r,c)处的值是第一次存放的:
第2步:消去第2行到第4行中的x1,并将用于消去行r中的x1的倍数mr1存入矩阵(r,l)处:for r=2:4
mr1=/;
=mr1;
for c=2:4+1
=-mr1×;
end
end
新的元素写成,表示在矩阵中的位置(r,c)处第2次存放的值。执行步骤2后的结果为:
第3步:消去第3行到第4行中的x2,并将用于消去行r中x2的倍数mr2存入矩阵的(r,2)处:for r=3:4
mr2=/;
=mr2;
for c=3:4+1
=-mr2×;end
end
新的元素写成,表示在矩阵中的位置(r,c)处第三次存放的值。执行步骤3后的结果为:
最后一步:消去第4行的x43,并将用于消去x3的倍数存入矩阵(4,3)处,
得到的最终结果是:
上三角处理过程执行完毕。要注意只使用了一个数组保存L和U中的元素。L中的对角线元素1没有保存,而且L中位于对角线上的元素0和U中位于对角线下的元素0也没有保存。只有用来重构L和U的系数元素才被保存。
对于一般线性方程组Ax=b,一般步骤是第k+1步:消去k+1行到n行中的xk,并将用于消去k行中的xk的倍数存入矩阵(r,k)处:
for r=k+l:n
mrk=;
ark=mrk;
for c=k+1:n+l
=-mrk×;
end
end
将n行中的xk消去后得到的最终结果是:
矩阵A的LU分解的紧凑格式,还是以4阶矩阵来说明:
若A=,,
则L
L
L
令L= L1-
其中Lk(k=1,2,3)称为初等下三角矩阵,。
以上过程可用下面的框图来表示:
⑴ ⑸ ⑹ ⑺ |
⑵
⑶ ⑷ 第一步 |
||
⑻ ⑼ ⑽ 第二步 |
|||
⑾ ⑿ |
⒀ ⒁ 第三步 |
||
⒂ |
⒃ 第四步 |
具体公式如下:第一步:行 ;列
第二步:行 ;列
第三步:行 ;
列
第四步:行
例:=
解:第一步:行 ⑴ ==1,⑵ ==2,
⑶ ==3,⑷ ==4
列 ⑸ ==,⑹ ==,⑺ ==
第二步:行 ⑻ ==
⑼ ==
⑽ ==
列 ⑾ =
⑿ =
第三步:行 ⒀ =
=
⒁ =
=
列 ⒂ =
第四步:⒃ =
=
对于n阶矩阵A的LU分解元素,可由下面公式得出:
对于2到n行(或列)有:
例 用Doolittle法解方程组:
解(1):A=
解Ly=b得:y=()T
解Ux=y得:x=(1,2,3,4)T
解(2):用紧凑格式的Doolittle法求解,首先分解(A,b)
(A,b)=
→
得y=()T,再解Ux=y,得x=(1,2,3,4)T。
例 观察方程组与上例的区别。
解:→
得y=()T,再解Ux=y,得x=(1,2,3,4)T。
两个系数矩阵是经过交换1,3两行后得出的。产生的结果是LU分解式不同,y的解也不同,但x的解一定相同。
=×
例 用部分选主元Doolittle法紧凑格式求解方程组AX=B,其中:
,,
解: ,因为第一列的主元在第二行,因此,首先交换1,2两行:
再进行分解:
如果直接计算第二步,则,所以必须再次换行,然后继续分解。
交换3,4两行后分解:
得Y=(y1,y2),其中y1=(-20,8,14,-4/5)T,y2=(-40,16,28,-8/5)T,最后再解UX=Y,得(-7,3,2,2)T,(-14,6,4,4)T。
如果A是n阶对称矩阵,由定理2还可得如下分解定理:
定理 若A为n阶对称矩阵,且A的各阶顺序主子式都不为零,则A可惟一分解为:A=LDLT,其中L为单位下三角阵,D为对角阵。
证明 因为A的各阶顺序主子式都不为零,所以A可惟一分解为:A=LU
因为,所以可将 U分解为:
其中 D为对角矩阵,U1为单位上三角阵.于是:A=LDU1=L(DU1)
因为A为对称矩阵,所以,A=AT=U1TDTLT=U1T(DLT),由
A的 LU分解的惟一性即得:L=U1T,即U1=LT,故A=LDLT。