LA高斯消元法

高斯消元法

  • 我们以方程组1为例辅助讨论

  • 2 x 1 − x 2 − x 3 + x 4 = 2 x 1 + x 2 − 2 x 3 + x 4 = 4 4 x 1 − 6 x 2 + 2 x 3 − 2 x 4 = 4 3 x 1 + 6 x 2 − 9 x 3 + 7 x 4 = 9 \begin{aligned} 2x_1-x_2-x_3+x_4=&2\\ x_1+x_2-2x_3+x_4=&4\\ 4x_1-6x_2+2x_3-2x_4=&4\\ 3x_1+6x_2-9x_3+7x_4=&9 \end{aligned} 2x1x2x3+x4=x1+x22x3+x4=4x16x2+2x32x4=3x1+6x29x3+7x4=2449

线性方程组通解变换

  • 对线性方程组中的任何一个方程两侧乘以非零常数 k k k,不改变方程组的解
  • 将第 i i i个方程乘以任意倍数后加到第 j j j个方程,不改变方程组的解
  • 将第 i i i个方程和第 j j j个方程对换位置,不改变方程组的解
  • 上述三种操作简称初等变换操作,属于可逆变换,显然不改变被变换方程组的解,因此属于通解变换
  • 因此我们可以利用这三种最基本的变换将线性方程组变换消元成更容易求解的形式
  • 这种形式称为阶梯形方程组因为这种形式容易执行所谓的回代过程,分别介绍如下

消元

  • 消元过程:将原方程组化为阶梯形方程组的过程称为消元过程

  • 例如以下方程组是方程组1经过初等变换后得到的方程组2,就是一个阶梯形方程组,

  • 其特点是方程组的增广矩阵 i i i行的主元(首非零元)所在的列号 j i j_i ji满足 j i < j i + 1 j_i<j_{i+1} ji<ji+1, i = 1 , ⋯   , n − 1 i=1,\cdots,n-1 i=1,,n1, n n n表示线性方程组包含的未知数个数

    • 方程组2

    • x 1 + x 2 − 2 x 3 + x 4 = 4 x 2 − x 3 + x 4 = 0 x 4 = − 3 0 = 0 \begin{aligned} x_1+x_2-2x_3+x_4=&4\\ x_2-x_3+x_4=&0\\ x_4=&-3\\ 0=&0 \end{aligned} x1+x22x3+x4=x2x3+x4=x4=0=4030

    • ( 1 1 − 2 1 4 0 1 − 1 1 0 0 0 0 1 − 3 0 0 0 0 0 ) \begin{pmatrix} 1&1&-2&1&4\\ 0&1&-1&1&0\\ 0&0&0&1&-3\\ 0&0&0&0&0 \end{pmatrix} 10001100210011104030

阶梯宽度和阶梯层数

  • 为了方便讨论,这我们定义一个概念,阶梯宽度,阶梯形矩阵( m × n m\times{n} m×n)的第 i i i个行的阶梯的宽度记为 w ( i ) w(i) w(i)
    • w ( i ) = j i − j i + 1 w(i)=j_i-j_{i+1} w(i)=jiji+1;
    • 其中 j i j_i ji为各行的首非零元所在列号,如果没有非零元素,则定义为 n + 1 n+1 n+1
    • 为了能够计算 w ( n ) w(n) w(n),我们虚拟 w ( m + 1 ) = n + 1 w(m+1)=n+1 w(m+1)=n+1
    • 例如方程组2: w ( 1 ) = 2 − 1 = 1 w(1)=2-1=1 w(1)=21=1, w ( 2 ) = 4 − 2 = 2 w(2)=4-2=2 w(2)=42=2, w ( 3 ) = 6 − 4 = 2 w(3)=6-4=2 w(3)=64=2, w ( 4 ) = 6 − 6 = 0 w(4)=6-6=0 w(4)=66=0
  • 阶梯层数定义为 ∑ w ( i ) ≠ 0 1 \sum_{w(i)\neq{0}}1 w(i)=01
系数矩阵vs增广矩阵
  • 系数矩阵和常数项

回代

自由未知数
  • 对于方程组2,可以看出,第4个方程不能够有效约束未知数的取值,未知数的个数是4,而有约束方程个数为3
    • 方程3明确指出 x 4 = − 3 x_4=-3 x4=3
    • 将第3个方程带入前一个方程(第2个方程),可以确定: x 2 = x 3 − x 4 = x 3 + 3 x_2=x_3-x_4=x_3+3 x2=x3x4=x3+3 x 3 = x 2 + x 4 = x 2 − 3 x_3=x_2+x_4=x_2-3 x3=x2+x4=x23
      • 这里就产生了一个自由未知数,我们可以任意选定 x 2 , x 3 x_2,x_3 x2,x3中的一个作为非自由未知数,剩下的作为自由未知数;非自由未知数用自由未知数的表达式来表示
      • 同一阶梯的宽度大于 w ( i ) ⩾ 2 w(i)\geqslant{2} w(i)2时就产生了 w ( i ) − 1 w(i)-1 w(i)1个自由未知数
      • 若把阶梯上最先出现的变量作为该层阶梯的非自由未知数,本例我们选择 x 2 x_2 x2,作为非自由未知数, x 2 = x 3 + 3 x_2=x_3+3 x2=x3+3
      • 将方程1以下的方程代入方程1,得 x 1 = 4 − x 2 + 2 x 3 − x 4 x_1=4-x_2+2x_3-x_4 x1=4x2+2x3x4= 4 − ( x 3 + 3 ) + 2 x 3 − ( − 3 ) 4-(x_3+3)+2x_3-(-3) 4(x3+3)+2x3(3)= 4 + x 3 4+x_3 4+x3
解的表示
  • 综上,方程组2的解可以表示为:

    • x 1 = x 3 + 4 x_1=x_3+4 x1=x3+4
    • x 2 = x 3 + 3 x_2=x_3+3 x2=x3+3
    • x 3 = x 3 x_3=x_3 x3=x3
    • x 4 = − 3 x_4=-3 x4=3
  • 其中包含了一个自由未知量 x 3 x_3 x3, x 1 , x 2 , x 4 x_1,x_2,x_4 x1,x2,x4作为非自由未知量用自由未知量或常数来表达;

  • 通过令 x 3 = c x_3=c x3=c,这个解还可以写作,

    • x 1 = c + 4 x_1=c+4 x1=c+4
    • x 3 = c + 3 x_3=c+3 x3=c+3
    • x 3 = c x_3=c x3=c
    • x 4 = − 3 x_4=-3 x4=3
  • 结合向量,用关于 x 3 = c x_3=c x3=c,的表达式(线性组合)表示:

    • x = c ( 1 1 1 0 ) + ( 4 3 0 − 3 ) \bold{x}=c\begin{pmatrix} 1\\1\\1\\0 \end{pmatrix} +\begin{pmatrix} 4\\3\\0\\-3 \end{pmatrix} x=c 1110 + 4303

    • 其中 c c c为任意常数

  • 阶梯形方程组中的每个方程都是"独立的"

  • 原方程组中可能存在"多余"的方程,多余的方程是某些独立方程的线性组合得到的

小结
  • 阶梯型方程组的基础上,从最后一个方程开始往前代入,依次求解出未知量的过程称为回代过程

  • i i i个方程需要回代第 i i i个方程以下的所有方程

  • 线性方程组的初等变换和矩阵的初等变换相似

  • 对方程组施行初等变换,就是对方程组的增广矩阵实行初等行变换

    • ( 2 − 1 − 3 1 4 2 − 5 4 2 0 2 6 4 − 2 6 2 ) → ( 2 − 1 3 1 0 1 − 1 5 0 0 3 − 18 0 0 0 0 ) \begin{pmatrix} 2& -1& -3& 1 \\ 4& 2& -5& 4 \\ 2& 0& 2& 6 \\ 4& -2& 6& 2 \\ \end{pmatrix} \to \begin{pmatrix} 2& -1& 3& 1 \\ 0& 1& -1& 5 \\ 0& 0& 3& -18 \\ 0& 0& 0& 0 \\ \end{pmatrix} 2424120235261462 20001100313015180

    • Gauss消元法的过程就是对原矩阵做一系列的线性方程组初等变换

      • 消元过程和回代过程都是做矩阵的初等行变换

      • 消元过程初等变换到阶梯形矩阵即可

      • 回代过程初等变换到行简化阶梯矩阵

变换到行简化阶梯形矩阵

  • 线性方程组的增广矩阵经过有限步骤的初等变换得到的行阶梯形矩阵,可以从该矩阵读出去冗余方程后的等价ii方程组

  • 我们可以进一步将行简化阶梯矩阵(从一般行阶梯形矩阵执行第二阶段的初等变换得到行间换阶梯型矩阵的过程相当于执行高斯消元法中的回代过程)

  • 以下矩阵是某个线性方程组(4个3元非齐次线性方程构成的方程组)的增广矩阵

  • ( 1 0 0 9 0 1 0 − 1 0 0 1 − 6 0 0 0 0 ) \begin{pmatrix} 1& 0& 0& 9 \\ 0& 1& 0& -1 \\ 0& 0& 1& -6 \\ 0& 0& 0& 0 \\ \end{pmatrix} 1000010000109160

  • 从行间换阶梯形矩阵中,很容易读出该方程组的解为 ( x 1 , x 2 , x 3 ) = ( 9 , − 1 , − 6 ) (x_1,x_2,x_3)=(9,-1,-6) (x1,x2,x3)=(9,1,6),或作

    • ( x 1 x 2 x 3 ) = ( 9 − 1 6 ) \begin{pmatrix} x_{1} \\ x_{2} \\ x_{3} \\ \end{pmatrix} =\begin{pmatrix} {9} \\ {-1} \\ 6 \\ \end{pmatrix} x1x2x3 = 916

小结

  • 高斯消元法是求解线性方程组的经典方法,
  • 事实上,在这个过程中我们只需要关注增广矩阵(系数矩阵增广常数项矩阵),进行初等变换同样可以完成求解而且更加简洁
  • 例如回代过程,可以使用初等变换来等价执行
posted @   xuchaoxin1375  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-01-27 androidStudio_依赖下载相关注意事项以及可能的解决方案
点击右上角即可分享
微信分享提示