矩阵分析——LU分解

article/2025/8/23 19:54:52

LU分解初步

       矩阵的LU分解主要用来求解线性方程组或者计算行列式。在使用初等行变换法求解线性方程组的过程中,系数矩阵的变化情况如下

       由上可知


      ,其中U就是上面矩阵A经过行变换后的上三角矩阵,Eij表示将i行元素与j行元素互换的初等矩阵;Eij(k)表示将i行元素的k倍加到j行上。

      因此:



      如果方阵A可以分解成单位下三角矩阵L与上三角矩阵U的乘积,则式A=LU称为A的LU分解或三角分解。

LU分解定理

      那么什么样的矩阵才有LU分解呢?

      如果n阶方阵A的各阶顺序主子式 ,即A的各阶顺序主子矩阵Ak都可逆,则存在唯一的单位下三角矩阵L与唯一的非奇异上三角矩阵U,使得A=LU。

      其中k阶顺序主子式指

     那么如何计算矩阵的LU分解呢?由上可知,存在L的可逆矩阵L',LL' = E,因此L'A = L'LU = U;由此可以得出一般分解方法,通过对(A,E)做初等行变换得到(U,L'),再由矩阵L’得到矩阵L。

LU计算行列式

      由LU分解定理可知,满足条件的矩阵A可分解为式:A = LU。|A| = |L| |U|,而其中|L| = 1,|U| 的值即为矩阵U对角线的乘积值。因此A的行列式的值即为矩阵U对角线的乘积值。

LU解线性方程组

      以最开始的矩阵A为例,求解线性方程组:

      由A的LU分解,可得Ly = b,Ux = y来代替Ax = b求解线性方程组。

      分别前向计算出y的所有向量,后向计算出x的所有向量。


列选主元法

      其实上述的定理条件的约束过强了,还存在条件更弱的LU分解定理。即列主元LU分解定理

      对n阶可逆方阵A,存在置换矩阵P、单位下三角矩阵与上三角矩阵U,使得PA=LU。

      这一定义针对的是本身不满足LU分解定理的条件,但是可以经过初等变换使其满足条件的矩阵。例如:

      对于这个矩阵,可以看出该矩阵不满足LU分解定理,因此只能求A的带置换的LU分解。即:

小主元的蝴蝶效应

浮点数系统

      这里矩阵的计算问题主要针对计算机的程序实现。IEEE于1985年发布了ANSI/IEEE Std 754-1985标准,这是使用最广泛的浮点数运算标准。在754标准中,浮点数主要由符号位、指数部分和尾数三个部分。

      其中,常用的精度等级,单精度,使用32bit存储。

      双精度,使用64bit存储。


      关于浮点数系统有几点需要注意:

  • 指数偏移值(exponent bias),是指浮点数表示法中的指数域的编码值为指数的实际值加上某个固定的值,IEEE 754标准规定该固定值为,其中的ε为存储指数的比特的长度。这样就保证了可以用长度为ε个比特的无符号整数来表示所有的指数取值,这使得两个浮点数的指数大小的比较更为容易。
  • 实际的浮点数系统中采用了规约浮点数与非规约浮点数。对于规约浮点数,这意味着非零浮点数x可以表示为:

      其中,1不必存储;尾数f为小数取值为0或1,t为尾数长度;p为指数。由此可以发现对于规约浮点数来说,存在绝对值意义下与零最接近的数,即(其中p取最小值)。如果p的最小值为-1,那么最小规约数就是1/2,这样0与最小规约数之间依旧间隔1/2,这就是规约化的后果。

  • 引入非规约浮点数,就是为了解决上面的问题。非规约浮点数就是用来填补绝对值意义下规约浮点数与零之间的距离。若指数部分为0,且尾数非0时,就被作为非规约浮点数解析。同时需要注意的是,非规约形式的浮点数的指数偏移值比规约形式的浮点数的指数偏移值大1。例如,最小的规约形式的单精度浮点数的指数部分编码值为1,指数的实际值为-126;而非规约的单精度浮点数的指数域编码值为0,对应的指数实际值也是-126而不是-127。
因此,在计算机上,实数集的几乎所有实数都要被映射到浮点数系统中的稀疏的浮点数集,这样就会产生舍入误差


小主元的误差

     例如线性方程组Ax = b,其中:

                                                                    

      如果系数矩阵被扰动成,可手算知:

      若上述过程在计算机中进行,由浮点数运算规则可知,两数相加时,大数吃掉小数,则计算机中产生的矩阵为:

      这时会发现,且据L‘U’x=b解出的理论解,明显不再等于前面的理论解。

      这说明LU分解是稳定的,但是将LU分解用到解线性方程组上是不稳定的。究其原因,是因为中的第一个主元太小,导致第二个主元中的1与值相差悬殊,出现大数吃小数。

      为了避免上述危害,引入一种选主元手段,即在消去的过程中,通过适当的选主元,避免放大数据误差。常用的选主元技术就是列选主元法(除此之外还有全选主元法、对角选主元法和随机选主元法等):

     对m×n阶矩阵A,在确定第k个主元()时,先从该列自主元位置(k,jk)至列尾的所有元素中选择绝对值最大的元素,与交换,然后将化为零。继续这个过程,直至将矩阵A化为行阶梯形。


特殊矩阵的LU分解

实对称正定矩阵

     Cholesky分解定理:

      设A是实对称正定矩阵,则存在唯一的可逆下三角矩阵L,使得

      由矩阵乘法规则,可以推出实对称正定矩阵LU分解的简便计算方法(平方根法):

  1. 可知,进而由(i ≥ 2)可知
  2. 已求出时,由可知
  3. 当i>j时,由可知,


参考资料:

《矩阵分析与计算》,李继根,张新发

IEEE 754,http://zh.wikipedia.org/wiki/IEEE_754


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。


http://chatgpt.dhexx.cn/article/DuXconUw.shtml

相关文章

Doolittle分解法(LU分解)详细分析以及matlab的实现

一、基本介绍 前面介绍的Gauss消去法实际上做的事情是将系数矩阵A做了一个三角分解,即: ALU 式(1) 其中,L为单位下三角阵,U为上三角阵,该分解唯一。若A为非奇异,则U也非奇异。…

线性代数笔记10——矩阵的LU分解

在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。LU分解主要应用在数值分析中,用来解线性方程、求反矩阵或…

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

文章目录 定义为什么要LU分解为什么能做到LU分解 利用LU分解求行列式值利用LU分解求解线性方程组利用LU分解求逆矩阵对角线上元素有0的情况 定义 定义:给定矩阵A,将A表示成下三角矩阵L和上三角矩阵U的乘积,称为LU分解。再进一步,…

LU分解Matlab算法分析

最近矩阵分析老师出了一道题目作为作业,是一道程序题,题目是对A矩阵做LU分解,要求能对A实现PALU的分解,并最终输出L,U,P矩阵。 先来解读下题目,寥寥几句话,里面囊括的信息量却不少&a…

LU分解,LDLT分解,Cholesky分解

LU分解 如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的。 ALU,将系数矩阵A转变成等价的两个矩阵L和U的乘积,其中L和U分别是下三角和上三角矩阵,而且要求L的对角元素都是1,形式如下: 本…

矩阵的直接LU分解法

上篇博文由高斯消去法的矩阵形式推出了矩阵的LU分解:矩阵的三角分解法; 实际上,可以直接处理矩阵,得到矩阵的LU分解,这就是矩阵的直接LU分解;直接通过矩阵的元素得到计算LU元素的递推公式,不需…

LU分解、LDLT分解和Cholesky分解

LU分解 概念:假定我们能把矩阵A写成下列两个矩阵相乘的形式:ALU,其中L为下三角矩阵,U为上三角矩阵。这样我们可以把线性方程组Ax b写成 Ax (LU)x L(Ux) b。令Ux y,则原线性方程组Ax b可首先求解向量y 使Ly b&am…

A的LU分解

前面我们曾经通过高斯消元将矩阵A最终转化成了上三角阵U,那么今天我们就继续深入探索A和U之间到底有什么样的联系。在开始之前,先交代一些需用到的基础理论。假设A是可逆阵,则有AA-1I,两边同时转置,根据乘积的转置等于…

LU分解(matlab实现)

LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积。 主要的算法思路是从下至上地对矩阵A做初等行变换,将对角线左下方的元素变成零,这些行变换的效果等同于左乘一系列单位下三角矩阵&…

矩阵的LU分解,LU分解的推广,LU分解有什么意义,为什么要用LU分解。

一点点数学!开干! 参考书籍:《矩阵分析与计算》李继根 张新发编著 矩阵的LU分解: LU分解定理:如果n阶方阵A的各阶顺序主子式≠0(K1、2、3,…,n),即A的各阶…

LU分解(图解)

三角分解(LU分解) 在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。LU分解主要应用在数值分析中,用来解线…

矩阵系列:LU分解

1矩阵LU分解模块 1.1 LU分解数学表达 首先要明确的是,矩阵的LU分解是有局限性的,即LU分解只针对非奇异矩阵。那么什么是非奇异矩阵呢?即各阶顺序主子式不为零。 (1)高斯消去法 LU分解的思想来源于高斯消去法&#xff…

LU分解(图解与应用举例)

三角分解(LU分解) 在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。LU分解主要应用在数值分析中,用来解线…

矩阵分解入门——LU分解

文章目录 LU分解LU分解简介LU分解与高斯分解的对比LU的主要用途使用LU矩阵的注意事项初等矩阵与消元LU分解与配方法实际效果对比(matlab)使用LU分解中的一些特例 A A A矩阵中主元(位于第一行第一列的元素)为0LU分解后 U U U为非满秩 LU分解的推广1——LD…

C语言,折半查找法

折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。 问题分析: 二分查找法(也叫折半查找)其本质是分治算法的一…

利用数组进行数据查找---折半查找法(二分法)

二分法查找: 1.适用情况:在一批有序数据中查找某数。 2.基本思想:选定这批数据中居中间位置的一个数与查找数比较,看是否为所找之数,若不是,利用数据的有序性,可以决定所找的数是在选定数之前还…

查找算法之折半查找

查找算法之折半查找 折半查找算法的思路 首先查找的关键字在有序的查找表内, 这是折半查找的前提.(我们假设查找表内元素升序排列)确定查找表中的范围,一般用两个下标来表示范围: left 0,right length -1利用给定的关键字和查找表中的中间位置(mid (leftright)/2)的元素比较…

数据结构-折半查找法的ASL计算

(1)通常用查找过程中对关键字的比较次数 作为衡量算法效率优劣的标准。 (2)平均查找长度—ASL,相当于时间复杂度分析时的f(n)函数。 (3)考研的一个考点。 (4)ASL求解的关…

用折半查找法(二分查找),实现查询数组中的元素

折半查找法 折半搜索(英语:half-interval search),也称二分搜索(英语:binary search)、对数搜索(英语:logarithmic search),是一种在有序数组中查…

算法篇——二分查找法(折半查找法)

二分查找法(折半查找法):查找数组中是否包含指定元素。如果包含指定元素,则返回指定元素的index(从0开始);如果不包含指定元素,则返回-1; 前提:数组中的元素必须是有序的。 原理&…