0
点赞
收藏
分享

微信扫一扫

北航生医数值分析学习心得3

ZMXQQ233 2022-03-26 阅读 40
算法矩阵

第四章:线性方程组的直接解法

      这一章和下一章主要是关于线性方程组的一些解法,大家线代好像也学过点简单的。在直接解法这章,就概念和方法的理解上其实也没有什么困难,高斯消去法甚至中学就了解过,本章后半部分主要根据对矩阵本身的理解进行分解便于计算。在本章的学习建议中,比较重要的还是提高熟练度,不要死记公式,笔算的部分其实一般不超过四阶,应该回归到分解的本质上,理解“为什么这么分解”,写出此类分解的特征形式后回归矩阵本身,用把分解的矩阵相乘等于原矩阵的思想解出分解矩阵的未知部分。

        顺序高斯消去法和列选主元高斯消去法本质上应该是一样的,主要是考虑到第一章提到的“原则”,我们不希望把数乘的太小,这样很可能导致精度的损失,试想极限情况如果对角元素为0时,后面甚至就没办法进行消去了,所以为了避免这种情况我们在每次操作时是通过行交换把当前列(绝对值)最大元素作为“主元”,这样后续操作都是对元素的“放大”而不是“缩小”。后面提到对称正定和严格对角占优实际上是比较严苛的条件了,就是你顺序算也能保证每次都是最大的在对角元素。当然在实际运算中有一些会要求你保留几位小数,那么这种情况你应该分解每一步加减乘除运算,特别是这步要算成小数,不要习惯性用分数表示保留精度了。

        重新回顾这个消去法的过程,我们在做一件什么事呢,就是通过一些行的加减最终化成一个三角阵易于得出结果,用大一线代知识容易知道这些变换过程可以用一系列矩阵乘来表示,把那些变换的矩阵乘起来命名为矩阵L,原来的上三角阵为U,则我们做了一个矩阵分解的操作,这也就是三角分解法,它的好处在于L和U都是三角阵,我们比较好算。

        原理不太难,思路也还是很清晰的,ppt上也有每个位置的公式表达,具体操作上如果大家能用熟公式就多多练习,这边我大致说说我一般的做法吧,本质和公式一样的,基于矩阵乘法。首先大家可以先把L矩阵的对角元素写上,都是1也比较简单,因为L是下三角矩阵,所以原矩阵A的第一行元素就是1乘上U的第一行元素,也就是u1j=a1j的原因;又由于U是上三角矩阵,所以A的第一列元素是L的第一列元素乘上U的第一个元素u11,这也是为什么。之后我们知道要先求u2j然后求,这边具体求的时候当作解方程,等于你知道值aij求未知数u或者,但是可能有的同学说要是记不住顺序怎么办,其实如果你一直都是用矩阵乘法这种想法结的话是会发现只有这个顺序是可以解的~

        实际操作一下,就用ppt上的矩阵A=,第一步我们要比较熟练的写出。然后我们要求u2j,我们就要看着a2j这几个数4,9,16,然后也就是2+u22=4一个简单方程可以知道u22=2,另外本来a23是三组数相乘相加才能求得的,但是也是这种分解的特性,L是下三角阵,所以依然用两组数就好了,可以简单求得u23=6,u24=12;在填满了U的第二行后我们填满L的第二列元素,要填哪个位置的元素就对应看A的对应元素,比如求l32我们就列方程解a32,然后发现由于U下三角阵也只有两组数相乘相加了,也就是,可以求出,同理也可以求出;后面的过程就不再赘述了,用矩阵乘法把剩下的求完,具体操作其实不是很难的。L=和U=分解完后面具体求解感觉不是难点就大家自己做熟练就好~

        平方根对应对称正定矩阵的分解,分析过程还是挺有意思的,大家可以看看ppt,具体应用也是记住基本形式,这个最大的特点是分解货的上下三角矩阵正好是对称的,所以具体操作时参数求一半就好了,毕竟我刚刚提的一些思路是基于矩阵乘法,这个显然也是适用的。具体操作也是上三角阵一行一行求就好了,不过要注意这时所谓的不是直接等于1了,也就是所谓的u1j不一定等于a1j了,具体大家仔细看看就好。

        追赶法是另一种矩阵有特殊特点时的便捷分解方式(大部分都是0),大家记住分解的基本形式(事实上这个到时候也开卷就是了…),然后还是U按行分别求再L按列求,多练几次熟练就好。

举报

相关推荐

0 条评论