矩阵的三角分解(LU分解)

矩阵的三角分解将矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积.
定义:如果n阶矩阵A能够分解成一个下三角矩阵L和一个上三角矩阵U的乘积,则称这种分解为三角分解或LU分解,如果n阶矩阵A能够分解为A=LDU,其中L为单位下三角矩阵,D为对角阵,U为单位上三角举证,则称这种分解为LDU分解
设A=LU是A的三角分解,如果L是一个单位下三角矩阵,则称它为(Dollitle)分解;如果U是一个单位上三角矩阵则称它为(Crout)分解

定理 矩阵A=(a i j _{ij} ij) n n _{nn} nn的LDU分解式唯一的充分且必要条件为A的顺序主子式D k _k k≠0,k=1,2,…k-1
其中L是单位下三角矩阵,U是单位上三角矩阵,D=diag(d 1 _1 1,d 2 _2 2d, 3 _3 3,…d n _n n)是对角阵,并且d k _k k= D k D k − 1 \frac{D_k}{D_{k-1}} Dk1Dk(D 0 _0 0=1)

推论n阶非奇异矩阵A有LU分解的充分必要条件是A的顺序主子式D k _k k≠0

如Dollitle分解为例子,其他形式都可以由其的得出来(举例将实际求法,不研究其理论)
以4阶方阵为例子(矩阵中_表示未知元素

1.直接法

A = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) A=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} A=244613121251231183

1

根据Dollitle的定义A可以写成一个单位下三角跟一个上三角矩阵的乘积,根据矩阵的乘法运算规则,我们可以确定上三角矩阵的第一行元素就是A矩阵的第一行
A = L ∗ U = ( 1 0 0 0 _ 1 0 0 _ _ 1 0 _ _ _ 1 ) ∗ ( 2 1 − 1 3 0 _ _ _ 0 0 _ _ 0 0 0 _ ) A=L*U=\begin{pmatrix} 1 & 0 & 0 & 0 \\ \_ & 1 & 0& 0 \\ \_ & \_& 1 & 0 \\ \_ & \_ & \_ & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & \_ & \_& \_\\ 0 & 0 & \_ & \_\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=1___01__001_000120001_001__03___

2

可以看到U矩阵的第一列元素只有一个是非零的,根据矩阵乘法,L矩阵的每一行与U矩阵的第一列相乘得到A矩阵的第一列矩阵
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 _ 1 0 3 _ _ 1 ) ∗ ( 2 1 − 1 3 0 _ _ _ 0 0 _ _ 0 0 0 _ ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & \_& 1 & 0 \\ 3 & \_ & \_ & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & \_ & \_& \_\\ 0 & 0 & \_ & \_\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=244613121251231183=122301__001_000120001_001__03___

3

L矩阵的第二行元素全部已知,根据矩阵的乘法L矩阵的第二行元素与U矩阵的每一列元素相乘决定了A矩阵的第二行元素
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 _ 1 0 3 _ _ 1 ) ∗ ( 2 1 − 1 3 0 1 0 5 0 0 _ _ 0 0 0 _ ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & \_& 1 & 0 \\ 3 & \_ & \_ & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & \_ & \_\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=244613121251231183=122301__001_00012000110010_035__

4

U矩阵的第二列元素与L矩阵的每一行相乘得到A矩阵的第二列元素
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 3 1 0 3 − 1 _ 1 ) ∗ ( 2 1 − 1 3 0 1 0 5 0 0 _ _ 0 0 0 _ ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & 3 & 1 & 0 \\ 3 & -1 & \_ & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & \_ & \_\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=244613121251231183=12230131001_00012000110010_035__

5

L矩阵的第三行元素与U矩阵的每一列元素相乘得到A矩阵的第三行元素
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 3 1 0 3 − 1 _ 1 ) ∗ ( 2 1 − 1 3 0 1 0 5 0 0 3 − 1 0 0 0 _ ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & 3 & 1 & 0 \\ 3 & -1 & \_ & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & 3 & -1\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=244613121251231183=12230131001_0001200011001030351_

6

U矩阵的第三列元素与L矩阵每一行元素相乘等到A矩阵的第三列元素
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 3 1 0 3 − 1 5 1 ) ∗ ( 2 1 − 1 3 0 1 0 5 0 0 3 − 1 0 0 0 _ ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & 3 & 1 & 0 \\ 3 & -1 & 5 & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & 3 & -1\\ 0 & 0 & 0 & \_ \\ \end{pmatrix} A=LU=244613121251231183=1223013100150001200011001030351_

7

L矩阵的第四行元素与U矩阵每一列元素相乘等到A矩阵的第四列元素
A = L ∗ U = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) = ( 1 0 0 0 2 1 0 0 − 2 3 1 0 3 − 1 5 1 ) ∗ ( 2 1 − 1 3 0 1 0 5 0 0 3 − 1 0 0 0 4 ) A=L*U=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & 3 & 1 & 0 \\ 3 & -1 & 5 & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 1 & -1 & 3 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & 3 & -1\\ 0 & 0 & 0 & 4 \\ \end{pmatrix} A=LU=244613121251231183=12230131001500012000110010303514
以上是直接法的全过程
由LU变换到LDU
A = ( 1 0 0 0 2 1 0 0 − 2 3 1 0 3 − 1 5 1 ) ∗ ( 2 0 0 0 0 1 0 0 0 0 3 0 0 0 0 4 ) ∗ ( 1 1 / 2 − 1 / 2 3 / 2 0 1 0 5 0 0 1 − 1 / 3 0 0 0 1 ) A=\begin{pmatrix} 1 & 0 & 0 & 0 \\ 2 & 1 & 0& 0 \\ -2 & 3 & 1 & 0 \\ 3 & -1 & 5 & 1 \\ \end{pmatrix}* \begin{pmatrix} 2 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 3 & 0\\ 0 & 0 & 0 & 4 \\ \end{pmatrix}* \begin{pmatrix} 1 & {1/2} & -1/2 & 3/2 \\ 0 & 1 & 0 & 5 \\ 0 & 0 & 1 & -1/3\\ 0 & 0 & 0 & 1 \\ \end{pmatrix} A=1223013100150001200001000030000410001/21001/20103/251/31

变化法

A = ( 2 1 − 1 3 4 3 − 2 11 − 4 1 5 8 6 2 12 3 ) A=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 4 & 3 & -2 & 11 \\ -4 & 1 & 5 & 8 \\ 6 & 2 & 12 & 3 \\ \end{pmatrix} A=244613121251231183

1

用A矩阵第一列的后三个元素分别除以第一个元素,即4,-4,6都除以2得到新的矩阵
B = ( 2 1 − 1 3 2 3 − 2 11 − 2 1 5 8 3 2 12 3 ) B =\begin{pmatrix} 2 & 1 & -1 & 3 \\ 2 & 3 & -2 & 11 \\ -2 & 1 & 5 & 8 \\ 3 & 2 & 12 & 3 \\ \end{pmatrix} B=222313121251231183

2

第一行用行变化去把其他几行全部消为0,注意要用A矩阵的数去算,即在第一列为2,4,-4,6的基础上去做行变换
但是变得只是去掉第一行第一列剩下三阶矩阵中的元素,

即 变 得 是 ( 3 − 2 11 1 5 8 2 12 3 ) 中 的 元 素 即变得是 \begin{pmatrix} 3 & -2 & 11 \\ 1 & 5 & 8 \\ 2 & 12 & 3 \\ \end{pmatrix} 中的元素 31225121183
行变换后的矩阵
C = ( 2 1 − 1 3 2 1 0 5 − 2 3 3 14 3 − 1 15 − 6 ) C=\begin{pmatrix} 2 & 1 & -1 & 3 \\ 2 & 1 & 0 & 5 \\ -2 & 3 & 3 & 14 \\ 3 & -1 & 15 & -6 \\ \end{pmatrix} C=222311311031535146

3

不看C矩阵第一行和第一列元素
即 在 ( 1 0 5 3 3 14 − 1 15 − 6 ) 的 基 础 上 重 复 1 , 2 步 骤 即在\begin{pmatrix} 1 & 0 & 5 \\ 3 & 3 & 14 \\ -1 & 15 & -6 \\ \end{pmatrix}的基础上重复1,2步骤 131031551461,2
后面的都是一样的步骤这里直接写出矩阵,可以自己演算
( 2 1 − 1 3 2 1 0 5 − 2 3 3 − 1 3 − 1 15 − 1 ) = > ( 2 1 − 1 3 2 1 0 5 − 2 3 3 − 1 3 − 1 5 4 ) \begin{pmatrix} 2 & 1 & -1 & 3 \\ 2 & 1 & 0 & 5 \\ -2 & 3 & 3 & -1 \\ 3 & -1 & 15 & -1 \\ \end{pmatrix} => \begin{pmatrix} 2 & 1 & -1 & 3 \\ 2 & 1 & 0 & 5 \\ -2 & 3 & 3 & -1 \\ 3 & -1 & 5 & 4 \\ \end{pmatrix} 22231131103153511=>2223113110353514
得到最终矩阵
( 2 1 − 1 3 2 1 0 5 − 2 3 3 − 1 3 − 1 5 4 ) \begin{pmatrix} 2 & 1 & -1 & 3 \\ 2 & 1 & 0 & 5 \\ -2 & 3 & 3 & -1 \\ 3 & -1 & 5 & 4 \\ \end{pmatrix} 2223113110353514
上述矩阵主对角线以下的元素直接填充到L矩阵对应的位置,主对角线自己及以上的元素与U矩阵一一对应,可与直接法做对比。

参考视频:https://www.bilibili.com/video/BV1wE411P7Do

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值