文档章节

矩阵的LU分解

千面人
 千面人
发布于 2016/12/08 22:27
字数 322
阅读 51
收藏 0
点赞 0
评论 0

矩阵的高斯消元法,通过行变换化成上三角阵。

可以表示为...E32E31E21A = U, 其中E表示行变换初等矩阵或消元矩阵,系数ij代表让A的ij位置变成0(暂不考虑行交换)

于是A = LU 其中L等于(...E32E31E21)的逆 编辑器不能用上下标写公式真是费劲 

而(...E32E31E21)取逆后,行变换互不干扰,计算L只需要把消元矩阵中的值取反放到相应位置上即可。(Eij的逆就是ij位置上的数取负号)

于是分解的计算过程伪代码如下:(只表达计算思路,不优化存储,返回结果等):

#从第一行到最后一行循环
for k from 1 to n:
    for i from k+1 to n:
        L[i][k] = A[i][k]/A[k][k]
        #对应的行相减
        row[i] -= L[i][k]*row[k]

#最后L下三角的数据(不包括对角线,对角线上都是1),A的上三角数据为U 为最终分解结果。

网上很多直接套公式,求单个位置上的数的算法,但必须要知道公式怎么来的,否则不好记忆。

公式如下图【1】:

 

【1】LU分解 - 百度百科

http://baike.baidu.com/link?url=FgR_JLQXZpkS1CPtC-ChvnRh_RtS7H-8Kktev5YEjS9TuEitEE6ZyivQVF8ntTkHx_CdkJpAmAj6xfNlmwPv_nDfKAPnpr5W2KN2YhIkb13

© 著作权归作者所有

共有 人打赏支持
千面人
粉丝 13
博文 43
码字总数 22299
作品 0
杭州
高级程序员
Armadillo之LU分解(LU factorisation/LU decomposition)

在armadillo库中,矩阵的LU分解(LU factorisation or LU decomposition)使用lu函数,lu函数有两个版本 1 lu(L,U,P,X) 其中X是欲进行分解的矩阵,分解生成L,U,P满足 1)P是一个置换矩阵(p...

桑梓狼狼
2014/08/01
0
0
基于javascript的矩阵LU分解的实现

在线性代数中,LU分解是将一个矩阵分解为 L(单位下三角矩阵)和 U(上三角矩阵),可用于求解线性方程组、反矩阵和计算行列式。本文结合LU分解,用javascript实现线性方程组的求解; 假设存...

qq_37338983
04/12
0
0
你知道MATLAB ,但你知道 NMATH吗?

NMath是一个.NET的数学库,包含了NET平台上的面向对象数字计算的基础类。 产品特点如下: 单精度和双精度复数类 为以下四种数据类型提供全功能的向量和矩阵类:单精度浮点数,双精度浮点数,...

愤怒的小吉
2014/10/24
360
0
Eigen 3.2.0-beta1 发布,线性算术的C++模板库

这个beta版本引入了内置的稀疏矩阵,和真正的QZ分解和广义特征求解稠密矩阵的LU和QR因子分解,以及Ref<>参考类。同时修复了一些bug。 Eigen 是一个线性算术的C++模板库,包括:vectors, matr...

zino
2013/03/08
894
6
SP++3.0已发布,欢迎大家使用(同心协力,共创开源)

SP++ (Signal Processing in C++) 是一个关于信号处理与数值计算的开源C++程序库,该库提供了信号处理与数值计算中常用算法的C++实现。SP++中所有算法都以C++类模板方法实现,以头文件形式组...

张明
2011/02/12
0
55
SP++3.0 发布,欢迎大家使用

消息来自 Jerry 的博客: SP++ (Signal Processing in C++) 是一个关于信号处理与数值计算的开源C++程序库,该库提供了信号处理与数值计算中常用算法的C++实现。SP++中所有算法都以C++类模板...

红薯
2011/02/12
4.5K
4
Lisp-Stat翻译 —— 第五章 统计函数

第五章 统计函数 Lisp-Stat里的一些统计函数已经在前几章里介绍了。这些函数的多数都是处理数值数据集的,表示为Lisp-Stat组合数据项。本章的第一节将介绍一些额外的函数用来检测复合数据和矢...

烟波
2014/05/07
0
0
5-机器学习启蒙- 商品推荐系统1

5- 商品推荐系统 github: https://github.com/mtianyan/graphLabStartedML 推荐商品 有大量的商品和用户,想要推荐一部分商品给用户。 怎么通过机器学习结合你和别人的历史购物记录做出适合你...

天涯明月笙
03/27
0
0
一步一步走向锥规划 - QP

一般来说凸优化(Convex Optimization, CO)中最一般的是锥规划 (Cone Programming, CP)问题, 前面我们介绍了点最小二乘(Least Square, LS)和线性规划(Linear Programming, LP)问题, 现在...

史春奇
2017/11/22
0
0
入行机器学习,对数学的要求高吗?

在过去的几个月里,我一直和一些人交流,他们已经开始切入数据科学领域并积极使用机器学习(ML)技术来探索统计规律、或构建完善的数据驱动产品。然而,我发现很多情况下统计分析结果不尽人意...

duozhishidai
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
12
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
1
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
0
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部