有如下方程组 ,当矩阵 A 各列向量互不相关时, 方程组有位移解,可以使用消元法求解,具体如下:

使用消元矩阵将 A 变成上三角矩阵

使用消元矩阵作用于向量 b,得到向量 c,

Ax=b 消元后变为 ,即 , 由于  为上三角矩阵, 使用回带法即可求解方程组。

对矩阵  做如下运算 。在消元过程中,已知 ,如何求解  呢? 表示将矩阵A的第二行乘以 1 再加上矩阵A的第三行得到矩阵B的第三行,矩阵B的第一二行于矩阵A的第一二行保持一致。根据语义, 表示将矩阵B的第二行乘以 -1 再加上矩阵B的第三行得到矩阵A的第三行,矩阵A的第一二行于矩阵B的第一二行保持一致。

通过以上观察, 仅需将对角线下元素相加即可得到,,在矩阵消元过程中,对消元系数取反,然后放在相应的位置即构成了 ,也就是 L 。同时,消元法记录下了 U,则有 Ux=c, b=Lc。

由于 L 为下三角矩阵,根据 Lc=b, 可求解 c;U 为上三角矩阵, 根据 Ux=c 可求解 x。

在消元过程中,如果遇到主元位置上为 0 情况时,需要使用行变换矩阵使消元过程得以继续,PAx=Pb,P为行变换矩阵,记录矩阵 L,U,P,可实现LU分解,过程如下:

有方程组 ,对矩阵  进行LU分解:

1), 

2)

3)由于  为 0,需要交换2,3行,则有:

, ,交换L矩阵中小于第二列下变换因子位置,即交换  与  元素位置;

4)由于 Lc=Pb, 可计算出 c:

, 

5)由于 Ux=c,可计算出 x:

参考资料 Linear Algebra And Its Applications   Gilbert Strang

矩阵LU分解的更多相关文章

  1. 矩阵LU分解的MATLAB与C++实现

    一:矩阵LU分解 矩阵的LU分解目的是将一个非奇异矩阵\(A\)分解成\(A=LU\)的形式,其中\(L\)是一个主对角线为\(1\)的下三角矩阵:\(U\)是一个上三角矩阵. 比如\(A= \beg ...

  2. 矩阵LU分解分块算法实现

    本文主要描述实现LU分解算法过程中遇到的问题及解决方案,并给出了全部源代码. 1. 什么是LU分解? 矩阵的LU分解源于线性方程组的高斯消元过程.对于一个含有N个变量的N个线性方程组,总可以用高斯消去 ...

  3. 矩阵LU分解程序实现(Matlab)

    n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=z ...

  4. 计算方法 -- 解线性方程组直接法(LU分解、列主元高斯消元、追赶法)

    #include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib> ...

  5. MATLAB矩阵的LU分解及在解线性方程组中的应用

    作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...

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

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

  7. 矩阵分解---QR正交分解,LU分解

    相关概念: 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0 正定矩阵:如果对于所有的非零实系数向量x ,都有 x ...

  8. 第五节、矩阵分解之LU分解

    一.A的LU分解:A=LU 我们之前探讨过矩阵消元,当时我们通过EA=U将A消元得到了U,这一节,我们从另一个角度分析A与U的关系 假设A是非奇异矩阵且消元过程中没有行交换,我们便可以将矩阵消元的EA ...

  9. matlab 求解线性方程组之LU分解

    线性代数中的一个核心思想就是矩阵分解,既将一个复杂的矩阵分解为更简单的矩阵的乘积.常见的有如下分解: LU分解:A=LU,A是m×n矩阵,L是m×m下三角矩阵,U是m×n阶梯形矩阵 QR分解: 秩分解 ...

随机推荐

  1. 自带排序 Array.sort()

    public static void main(String[] args) { int[] aa = {1, 5, 9, 7, 3, 1, 6, 3, 47}; Arrays.sort(aa); p ...

  2. spring cloud --- Ribbon 客户端负载均衡 + RestTemplate + Hystrix 熔断器 [服务保护] ---心得

    spring boot      1.5.9.RELEASE spring cloud    Dalston.SR1 1.前言 当超大并发量并发访问一个服务接口时,服务器会崩溃 ,不仅导致这个接口无法 ...

  3. PowerPoint2010实现折线图动态展示

    原文链接:https://www.toutiao.com/i6797629648881582596/ 我们经常会制作折线图表来表达一个过程的趋势变化,而如果让折线图动起来,会更加的生动.接下来我们将一 ...

  4. x86-3-段式管理(segmentation)

    x86-3-段式管理(segmentation) 3.1 段式管理概述: 从8086CPU开始,为了让程序在内存中能自由浮动而又不影响它的正常执行,CPU将内存划分成逻辑上的段来给程序使用. x86继 ...

  5. spring-data-jpa ----OneToMany 一对多

    环境搭建 导入依赖  maven3.6.3 <properties> <spring.version>5.2.5.RELEASE</spring.version> ...

  6. Java 异常分析

    Java 异常分析 本文是对以下内容的分析: Java异常设计 Java 异常分类 Java异常可以告诉什么问题 Java异常处理最佳实践 Java Exception 是为了处理应用程序的异常行为而 ...

  7. DASCTF-Sept-X-浙江工业大学秋季挑战赛-pwn-wp

    目录 DASCTF-Sept-X-浙江工业大学秋季挑战赛-pwn-wp 总结 datasystem check分析 漏洞点 利用思路 exp hehepwn 漏洞点 exp hahapwn 漏洞点 e ...

  8. 1月29日 体温APP开发记录

    1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.高德地图API下载获取key  

  9. ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)

    今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对ASP.NET 内联代码.内联表达式.数据绑定表达式的概念进行罗列,详细概念以及基本的用法我就不在这里罗嗦了,请 ...

  10. Ldap主从复制搭建

    LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写, LDAP协议的特点 读取速度远高于写入速度. 对查询做了优化,读取速度优于普通关系数据 ...