Mathematica 矩阵的LU分解
6月7日更新:
LUDecomp[m_]:=Block[{l,u,n},
n=Dimensions[m][[1]];l=IdentityMatrix[n];u=ConstantArray[0,{n,n}];u[[1]]=m[[1]];
Do[l[[r+1;;n,r]]=(m[[r+1;;n,r]]-l[[r+1;;n,;;r-1]].u[[;;r-1,r]])/u[[r,r]];
u[[r+1,r+1;;n]]=m[[r+1,r+1;;n]]-l[[r+1,;;r]].u[[;;r,r+1;;n]];,{r,1,n-1}];{l,u}]
提高了计算效率几百倍,原本for循环的效率太低了
附老外的算法(真的短....):
LU[mat_]:=Module[{n,L,U},
n=Length@mat;L=IdentityMatrix[n];U=mat;
Do[L[[k;;n,k]]=U[[k;;n,k]]/U[[k,k]];
U[[(k+1);;n,k;;n]]-=L[[(k+1);;n,{k}]].U[[{k},k;;n]],{k,1,n-1}];{L,U}]
—————————原内容—————————
虽然有自带的函数,但是那个函数会进行行变换,所以我又自己写了一个
LUDecomp[m_]:=Block[{lu,n},
n=Dimensions[m][[1]];
lu=ConstantArray[0,{n,n}];
For[r=1,r<=n,r++,
For[i=r,i<=n,i++,lu[[r,i]]=m[[r,i]]-Sum[lu[[r,k]]*lu[[k,i]],{k,1,r-1}]];
For[i=r+1,i<=n,i++,lu[[i,r]]=(m[[i,r]]-Sum[lu[[i,k]]*lu[[k,r]],{k,1,r-1}])/lu[[r,r]]];
];
lu
]
返回结果中L和U是在一起的,L是结果的下三角部分,U是上三角部分
LowerTriangularize[%,-1]+IdentityMatrix@Dimensions@%
UpperTriangularize[%%]
Mathematica 矩阵的LU分解相关推荐
- matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)
最近由于数值分析实验课要求,需要通过matlab实现矩阵的LU分解.但是看了很多网友写的程序,基本上都是通过循环嵌套循环来实现矩阵的LU分解.略感琐碎,因此最近两天便一直在思考能否利用矩阵的乘v法,来 ...
- 矩阵的LU分解初步:一个对角线上元素非零的方阵
上一篇我们对下三角矩阵的求解给出了一个方便的求解,利用消元代入可以在Θ(N2)\Theta(N^2)Θ(N2) 的时间内完成,对于上三角矩阵,我们仍然可以利用类似的方法在相同的时间内求解. 对于一个非 ...
- 矩阵的LU分解,LU分解的推广,LU分解有什么意义,为什么要用LU分解。
一点点数学!开干! 参考书籍:<矩阵分析与计算>李继根 张新发编著 矩阵的LU分解: LU分解定理:如果n阶方阵A的各阶顺序主子式≠0(K=1.2.3,-,n),即A的各阶顺序主子式矩阵都 ...
- 怎样用matlab做矩阵的LU分解,矩阵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 ...
- 线性代数:矩阵的LU分解
矩阵的LU分解 基础公式 示例说明 2x2 矩阵情况 3x3 矩阵情况 本节是网易公开课上的麻省理工大学线性代数课程第四节: A的LU分解 的学习笔记. 本篇主要讲解 矩阵的LU分解. 矩阵的LU分解 ...
- MIT线性代数笔记四 矩阵的LU分解
文章目录 1. 矩阵的LU分解 2. 消元法所需运算量 3. 行互换 Row exchanges 本节的主要目的是从矩阵的角度理解高斯消元法,最后找到所谓的 LLL矩阵,使得矩阵 AAA可以转变为 ...
- 两矩阵相乘的秩的性质_MIT—线性代数笔记04 矩阵的LU分解
第04讲 矩阵的LU分解 Factorization into A=LU 04 A的LU分解v.youku.com 本节的主要目的是从矩阵的角度理解高斯消元法,最后找到所谓的L矩阵,使得矩阵A可以转 ...
- 施密特正交化c语言,C语言实现矩阵的LU分解、施密特正交化、Givens分解、Householder分解...
<C语言实现矩阵的LU分解.施密特正交化.Givens分解.Householder分解>由会员分享,可在线阅读,更多相关<C语言实现矩阵的LU分解.施密特正交化.Givens分解.H ...
- Matlab与线性代数--矩阵的LU分解
本图文详细介绍了Matlab中有关矩阵LU分解的操作.
- 三阶矩阵的lu分解详细步骤_数学 - 线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件...
线性代数导论 - #4 矩阵分解之LU分解的意义.步骤和成立条件 目前我们用于解线性方程组的方法依然是Gauss消元法.在Gauss消元法中,我们将右侧向量b与A写在一起作为一个增广矩阵进行同步的操作 ...
最新文章
- Hadoop运维记录系列(十)
- python进程实例
- [SCOI2007] 修车(费用流 + 差分时间段建图)
- GEO2R/GEOquery的结果可能是错的!!!
- mysql udf禁用_如何禁用 mysql 的 udf 功能
- 4000多人全靠报表自动化,效率提高60%,这套数据平台方法论真强
- 2018阿里文学春招面试题
- ASP.NET 页面传值方法的一些事情儿。
- 【CF1355E】Restorer Distance(整数三分)--附整数/浮点三分模板
- Android 蓝牙手柄开发
- 全网首发Modown主题8.31开心版
- 2021-05-22 黑板异或游戏
- Python实现地图四色原理的遗传算法(GA)着色实现
- 帮转|腾讯云市场新版上线:大不同
- 连接redis服务器提示:Redis Client On Error Error connect ECONNREFUSED 127.0.0.16380 Config right
- Xilinx Alveo加速卡开发入门
- [MRCTF2020]keyboard
- iWO(联通3G详单及套餐使用情况查询工具)更新至v0.6
- L289N步进电机驱动原理
- js数组遍历的方法的一些细节
热门文章
- Mysql官方接口中文解释
- resin 系统日志_resin 日志
- python十六进制转为二进制_Python进制转换(二进制、十进制和十六进制)
- 第21期状元简讯:自贸区首个跨境电商平台将上线
- 最新席瓦莱恩服务器人口比例,2021魔兽世界怀旧服3月人口普查_最新怀旧服3月人口普查数据一览_3DM网游...
- 朴素贝叶斯模型进行垃圾邮件分类
- 用文本挖掘剖析近5万首《全唐诗》
- 工控领域国际品牌的市场兼并
- 用c语言软件制作监察病毒,弄了个病毒。用的是C语言,大家看看!
- pionner软件操作笔记