04-A的LU分解
一、矩阵$AB$的逆
$(AB)^{-1}=B^{-1}A^{-1}$,顺序正好相反
二、$A=LU$
如矩阵:
$\left[\begin{array}{ll}{2} & {1} \\ {8} & {7}\end{array}\right]$ =>消元=>$\left[\begin{array}{ll}{2} & {1} \\ {0} & {3}\end{array}\right]$
按照我们在第二讲所知,原始矩阵借助$E_{21}$可以实现矩阵的消元,即$E_{21}$ * $A$ = $U$:
$\left[\begin{array}{ll}{1} & {0} \\ {-4} & {1}\end{array}\right] * \left[\begin{array}{ll}{2} & {1} \\ {8} & {7}\end{array}\right]$ = $\left[\begin{array}{ll}{2} & {1} \\ {0} & {3}\end{array}\right]$
注意:这里是2 * 2 矩阵,所以只需要一个初等矩阵相乘即可,若是更大的方阵,则每次消元都需要初等矩阵左乘
而我们知道$A=LU$,那么这个$L$是什么呢?
$A=LU$
$E_{21}A=U$
第二个式子左右同时乘以$E_{21} ^{-1}$:
$A=E_{21} ^{-1}U$
所以这个$L$就是$E_{21} ^{-1}$,初等矩阵的逆矩阵好求,就是初等矩阵变一下符号而已(仅仅因为这里是2*2矩阵,如果3*3或者更大的矩阵,就不是这么简单了):
$L$=$E_{21} ^{-1}$=$\left[\begin{array}{ll}{1} & {0} \\ {4} & {1}\end{array}\right]$
这里只是以简单的2*2矩阵为例进行了讲解,$L$和$U$矩阵表示了下三角矩阵和上三角矩阵,过程如下:
$\left[\begin{array}{ll}{2} & {1} \\ {8} & {7}\end{array}\right]=\left[\begin{array}{ll}{1} & {0} \\ {4} & {1}\end{array}\right]\left[\begin{array}{ll}{2} & {1} \\ {0} & {3}\end{array}\right]$
即:$A = LU$
有时候会把主元摘出来:$A = LDU$
$\left[\begin{array}{ll}{2} & {1} \\ {8} & {7}\end{array}\right] = \left[\begin{array}{ll}{1} & {0} \\ {4} & {1}\end{array}\right]\left[\begin{array}{ll}{2} & {0} \\ {0} & {3}\end{array}\right]\left[\begin{array}{ll}{1} & {1/2} \\ {0} & {1}\end{array}\right]$
我们不能只停留在简单的2 * 2矩阵上,下面我们来处理更大的矩阵,比如3 * 3 矩阵:
$E_{32} E_{31} E_{21} A=U$(消元过程假设不需要进行行交换)
$A= E_{21}^{-1} E_{31}^{-1} E_{32}^{-1} U$
所以:$L= E_{21}^{-1} E_{31}^{-1} E_{32}^{-1}$
实例:
上面的求$L$的过程看起来很麻烦,先要计算三个消元矩阵,然后计算他们的逆,反顺序相乘,其实不然
对于初等矩阵,之前讲到过,它的逆只要把变换再还回去就是,比如矩阵:
$\left[\begin{array}{lll}{1} & {0} & {0} \\ {2} & {1} & {0} \\ {0} & {0} & {1}\end{array}\right]$
表示将某矩阵的第一行乘2加到第二行上(如果用它右乘某矩阵的话),那么这个操作的逆操作就是从第二行减去2倍的第一行就是了,所以它的逆矩阵就是:
$\left[\begin{array}{ccc}{1} & {0} & {0} \\ {-2} & {1} & {0} \\ {0} & {0} & {1}\end{array}\right]$
三、后半节需要再理解一下
04-A的LU分解的更多相关文章
- matlab 求解线性方程组之LU分解
线性代数中的一个核心思想就是矩阵分解,既将一个复杂的矩阵分解为更简单的矩阵的乘积.常见的有如下分解: LU分解:A=LU,A是m×n矩阵,L是m×m下三角矩阵,U是m×n阶梯形矩阵 QR分解: 秩分解 ...
- LU分解,Javascript代码
///A 为矩阵,这里写成一维数组,如 [1],[1,2,3,4] function GetLU(a) { var n = a.length;//矩阵的总数据数目 var s = Math.sqrt( ...
- matlab实现高斯消去法、LU分解
朴素高斯消去法: function x = GauElim(n, A, b) if nargin < 2 for i = 1 : 1 : n for j = 1 : 1 : n A(i, j) ...
- LU分解(2)
接着上次LU分解的讲解,这次给出使用不同的计算LU分解的方法,这种方法称为基于GaxPy的计算方法.这里需要了解lapapck中的一些函数.lapack中有一个函数名为gaxpy,所对应的矩阵计算公式 ...
- LU分解(1)
1/6 LU 分解 LU 分解可以写成A = LU,这里的L代表下三角矩阵,U代表上三角矩阵.对应的matlab代码如下: function[L, U] =zlu(A) % ZLU ...
- MATLAB矩阵的LU分解及在解线性方程组中的应用
作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...
- 线性代数笔记10——矩阵的LU分解
在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积).LU分解主要应用在数值分析 ...
- 矩阵分解---QR正交分解,LU分解
相关概念: 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0 正定矩阵:如果对于所有的非零实系数向量x ,都有 x ...
- 计算方法 -- 解线性方程组直接法(LU分解、列主元高斯消元、追赶法)
#include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib> ...
- 矩阵LU分解分块算法实现
本文主要描述实现LU分解算法过程中遇到的问题及解决方案,并给出了全部源代码. 1. 什么是LU分解? 矩阵的LU分解源于线性方程组的高斯消元过程.对于一个含有N个变量的N个线性方程组,总可以用高斯消去 ...
随机推荐
- 【错误记录】windows python 路径中的一个转义错误:'rawunicodeescape' codec can't decode bytes in position 112-113: truncated \uXXXX
ur"D:\work\结构化\CSV\useful\内容.csv" 报错 编码错误原因,当路径中有\u这种字串时,即使是包含在r"" 中也会进行转义,然后转义出 ...
- Kylin CDH安装
Kylin安装 从官网下载 apache-kylin-2.0.0-bin-cdh57.tar.gz 放到每台需要安装kylin 服务的机器 [hadoop@hadoop3 cdh5.12.0]$ su ...
- 国内4G频段划分
国内4G频段划分 2015年 4G网络建设如火如荼地进行,换手机大家几乎都买的4G手机,那么看到如下参数怎么知道手机所支持的网络呢? SIM 1:4G TDD-LTE:TD38/39/40/41: ...
- NDK undefined reference to 'rand'
NDK 编译 结果报错undefined reference to 'rand' 最怪异的是armeabi-v7a armeabi的情况下有问题 但是arm64-v8a编译正常,用网上说的添加头文件s ...
- java 栈和栈帧
文章转载自:http://www.tuicool.com/articles/URZrMnb jvm为每个新创建的线程都分配一个堆栈.堆栈以帧为单位保存线程的状态.jvm对堆栈只进行两种操作:以帧为单位 ...
- 什么是webpack以及为什么使用它
什么是webpack以及为什么使用它 新建 模板 小书匠 在ES6之前,我们要想进行模块化开发,就必须借助于其他的工具.因为开发时用的是高级语法开发,效率非常高,但很可惜的是,浏览器未必会支持或认识 ...
- c++ 指针类型转换
1.数据类型转换(static_cast) //数据类型转换printf("%d\n", static_cast<int>(10.2)); 2.指针类型转换(reint ...
- maven 配置参数详解!
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Octavia 创建 Listener、Pool、Member、L7policy、L7 rule 与 Health Manager 的实现与分析
目录 文章目录 目录 创建 Listener 创建 Pool 创建 Member CalculateDelta HandleNetworkDeltas AmphoraePostNetworkPlug ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_7.自定义Mybatis的编码-实现基于注解配置的查询所有
注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. ...