消元法

  • 方程组

    x+2y+z=23x+8y+z=124y+z=2 { x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2

  • 系数矩阵

    130284111×xyz=2122 [ 1 2 1 3 8 1 0 4 1 ] × [ x y z ] = [ 2 12 2 ]

  • 现在只看第一个系数矩阵

    130284111 [ 1 2 1 3 8 1 0 4 1 ]

  • [step_1 消掉x]现在进行消元的第一步,使用行2减去n倍的行1,使第二行的第一个元素为0,即使第二个方程的x系数为0,第一行的第一个元素称为第一个主元,主元不能为0,为0时可以行交换,直到不为0,如果底下的也全为0,消元法失效,非常容易的得出,n=3,行3([3,8,1])减去3倍的行1([3,6,3])得到新行2([0,2,-2]),第一步消元的结果是

    100224121 [ 1 2 1 0 2 − 2 0 4 1 ]

  • [step_2]第二步,同样的方法,使第三行的x系数变为0,此时n=0,所以此时,矩阵不变

  • [step_3 消掉y]现在第二个方程和第三个方程的x系数均为0,剩下的2个方程只剩下y和z,进行消元的第三步,此时处于(2,2)位置的2是第二个主元,主元不能为0,为0时可以行交换,直到不为0,如果底下的也全为0,消元法失效,同样的,现在要把行2中的y的系数变为0,即消掉第二个方程里的y,此时n=2,即用[0,4,1]减去[0,4,-4],得到新行[0,0,5],即

  • 100220125 [ 1 2 1 0 2 − 2 0 0 5 ]

  • 此时的(3,3)位置的5是第三个主元,矩阵的行列式等于其主元之积

  • 将右侧向量代入,即 Ax=b A x = b b b 向量代入,上面的步骤只是第一个阶段,证明消元法奏效了,并且得到了3个主元,将右侧向量也代入矩阵,经过同样的算法,得到新的右侧向量,这里的矩阵称为增广矩阵:

  • [1212381120412]

  • 同样的通过step_1得到的新矩阵是

  • 100224121262 [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ]

  • 通过step_2时因为行3的一个元素本来就为0,无需运算

  • 通过step_3得到的新矩阵是

  • 1002201252610 [ 1 2 1 2 0 2 − 2 6 0 0 5 − 10 ]

  • 回代,将其写回成方程形式,此时的方程为,方程组是三角的,所以反向

  • x+2y+z=22y2z=65z=10 { x + 2 y + z = 2 2 y − 2 z = 6 5 z = − 10

  • 解得:

  • z=2y=1x=2 { z = − 2 y = 1 x = 2

  • 矩阵乘法

    • 矩阵乘以向量是矩阵列的线形组合,矩阵乘以一列[列向量列矩阵 ]得到一列,这是列变换

    • 130284111×212 [ 1 2 1 3 8 1 0 4 1 ] × [ 2 1 − 2 ]

    • 即2倍的列1[向量1]加上1倍的列2[向量2],加上-2倍的列3[向量3],向量的加法运算: a=(x1,y1)b=(x2,y2)a+b=(x1+x2,y1+y2) , , 则 a = ( x 1 , y 1 ) , b = ( x 2 , y 2 ) , 则 a + b = ( x 1 + x 2 , y 1 + y 2 )

    • 2×130+1×284+2×111=260+284+222=2122 2 × [ 1 3 0 ] + 1 × [ 2 8 4 ] + − 2 × [ 1 1 1 ] = [ 2 6 0 ] + [ 2 8 4 ] + [ − 2 − 2 − 2 ] = [ 2 12 2 ]

    • 向量[行向量行矩阵]乘以矩阵是矩阵行的线形组合

    • [212]×130284111 [ 2 1 − 2 ] × [ 1 2 1 3 8 1 0 4 1 ]

    • 即2倍的行1加上1倍的行2加上-2倍的行3,即

    • 2×121+1×381+2×041=242+381+082=541 2 × [ 1 2 1 ] + 1 × [ 3 8 1 ] + − 2 × [ 0 4 1 ] = [ 2 4 2 ] + [ 3 8 1 ] + [ 0 − 8 − 2 ] = [ 5 4 1 ]

  • 学会使用整个向量来思考矩阵的变换

    • AB=100010001×130284111=130284111 A ∗ B = [ 1 0 0 0 1 0 0 0 1 ] × [ 1 2 1 3 8 1 0 4 1 ] = [ 1 2 1 3 8 1 0 4 1 ]

    • 可以这么解读:先将 A A 矩阵分解为3个行向量,那么,第一个行向量乘以矩阵B,矩阵行的线形组合,取矩阵 B B ,1倍的行一,0倍的行2,0倍的行3,向量相加,得到新矩阵C的第一行,类似的,第二行是取1倍的行2,第三行是取1倍的行3,这样的矩阵 A A 称为单位矩阵

    • 按照矩阵乘法的思路,将消元再现,第一步是要行2减去3倍的行1,第一行和第三行不变

      E(2,1)A=[100310001]×[121381041]=[121022041]

    • 第二步是0倍的行3,减去行2,不变

    • 第三步是行3,减去2倍的行2,矩阵:

      E(3,2)A=100012001×100224121=100220125 E ( 3 , 2 ) ∗ A = [ 1 0 0 0 1 0 0 − 2 1 ] × [ 1 2 1 0 2 − 2 0 4 1 ] = [ 1 2 1 0 2 − 2 0 0 5 ]

    • 增广矩阵,第一步

      130010001×1302841112122=100224121262 [ 1 0 0 − 3 1 0 0 0 1 ] × [ 1 2 1 2 3 8 1 12 0 4 1 2 ] = [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ]

    • 增广矩阵,第二步0倍的行3,减去行2,不变

    • 增广矩阵,第三步,行3,减去2倍的行2

      AB=100012001×100224121262=1002201252610 A ∗ B = [ 1 0 0 0 1 0 0 − 2 1 ] × [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] = [ 1 2 1 2 0 2 − 2 6 0 0 5 − 10 ]

    • 回代

      x+2y+z=22y2z=65z=10 { x + 2 y + z = 2 2 y − 2 z = 6 5 z = − 10

    • 怎么检查结果里的特定元素呢?比如检查结果里的(3,2),这个结果是怎么来的呢?就是矩阵 A A 的行3([0,-2,1]),乘以矩阵B的第2列([2,2,4]),点乘,相同位置的元素相乘后相加,结果为0,结果里的(3,2)值为0

  • 那么有没有办法一步到位呢,第一步是消除第二个方程和第三个方程的 x x ,使(2,1)和(3,1)位置的元素为0,中间矩阵记为E(2,1) ,第二步是消除方程3的 y y ,使(3,2)位置的元素为0,中间矩阵记为E(3,2),顺序为:

    E(3,2)(E(2,1)A) E ( 3 , 2 ) ( E ( 2 , 1 ) ∗ A )

  • 虽然矩阵的顺序是不能改变但是括号的顺序是可以改变的

    (E(3,2)E(2,1))A ( E ( 3 , 2 ) E ( 2 , 1 ) ) ∗ A

  • 进行验证:

    (E(3,2)E(2,1))A=130010001×100012001×100224121262=130012001×100224121262=1002201252610 ( E ( 3 , 2 ) E ( 2 , 1 ) ) ∗ A = [ 1 0 0 − 3 1 0 0 0 1 ] × [ 1 0 0 0 1 0 0 − 2 1 ] × [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] = [ 1 0 0 − 3 1 0 0 − 2 1 ] × [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] = [ 1 2 1 2 0 2 − 2 6 0 0 5 − 10 ]

  • 也就是说矩阵乘法符合结合律

  • 某个矩阵在左边用另一个矩阵做乘法,进行的是行变换,在右边用另一个矩阵做乘法,进行的是列变换


    [0110][acbd]=[cadb] [ 0 1 1 0 ] [ a b c d ] = [ c d a b ]

    [acbd][0110]=[bcda] [ a b c d ] [ 0 1 1 0 ] = [ b d c a ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值