记得上一期的高斯消元吗,现在把它写成矩阵相乘的形式:
通过不断的左乘Ln矩阵就可以起到这样的效果,每乘一个就可以消掉一行,总共要n-1次。
这里思考一个问题:L的逆矩阵是怎么样的?:
这样我们就可以把A变成LU,通过推理过程我们也可以看到这个L和U是唯一的,L是下三角,U是上三角。L的每个元素(lij)都是这样算的:lij=aij/ajj(原矩阵的i行j列除以j行j列),U不是直接抄A,第一行是和A一样的,第二行是运算过一次的A...以此类推,这都可以用L-1A=U来推。
这里注明一下,i阶顺序主子式就是A的前i行i列组成的行列式。我们可以看到,L要通过aij/ajj得到,那么ajj必须总不是0,要怎样才能做到呢?就是要顺序主子式都不为零。证明省略。
还有一个小推论:
可见这个方法有严重问题:
左边乘的那个就是行变换了的单位矩阵。
这一步是显而易见的。
由于L和U性状很好,得出的结果也会比较简洁。
先求U,再求L。U求行,L求列。
例子:
因此,直接分解法的流程就是先分成L,U,再计算LY=b,求出Y,再通过UX=Y,求出X。
接下来是crount方法,和上面的差不多:
平方根法:
看起来很复杂,其实算起来就很简单。
这些如果不记得了可以现场推。
追赶法:
对角占优就是中间的那一条线最大,比两边加起来都大。
其实就是直接分解法,但在这种情况下会比较简单。
矩阵的条件数和误差分析:
先看只考虑b误差的情况。
两条杠的意思是范数,算法很多。
再考虑b精确A误差。
那二者皆有怎么办?:
易知cond和矩阵范数的取法有关(取法不一定)。