PA=LU
对矩阵A做LU分解(考虑行交换)
A=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44⎦⎥⎥⎤
第一步,将矩阵A的第一列元素a11,a21,a31,a41中绝对值最大值所在行与第1行交换,即构造行交换矩阵P1,用行交换矩阵P1左乘矩阵A完成上述第一次行交换。如果a41的绝对值最大,则将第4行和第1行交换,对应的行交换矩阵就是将4阶单位矩阵的第1行和第4行交换后得到的矩阵
P=⎣⎢⎢⎡0001010000101000⎦⎥⎥⎤
用矩阵P左乘矩阵A相当于交换矩阵A的第1行和第4行
PA=⎣⎢⎢⎡0001010000101000⎦⎥⎥⎤⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44⎦⎥⎥⎤=⎣⎢⎢⎡a41a21a31a11a42a22a32a12a43a23a33a13a44a24a34a14⎦⎥⎥⎤
一般的,将第一次行交换后的矩阵记为
P1A=⎣⎢⎢⎡b11b21b31b41b12b22b32b42b13b23b33b43b14b24b34b44⎦⎥⎥⎤
第二步,构造矩阵M1
M1=⎣⎢⎢⎡1−l21−l31−l41010000100001⎦⎥⎥⎤
其中li1=b11bi1,i=2,3,4. 用矩阵M1左乘(P1A)
M1P1A=⎣⎢⎢⎡b11000b12b22′b32′b42′b13b23′b33′b43′b14b24′b34′b44′⎦⎥⎥⎤
第三步,将矩阵(M1P1A)的第二列主对角线以下的元素b22′,b32′,b42′中绝对值最大值所在行与第2行交换,即构造行交换矩阵P2,用行交换矩阵P2左乘矩阵(M1P1A)完成第二次行交换。记第二次行交换后的矩阵为
P2M1P1A=⎣⎢⎢⎡b11000b12c22c32c42b13c23c33c43b14c24c34c44⎦⎥⎥⎤
第四步,构造矩阵M2
M2=⎣⎢⎢⎡100001−l32−l4200100001⎦⎥⎥⎤
其中li2=c22ci2,i=3,4. 用矩阵M2左乘(P2M1P1A)
M2P2M1P1A=⎣⎢⎢⎡b11000b12c2200b13c23c33′c43′b14c24c34′c44′⎦⎥⎥⎤
第五步,将矩阵(M2P2M1P1A)的第三列主对角线以下的元素c33′,c43′中绝对值最大值所在行与第3行交换,即构造行交换矩阵P3,用行交换矩阵P3左乘矩阵(M2P2M1P1A)完成第三次行交换。记第三次行交换后的矩阵为
P3M2P2M1P1A=⎣⎢⎢⎡b11000b12c2200b13c23d33d43b14c24d34d44⎦⎥⎥⎤
第六步,构造矩阵M3
M3=⎣⎢⎢⎡10000100001−l430001⎦⎥⎥⎤
其中l43=d33d43. 用矩阵M3左乘矩阵(P3M2P2M1P1A)
U=M3P3M2P2M1P1A=⎣⎢⎢⎡b11000b12c2200b13c23d330b14c24d34d44′⎦⎥⎥⎤
用矩阵(M3P3M2P2M1P1)的逆矩阵(M3P3M2P2M1P1)−1左乘上式
A=(M3P3M2P2M1P1)−1U=P1−1M1−1P2−1M2−1P3−1M3−1U
再用矩阵(P3P2P1)左乘上式
====P3P2P1AP3P2P1P1−1M1−1P2−1M2−1P3−1M3−1UP3P2M1−1P2−1P3−1P3M2−1P3−1M3−1U(P3P2M1−1P2−1P3−1)(P3M2−1P3−1)(M3−1)UL1L2L3U
其中
M1−1=⎣⎢⎢⎡1l21l31l41010000100001⎦⎥⎥⎤
M2−1=⎣⎢⎢⎡100001l32l4200100001⎦⎥⎥⎤
M3−1=⎣⎢⎢⎡10000100001l430001⎦⎥⎥⎤
P1−1P2−1P3−1=P1=P2=P3
记
L1L2L3LP=P3P2M1−1P2−1P3−1=P3M2−1P3−1=M3−1=L1L2L3=P3P2P1
最后我们得到
PA=LU