intro:高斯消去法的矩阵解释
高斯消元法是求解线性方程组的一种重要方法。通过观察高斯消元的过程,我们可以发现一个重要特点:矩阵A经过一系列初等行变换后变成上三角矩阵U。
实际上,任何非奇异矩阵A都可以分解成一个下三角矩阵L和一个上三角矩阵U的乘积:
这种分解方法就是三角分解法(也称LU分解)。
- 高斯消元过程中的每一步消元运算,实际上都对应着将矩阵A与倍加矩阵的乘积
对于n阶矩阵,第i行加上第j行的k倍的倍加矩阵的一般形式为:
其中第i行第j列的元素为k,其余非对角线元素为0,对角线元素为1。
- 这些初等矩阵的逆矩阵的乘积就构成了下三角矩阵L
- 最终得到的上三角矩阵就是U


LU的求解
下面给出如下通用表达式:
对于U的上三角部分(1 ≤ i ≤ j ≤ n):
对于L的下三角部分(1 ≤ j < i ≤ n):
对于L的对角线元素(i = 1,2,...,n):
这个通式很抽象、、也很难用语言表述计算过程,动手算一遍就知道了
通用表达式说明
计算顺序:
- 计算第一行的所有u1j(j = 1,2,...,n)
- 计算第一列的所有li1(i = 2,3,...,n)
- 按照行列顺序依次计算剩余元素
注意:这个推导过程假设了所有主元不为零(即uii ≠ 0,i = 1,2,...,n)。在实际计算中,如果遇到主元为零,需要进行适当的行交换。
LU变换完成之后,y就直接算出来了
给定方程组Ax=b,其中:
使用公式进行计算:

第一步计算结果:
其中:

继续矩阵计算的第二步和第三步:
第二步计算结果:

第三步计算结果:

利用LU求解方程
将方程Ax=b改写为LUx=b后,可以分两步求解:
- 先解Ly=b(y是中间变量)
- 再解Ux=y
具体过程如下:
第一步:解Ly=b
由于L是下三角矩阵,可以使用前代法求解:
第二步:解Ux=y
由于U是上三角矩阵,可以使用回代法求解:
这种方法的优点是:
- 一旦得到矩阵A的LU分解,对于同一个系数矩阵A和不同的b,只需要进行前代和回代运算,无需重复分解过程(因为LU都是上/下三角矩阵,可以直接求解,不需做任何变换)
- 计算过程简单,不需要进行复杂的矩阵运算
- 计算量比直接求逆矩阵要小得多
列主元三角分解法
在三角分解法中,与高斯消元法类似,在计算也可能遇到主元u₍ₖₖ₎为零的情况。这会导致:
- 无法继续进行分解(因为在计算l₍ᵢⱼ₎时需要除以u₍ⱼⱼ₎)
- 数值上非常小的主元也会导致计算结果的精度下降
三角分解法的列主元不如高斯消元法直观。
高斯法中,我们直接找到每行绝对值最大的第一个元素即可;
但是在三角分解法里,我们需要找到:剩下的行以何种顺序排列代入公式计算出的最大

引入一个新的量,实际上就是第二个公式的分子部分,也可以理解为第一个公式 的取值:

显然有:

把所有情况下计算得到的可能的全部罗列出来,找到绝对值最大的
