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

article/2025/8/23 19:53:38

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

什么是LU分解

  如果有一个矩阵A,将A表示成下三角矩阵L和上三角矩阵U的乘积,称为A的LU分解。

 

  更进一步,我们希望下三角矩阵的对角元素都为1:

 

  一旦完成了LU分解,解线性方程组就会容易得多。

LU分解的步骤

  上一章讲到,对于满秩矩阵A来说,通过左乘一个消元矩阵,可以得到一个上三角矩阵U。

  可以看到,L实际上就是消元矩阵的逆。容易知道二阶矩阵的逆:

 

  现在假设A是一个3×3矩阵,在不考虑行交换的情况下,通过消元得到上三角矩阵的过程是:

 

LU 分解的前提

  并非所有矩阵都能进行LU分解,能够LU分解的矩阵需要满足以下三个条件:

  1. 矩阵是方阵(LU分解主要是针对方阵);
  2. 矩阵是可逆的,也就是该矩阵是满秩矩阵,每一行都是独立向量;
  3. 消元过程中没有0主元出现,也就是消元过程中不能出现行交换的初等变换。

LU分解的意义

  LU分解的意义在于求解大型方程组。一个方程组可以简化为Ax = b的形式,其中A是n阶方阵,x是未知数组成的向量,b是n×1矩阵,例如:

  以往求解的方式有两种,一是高斯消元法,二是对A求逆,使得x = A-1b。第二种方式远比消元法复杂,先看一下消元法的计算量。假设A是n阶满秩方阵,如果不写成增广矩阵,即不考虑 b,那么第一次消元达到的效果是:

 

  其中方块是A原来的元素,0是达到的效果,三角是经过消元运算后改变的元素。以第二行为例,为了使第一个元素为0,需要让第一行乘以某个数(第一行n个元素,共进行了n次乘法运算),再将第一行和第二行相加或相减(第二行n个数与第一行的n个数相加,共进行了n次加法运算)。如果把一组乘法和加法看成一次运算,那么第二行的消元共进行了n次运算;共有n-1行需要类似运算,所以第一次消元共进行了n(n - 1) ≈ n2 次运算。依次类推,第二次消元共进行了(n - 1)(n - 2) ≈ (n - 1)2 次运算……消元到最后,变成了上三角矩阵U,总运算次数是:

  经过约n3/3次运算后可以得到上三角矩阵U,由于是增广矩阵,所以可以逐步求解x。

  LU分解的运算过程和高斯消元类似,首先经过n3/3次运算将A变成LU,使Ax = b变成(LU)x = L(Ux) = b,再对L求逆,使得Ux = L-1b,最后求解。

  看起来比高斯消元经历了更多的步骤,那为什么又说LU分解更快呢?在实践中,b是输出,输出又经常变动,从Ax = b频繁地变成Ax = b’,此时高斯消元就需要全部重新计算(高斯消元用增广矩阵消元,变化过程是[A, b]→[U, b’]),这对大型矩阵来说及其耗时。反观LU分解,因为它不依赖于b,所以计算一次后就可以存储U和L-1,在输出变化后也只是需要简单的相乘。实际上,由于L已经是整理过的斜对角全是1的下三角矩阵,所以用高斯-诺当消元法对L求逆非常简单。

允许行交换

  对于A = LU,我们之前限制了行的互换,但如果不可避免的必须进行行互换,只需要把A = LU变成 PA = LU就可以了,其中P是置换矩阵。实际上所有的A = LU都可以写成PA = LU的形式,当A没有行互换时,P就是单位矩阵。上一章叙述了置换矩阵的性质,P-1 = PT,所以A = P-1LU = PTLU

 示例

  

  如果A存在LU分解存,a,b满足什么条件?

  使用消元法逐一消去主元:

  由于E31 中出现了 –b/a,所以a ≠ 0

  b可以是任意常数。

 

 


   作者:我是8位的

  出处:http://www.cnblogs.com/bigmonkey

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途! 

  扫描二维码关注公众号“我是8位的”


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

相关文章

线性代数——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; 前提:数组中的元素必须是有序的。 原理&…

经典算法之折半查找法

活动地址:21天学习挑战赛 目录 一、 算法 概述 算法过程 二、代码实践 三、复杂度分析 时间复杂度 空间复杂度 四、优缺点分析 优点 缺点 一、 算法 概述 折半查找( Binary Search )也称二分查找,它是一种效率较高的查找方法。但是&#xff…

查找——1、折半查找法

1、折半查找又称为二分查找,是一种效率较高的查找方法。 2、折半查找的前提条件: 查找表中的所有记录是按关键字有序(升序或降序) 。 查找过程中,先确定待查找记录在表中的范围,然后逐步缩小范围(每次将待查记录所在区间缩小一半…