大家不要愁,数值算法很快就会写完,之后会写一些有趣的算法。前面的文章里面写了一些常见的数值算法,但是却没有写LU分解,哎呦不得了哦!主要的应用是:用来解线性方程、求反矩阵或计算行列式。
写这篇文章的时候是在晚上,顺手打开网易云:
看到版权回归
赶紧点一首蓝莲花
顺手也会看看评论区,有段时间挺排斥这个东西,因为感觉无病呻吟,但是后来我又觉得,孤独的人们因为一首歌相聚于此,述说着自己的小小情绪,网易当时为什么会在国内这么多的音乐软件里面脱颖而出,其实就是加进来的社交属性。从此之后,音乐便有了一些不一样的东西。
大家也可以去围观我,哈哈哈哈,我也算是老村民了
扫码直达
大概就是14,15年的时候,我使用酷我音乐,我其实只喜欢它开屏的封面,我每天都会认真的截图。
就像这样
一句话就是一个故事
而我是那个收集故事的人,曾幻想和喜欢的姑娘表白的时候集齐千张封面来一场浪漫的表白,可惜了,万物来去都有它的时间,错过就是错过。
当时要是开窍,也不至于此
啧,忘了,我是写矩阵分解的。
无解
LU分解在本质上是高斯消元法的一种表达形式在应用上面,算法就用来解方程组。
实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵(有时是它们和一个置换矩阵的乘积)。
这些行变换的效果等同于左乘一系列单位下三角矩阵,这一系列单位下三角矩阵的乘积的逆就是L矩阵,它也是一个单位下三角矩阵。这类算法的复杂度一般在(三分之二的n三次方) 左右。
这个转换的过程这正是所谓的杜尔里特算法(Doolittle algorithm):也就是从下至上地对矩阵A做初等行变换,将对角线左下方的元素变成零。
消元法将方程组中的一方程的未知数用含有另一未知数的代数式表示,并将其代入到另一方程中,这就消去了一未知数,得到一解;或将方程组中的一方程倍乘某个常数加到另外一方程中去,也可达到消去一未知数的目的。消元法主要用于二元一次方程组的求解。
核心操作:
1)两方程互换,解不变;
2)一方程乘以非零数k,解不变;
3)一方程乘以数k加上另一方程,解不变。
自己看图,以及下三角的对角元素都是1
我们知道一个算法使用起来是不是正确需要考虑矩阵本身的特性。上面就是满足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倍。。。
不知所措
https://www.bilibili.com/read/cv9476546/?ivk_sa=1024320u
https://huaban.com/pins/726405456