intro:高斯消去法的矩阵解释

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

LU的求解

下面给出如下通用表达式:
对于U的上三角部分(1 ≤ i ≤ j ≤ n):
对于L的下三角部分(1 ≤ j < i ≤ n):
对于L的对角线元素(i = 1,2,...,n):
💡
这个通式很抽象、、也很难用语言表述计算过程,动手算一遍就知道了

通用表达式说明

计算顺序:
  1. 计算第一行的所有u1j(j = 1,2,...,n)
  1. 计算第一列的所有li1(i = 2,3,...,n)
  1. 按照行列顺序依次计算剩余元素
注意:这个推导过程假设了所有主元不为零(即uii ≠ 0,i = 1,2,...,n)。在实际计算中,如果遇到主元为零,需要进行适当的行交换。

LU变换完成之后,y就直接算出来了

给定方程组Ax=b,其中:
使用公式进行计算:
notion image
第一步计算结果:
其中:
notion image
继续矩阵计算的第二步和第三步:
第二步计算结果:
notion image
第三步计算结果:
notion image

利用LU求解方程

将方程Ax=b改写为LUx=b后,可以分两步求解:
  1. 先解Ly=b(y是中间变量)
  1. 再解Ux=y
具体过程如下:

第一步:解Ly=b

由于L是下三角矩阵,可以使用前代法求解:

第二步:解Ux=y

由于U是上三角矩阵,可以使用回代法求解:
这种方法的优点是:
  • 一旦得到矩阵A的LU分解,对于同一个系数矩阵A和不同的b,只需要进行前代和回代运算,无需重复分解过程(因为LU都是上/下三角矩阵,可以直接求解,不需做任何变换)
  • 计算过程简单,不需要进行复杂的矩阵运算
  • 计算量比直接求逆矩阵要小得多

列主元三角分解法

在三角分解法中,与高斯消元法类似,在计算也可能遇到主元u₍ₖₖ₎为零的情况。这会导致:
  • 无法继续进行分解(因为在计算l₍ᵢⱼ₎时需要除以u₍ⱼⱼ₎)
  • 数值上非常小的主元也会导致计算结果的精度下降
三角分解法的列主元不如高斯消元法直观。
高斯法中,我们直接找到每行绝对值最大的第一个元素即可;
但是在三角分解法里,我们需要找到:剩下的行以何种顺序排列代入公式计算出的最大
notion image
引入一个新的量,实际上就是第二个公式的分子部分,也可以理解为第一个公式 的取值:
notion image
显然有:
notion image
💡
把所有情况下计算得到的可能的全部罗列出来,找到绝对值最大的

notion image
 
Loading...