前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现所有算法-矩阵的LU分解

Python实现所有算法-矩阵的LU分解

作者头像
云深无际
发布2022-08-05 11:40:21
7620
发布2022-08-05 11:40:21
举报
文章被收录于专栏:云深之无迹云深之无迹

Python实现所有算法-二分法

Python实现所有算法-力系统是否静态平衡

Python实现所有算法-力系统是否静态平衡(补篇)

Python实现所有算法-高斯消除法

Python实现所有算法-牛顿-拉夫逊(拉弗森)方法

Python实现所有算法-雅可比方法(Jacobian)

大家不要愁,数值算法很快就会写完,之后会写一些有趣的算法。前面的文章里面写了一些常见的数值算法,但是却没有写LU分解,哎呦不得了哦!主要的应用是:用来解线性方程、求反矩阵或计算行列式。

写这篇文章的时候是在晚上,顺手打开网易云:

看到版权回归

赶紧点一首蓝莲花

顺手也会看看评论区,有段时间挺排斥这个东西,因为感觉无病呻吟,但是后来我又觉得,孤独的人们因为一首歌相聚于此,述说着自己的小小情绪,网易当时为什么会在国内这么多的音乐软件里面脱颖而出,其实就是加进来的社交属性。从此之后,音乐便有了一些不一样的东西。

大家也可以去围观我,哈哈哈哈,我也算是老村民了

扫码直达

大概就是14,15年的时候,我使用酷我音乐,我其实只喜欢它开屏的封面,我每天都会认真的截图。

就像这样

一句话就是一个故事

而我是那个收集故事的人,曾幻想和喜欢的姑娘表白的时候集齐千张封面来一场浪漫的表白,可惜了,万物来去都有它的时间,错过就是错过。

当时要是开窍,也不至于此

啧,忘了,我是写矩阵分解的。

无解

LU分解在本质上是高斯消元法的一种表达形式在应用上面,算法就用来解方程组。

实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵(有时是它们和一个置换矩阵的乘积)。

这些行变换的效果等同于左乘一系列单位下三角矩阵,这一系列单位下三角矩阵的乘积的逆就是L矩阵,它也是一个单位下三角矩阵。这类算法的复杂度一般在(三分之二的n三次方) 左右。

这个转换的过程这正是所谓的杜尔里特算法(Doolittle algorithm):也就是从下至上地对矩阵A做初等行变换,将对角线左下方的元素变成零。

消元法将方程组中的一方程的未知数用含有另一未知数的代数式表示,并将其代入到另一方程中,这就消去了一未知数,得到一解;或将方程组中的一方程倍乘某个常数加到另外一方程中去,也可达到消去一未知数的目的。消元法主要用于二元一次方程组的求解。

核心操作:

1)两方程互换,解不变;

2)一方程乘以非零数k,解不变;

3)一方程乘以数k加上另一方程,解不变。

自己看图,以及下三角的对角元素都是1

  1. 矩阵是方阵(LU分解主要是针对方阵);
  2. 矩阵是可逆的,也就是该矩阵是满秩矩阵,每一行都是独立向量;
  3. 消元过程中没有0主元出现,也就是消元过程中不能出现行交换的初等变换。
  4. 对于满秩矩阵A来说,通过左乘一个消元矩阵,可以得到一个上三角矩阵U。L实际上就是消元矩阵的逆,容易知道二阶矩阵的逆。
  5. 在线性代数中已经证明,如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的。

我们知道一个算法使用起来是不是正确需要考虑矩阵本身的特性。上面就是满足LU分解矩阵的特点。

LU分解有这些特点:

(1)LU分解与右端向量无关。先分解,后回代,分解的运算次数正比于n^3,回代求解正比于n^2。遇到多次回代时,分解的工作不必重新做,这样节省计算时间。

(2)分解按步进行,前边分解得到的信息为后边所用。

(3)[A]矩阵的存储空间可利用,节省存储。

所谓的节省空间是:L和U中的三角零元素都不必存储,这样只用一个n阶方阵就可以把L和U存储起来。后面的值可以使用前面的值推导出来。

当系数矩阵A完成了LU分解后,方程组Ax = b就可以化为L(Ux) = b,等价于求解两个方程组Ly = b和Ux = y;

计算的公式

这个可能看起来不直观:

比如一个三阶的矩阵消元是这样的

这样

对于LU的分解是表示成这样

注意:求消元的初等变换阵的逆矩阵只要把对应的数变号

解Ax=b变为LUx=b,所以先解Ly=b再解Ux=y

实现,函数体参数只要一个N维数组就行,输出元组,L和U

使用起来是这样的

我们一直在说,方阵才可以分解,所以一开始要判断是不是方的

一开始是建立两个空白的数组。从行开始计算:

每次都会进去,进行一下矩阵乘法

那么下三角的对角线都有1

接下来是上三角的构建

OK,最后是输出

今天的内容很简单。

最近又变瞎了不少去验光,原来机器都这么方便了,是我土狗了

此外,配镜的时候还有蔡司的镜片,果然最贵

鬼鬼祟祟的掏出我的小相机,边上有个logo

这个价格让人看的激情澎湃的,我决定了,等我有钱一定搞一副

至于为什么这么贵,里面说是有这些屌屌的技术

也有眼动技术的存在

这个我觉得很有趣,如何配眼镜的过程

不过我的度数都涨了50,妈的,成年人都这样了。。。其实我知道就涨了,因为看屏幕有点模糊。大家注意用眼习惯哇,不要长时间看近处的东西,以及在对比度强的环境下用眼,以及不要躺着玩手机,看书。否则就会成为我的度数,两个眼睛相差2倍。。。

不知所措

代码语言:javascript
复制
https://www.bilibili.com/read/cv9476546/?ivk_sa=1024320u
代码语言:javascript
复制
https://huaban.com/pins/726405456
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档