线性代数——LU(LR)分解

定义

定义:给定矩阵A,将A表示成下三角矩阵L和上三角矩阵U的乘积,称为LU分解。再进一步,希望L的对角元素都是1,这样利于后面的计算。

此外,形如A=LDU的分解称为LDU分解,L是下三角矩阵,D是对角阵,U是上三角矩阵,其中L和U的对角元素都是1。

对于正方矩阵来说,上面的分解结果L和U的大小显而易见,都和原矩阵A的size相同。那么对于非正方矩阵而言呢?

长矩阵B经过LU分解的结果希望是如下的形式:
在这里插入图片描述
宽矩阵C经过LU分解的结果希望是如下的形式:
在这里插入图片描述

为什么要LU分解

一旦完成了LU分解,利用L和U的性质,再去求行列式的值或者解线性方程组,计算量就大大减少了。

LU分解作为基本工具在各种数值计算问题中被广泛应用。例如求解线性方程组Ax=b时,只需要做一次A=LU的分解,后面面对不同的b就可以反复使用L和U了。

为什么能做到LU分解

可以先设定最终LU分解的两个矩阵中的所有未知数,之后通过原始矩阵的每个元素反解出L和U中的每个元素,这里可以以任意例子做实验。但是需要注意,如果原始矩阵的对角元素有0,那么情况就另当别论,需要对LU的样子稍作改变再进行分解。

利用LU分解求行列式值

对于方阵A,若已经有形如A=LU的LU分解,则立即可以得到行列式值detA。因为
d e t A = d e t ( L U ) = ( d e t L ) ( d e t U ) det A = det (LU) = (det L) (det U) detA=det(LU)=(detL)(detU)
所以只需要求出det L和det U即可。而下三角矩阵和上三角矩阵的行列式就是对角元素的乘积。这里det L恰好等于1,于是
d e t A = U 的 对 角 元 素 的 乘 积 det A = U的对角元素的乘积 detA=U

利用LU分解求解线性方程组

这里以有解的情况为例,考虑n阶可逆方阵A和n维向量y,需要求解满足Ax=y的向量x。

将A进行LU分解,解方程的问题就被分为了两个步骤,LUx=y。第一步就是求出满足Lz=y的z;
第二步就是求出满足Ux=z的x。
用数学表达式表述就是
A x = L U x = L ( U x ) = L z = y A \boldsymbol{x}=L U \boldsymbol{x}=L(U \boldsymbol{x})=L \boldsymbol{z}=\boldsymbol{y} Ax=LUx=L(Ux)=Lz=y

这样有什么好处?其实,由于L和U都是具有特殊形式的矩阵,所以求解过程要简单许多。对于第一步:
( 1  车  1  孙   郑  1  李   王   卫  1 ) ( z 1 z 2 z 3 z 4 ) = (  子   丑   寅   卯  ) \left(\begin{array}{cccc} 1 & & & \\ \text { 车 } & 1 & & \\ \text { 孙 } & \text { 郑 } & 1 & \\ \text { 李 } & \text { 王 } & \text{ 卫 } & 1 \end{array}\right)\left(\begin{array}{l} z_{1} \\ z_{2} \\ z_{3} \\ z_{4} \end{array}\right)=\left(\begin{array}{l} \text { 子 } \\ \text { 丑 } \\ \text { 寅 } \\ \text { 卯 } \end{array}\right) 1      1    1  1

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值