当前位置:   article > 正文

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

lu分解

定义

定义:给定矩阵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(

1 车 1 孙  郑 1 李  王  卫 1
\right)\left(
z1z2z3z4
\right)=\left(
 子  丑  寅  卯 
\right) 1      1    1  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/176634?site
推荐阅读
相关标签
  

闽ICP备14008679号