【线代笔记】2.6 Elimination=Factorization A=LU - A的LU分解

2.6 Elimination=Factorization A=LU - A的LU分解

许多线性代数的核心观点,在仔细审视之后容易发现,其实都是一个矩阵的「因式分解」

原始的矩阵A通过一系列的变化可以变为2个或3个矩阵的点积,以下「因式分解」方法来自于消元

因式LU都是三角矩阵,从消元得到的「因式分解」的结果为 A = L U A=LU A=LU

矩阵U是一个上三角矩阵,对角线上都是主元,消元的步骤就是从AU

将这些步骤倒置,从UA的过程,需要矩阵L来完成,其每一项的操作与U相反
( E 32 E 31 E 21 ) A = U becomes A = ( E 21 − 1 ) ( E 31 − 1 ) ( E 32 − 1 ) U which is A = L U (E_{32}E_{31}E_{21})A=U\quad \text{becomes}\quad A=(E_{21}^{-1})(E_{31}^{-1})(E_{32}^{-1})U\quad \text{which is}\quad A=LU (E32E31E21)A=UbecomesA=(E211)(E311)(E321)Uwhich isA=LU

以上三个矩阵的逆的顺序与消元的顺序相反,三个逆矩阵的点积就是L,现在来深入理解一下其含义


Explanation and Examples - 解释与举例

我们假设消元过程中没有行交换的操作

每一个逆矩阵 E − 1 E^{-1} E1都是一个下三角矩阵,它的非对角线元素 l i j l_{ij} lij执行的操作与消元过程相反

在前几节笔记中提高过,消元矩阵E一般形如
E A = [ 1 0 0 − 2 1 0 0 0 1 ] [ 2 4 − 2 4 9 − 3 − 2 − 3 7 ] = [ 2 4 − 2 0 1 1 − 2 − 3 7 ] E A=\left[\begin{array}{rrr}{1} & {0} & {0} \\{-2} & {1} & {0} \\{0} & {0} & {1}\end{array}\right]\left[\begin{array}{rrr}{2} & {4} & {-2} \\{4} & {9} & {-3} \\{-2} & {-3} & {7}\end{array}\right]=\left[\begin{array}{rrr}{2} & {4} & {-2} \\{0} & {1} & {1} \\{-2} & {-3} & {7}\end{array}\right] EA=120010001242493237=202413217

由此可知,消元矩阵的逆也是对角线上均为1的矩阵,因而所有逆矩阵的点积L的对角线的项也都为1,例如
A = [ 2 1 0 1 2 1 0 1 2 ] = [ 1 0 0 1 2 1 0 0 2 3 1 ] [ 2 1 0 0 3 2 1 0 0 4 3 ] = L U A=\left[\begin{array}{lll}2 & 1 & 0 \\1 & 2 & 1 \\0 & 1 & 2\end{array}\right]=\left[\begin{array}{ccc}1 & 0 & 0 \\\frac{1}{2} & 1 & 0 \\0 & \frac{2}{3} & 1\end{array}\right]\left[\begin{array}{lll}2 & 1 & 0 \\0 & \frac{3}{2} & 1 \\0 & 0 & \frac{4}{3}\end{array}\right]=L U A=210121012=1210013200120012300134=LU

在什么时候我们可以预测LU中有zeros的存在,即一个或多个0

  • A的某一行以zeros开头时,那L的那一行也是如此

    因为该行的前若干个0说明此处不用消元

  • A的某一列以zeros开头时,那U的那一列也是如此

    因为该列的前若干个0的位置在消元中不会变化

A可以转化为LU的关键原因在于:

当我们进行这个消元过程的时候,从下一行减去上一个主元行的时候,减去的并不一定是原来A中的行,而对应的是U中的行,因为当上一个主元行已经经过了若干个消元的步骤,成为主元行之后,就变成了U中的行。

例如我们要得到矩阵U的第三行
Row 3 of U = Row 3 of A − l 31 Row 1 of U − l 32 Row 2 of U \text{Row 3 of U} =\text{Row 3 of A}-l_{31}\text{Row 1 of U}-l_{32}\text{Row 2 of U} Row 3 of U=Row 3 of Al31Row 1 of Ul32Row 2 of U

重写上面的式子我们来看看逆过程是如何的
Row 3 of A = l 31 ( Row 1 of U ) + l 32 ( Row 2 of U ) + 1 ( Row 3 of U ) \text{Row 3 of A} =l_{31}(\text{Row 1 of U})+l_{32}(\text{Row 2 of U})+1(\text{Row 3 of U}) Row 3 of A=l31(Row 1 of U)+l32(Row 2 of U)+1(Row 3 of U)

LDU中得到更好的平衡

从上面的 A = L U A=LU A=LU的例子中可以看出U的对角线上均为主元,而相对于的L的对角线上均为1

因为我们将上三角矩阵U除以一个对角矩阵D,该对角矩阵包含了U的主元

这就产生了一个新的上三角矩阵U,其对角线上均为1
 Split  U  into  [ d 1 d 2 ⋱ d n ] [ 1 u 12 / d 1 u 12 / d 1 ⋅ 1 u 23 / d 2 ⋅ ⋱ ⋮ 1 ] \text { Split } U \text { into }\begin{bmatrix}d_1& & & \\&d_2& & &\\& & \ddots&\\& & & d_n\end{bmatrix}\begin{bmatrix}1 & u_{12}/d_1 & u_{12}/d_1&\cdot\\& 1 &u_{23}/d_2&\cdot\\& & \ddots&\vdots\\& & &1\end{bmatrix}  Split U into d1d2dn1u12/d11u12/d1u23/d21

因而矩阵A的三角分解可以表示为:
A = L U or A = L D U A=LU \quad \text{or}\quad A=LDU A=LUorA=LDU

[ 1 0 3 1 ] [ 2 8 0 5 ]  splits further into  [ 1 0 3 1 ] [ 2 5 ] [ 1 4 0 1 ] \left[\begin{array}{ll}1 & 0 \\3 & 1\end{array}\right]\left[\begin{array}{ll}2 & 8 \\0 & 5\end{array}\right] \quad \text { splits further into } \quad\left[\begin{array}{ll}1 & 0 \\3 & 1\end{array}\right]\left[\begin{array}{ll}2 & \\&5\end{array}\right]\left[\begin{array}{ll}1 & 4 \\0 & 1\end{array}\right] [1301][2085] splits further into [1301][25][1041]


The Cost of Elimination - 消元的时间复杂度

消元的时间复杂度可以理解为电脑计算矩阵消元所需要的时间与矩阵大小的关系

  1. 矩阵A的消元需要乘法 1 3 n 3 \frac{1}{3}n^3 31n3次,以及减法 1 3 n 3 \frac{1}{3}n^3 31n3

  2. 解的消元需要 n 2 n^2 n2次乘法与 n 2 n^2 n2次减法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值