LU分解(考虑行交换)

这篇博客详细介绍了矩阵LU分解的过程,特别是在分解过程中如何考虑行交换。通过实例展示了如何构建行交换矩阵P,以及如何通过一系列矩阵操作最终得到L、U矩阵,并给出MATLAB实现LU分解的代码。
摘要由CSDN通过智能技术生成

P A = L U PA=LU PA=LU

对矩阵 A A A L U LU LU分解(考虑行交换)
A = [ a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 ] A = \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{41} & a_{42} & a_{43} & a_{44} \end{bmatrix} A=a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44
第一步,将矩阵 A A A的第一列元素 a 11 , a 21 , a 31 , a 41 a_{11},a_{21},a_{31},a_{41} a11,a21,a31,a41中绝对值最大值所在行与第 1 1 1行交换,即构造行交换矩阵 P 1 P_{1} P1,用行交换矩阵 P 1 P_{1} P1左乘矩阵 A A A完成第一次行交换。如果 a 41 a_{41} a41的绝对值最大,则将第 4 4 4行和第 1 1 1行交换,对应的行交换矩阵就是将 4 4 4阶单位矩阵的第 1 1 1行和第 4 4 4行交换后得到的矩阵
P = [ 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 ] P = \left[ \begin{matrix} 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{matrix} \right] P=0001010000101000
用矩阵 P P P左乘矩阵 A A A相当于交换矩阵 A A A的第 1 1 1行和第 4 4 4
P A = [ 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 ] [ a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 ] = [ a 41 a 42 a 43 a 44 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 11 a 12 a 13 a 14 ] \begin{aligned} PA &= \left[ \begin{matrix} 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{matrix} \right] \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{41} & a_{42} & a_{43} & a_{44} \end{bmatrix}\\ &= \begin{bmatrix} a_{41} & a_{42} & a_{43} & a_{44} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{11} & a_{12} & a_{13} & a_{14} \end{bmatrix} \end{aligned} PA=0001010000101000a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44=a41a21a31a11a42a22a32a12a43a23a33a13a44a24a34a14
一般的,将第一次行交换后的矩阵记为
P 1 A = [ b 11 b 12 b 13 b 14 b 21 b 22 b 23 b 24 b 31 b 32 b 33 b 34 b 41 b 42 b 43 b 44 ] P_{1}A = \begin{bmatrix} b_{11} & b_{12} & b_{13} & b_{14} \\ b_{21} & b_{22} & b_{23} & b_{24} \\ b_{31} & b_{32} & b_{33} & b_{34} \\ b_{41} & b_{42} & b_{43} & b_{44} \end{bmatrix} P1A=b11b21b31b41b12b22b32b42b13b23b33b43b14b24b34b44
第二步,构造矩阵 M 1 M_{1} M1
M 1 = [ 1 0 0 0 − l 21 1 0 0 − l 31 0 1 0 − l 41 0 0 1 ] M_{1} = \left[ \begin{matrix} 1 & 0 & 0 & 0 \\ -l_{21} & 1 & 0 & 0 \\ -l_{31} & 0 & 1 & 0 \\ -l_{41} & 0 & 0 & 1 \end{matrix} \right] M1=1l21l31l41010000100001
其中 l i 1 = b i 1 b 11 , i = 2 , 3 , 4. \displaystyle l_{i1} =\frac{b_{i1}}{b_{11}}, i = 2, 3, 4. li1=b11bi1,i=2,3,4. 用矩阵 M 1 M_{1} M1左乘 ( P 1 A ) (P_{1}A) (P1A)
M 1 P 1 A = [ b 11 b 12 b 13 b 14 0 b 22 ′ b 23 ′ b 24 ′ 0 b 32 ′ b 33 ′ b 34 ′ 0 b 42 ′ b 43 ′ b 44 ′ ] M_{1}P_{1}A = \left[ \begin{matrix} b_{11} & b_{12} & b_{13} & b_{14} \\ 0 & b'_{22} & b'_{23} & b'_{24} \\ 0 & b'_{32} & b'_{33} & b'_{34} \\ 0 & b'_{42} & b'_{43} & b'_{44} \end{matrix} \right] M

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值