• 1.3 特殊的矩阵乘法


    初等行变换与列变换

      初等行变换与初等列变换是线性代数比较基础的内容。学会了这个才能继续学习高斯消元解方程。初等行变换分为三种:

    1. 交换两行;
    2. 给某一行乘以一个倍数;
    3. 把某行的倍数加到另一行。

      同理,初等列变换,也是三种:

    1. 交换两列;
    2. 给某一列乘以一个倍数;
    3. 把某列的倍数加到另一列。

      但是这与矩阵乘法有什么关系呢?因为上面这六种变换,都与矩阵乘法的效果一样,初等行变换相当于左边乘以了一个矩阵,列变换相当于右边乘以了一个矩阵。而这个用来乘的矩阵就叫做初等矩阵elementary matrix

    行交换乘法

      先看看以下两个矩阵的乘法:
    ( 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 ) ( 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ) = ( 1 1 1 1 3 3 3 3 2 2 2 2 4 4 4 4 ) (1000001001000001)

    (1111222233334444)
    \\ =(1111333322224444)
    \\ 1000001001000001 1234123412341234 = 1324132413241324
      可以看到,乘法的左右是将矩阵的两行进行了交换。将一个单位矩阵进行行交换之后,再放在左边乘以某个矩阵,会使得这个矩阵进行行交换。这种把单位阵进行行交换之后的矩阵叫做置换矩阵。

    列交换乘法

      再看下一个例子:
    ( 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ) ( 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 ) = ( 1 3 2 4 1 3 2 4 1 3 2 4 1 3 2 4 ) (1234123412341234)

    (1000001001000001)
    \\ =(1324132413241324)
    \\ 1111222233334444 1000001001000001 = 1111333322224444
      把置换矩阵放在右边就是列交换了,上面的例子,第二列和第三列就完成了交换。
      在初等矩阵中,效果是行交换和列交换的矩阵也叫做置换矩阵permutation matrix

    行倍数乘法

      再看这个例子:
    ( 1 0 0 0 0 3 0 0 0 0 1 0 0 0 0 1 ) ( 1 2 3 4 − 1 − 2 − 3 − 4 5 6 7 8 − 5 − 6 − 7 − 8 ) = ( 1 2 3 4 − 3 − 6 − 9 − 12 5 6 7 8 − 5 − 6 − 7 − 8 ) (1000030000100001)

    (1234123456785678)
    \\ =(12343691256785678)
    \\ 1000030000100001 1155226633774488 = 13552666397741288
      可以看到不过是把第二行放大了三倍。这种很简单,就不必说了。

    列倍数乘法

      再看看下一个例子:
    ( 1 2 3 4 − 1 − 2 − 3 − 4 5 6 7 8 − 5 − 6 − 7 − 8 ) ( 1 0 0 0 0 2 0 0 0 0 1 0 0 0 0 1 ) = ( 1 4 3 4 − 1 − 4 − 3 − 4 5 12 7 8 − 5 − 12 − 7 − 8 ) (1234123456785678)

    (1000020000100001)
    \\= (143414345127851278)
    \\ 1155226633774488 1000020000100001 = 115544121233774488
      我们可以找到规律了,放在右边做乘法是做列变换。这次是把第二列变成了两倍。

    行倍加乘法

      大胆猜测,把单位阵做行倍加,再左乘一个矩阵,是不是也就对这个矩阵实现了行倍加呢?答案是对的:
    ( 1 0 0 0 3 1 0 0 0 0 1 0 0 0 0 1 ) ( 9 8 1 5 9 2 7 3 3 6 7 2 5 1 10 2 ) = ( 9 8 1 5 36 26 10 18 3 6 7 2 5 1 10 2 ) (1000310000100001)

    (98159273367251102)
    \\= (981536261018367251102)
    \\ 1300010000100001 99358261177105322 = 936358266111071051822
      从例子可以看出确实是第一行乘以三倍加到了第二行了。

    列倍加乘法

      列倍加不过是左边换到右边而已,我是不厌其烦地举例子啊:
    ( 9 7 5 9 4 3 1 6 1 10 5 4 3 10 9 4 ) ( 1 0 2 0 0 1 0 0 0 0 1 0 0 0 0 1 ) = ( 9 7 23 9 4 3 9 6 1 10 7 4 3 10 15 4 ) (975943161105431094)

    (1020010000100001)
    \\= (97239439611074310154)
    \\ 941373101051599644 1000010020100001 = 94137310102397159644
      实验了一下,我们的猜测是对的啊,就是把第一列乘以两倍加到了第三列上。

    线性变换思想

      其实这些用线性变换的思想很容易理解。一个线性变换可以用矩阵表示,这个线性变换把一组自然基变成什么样子,就会把自然基下的矩阵变成什么样子。这么说起来,比较难理解,一组自然基,其实就是单位阵,也就是说一个矩阵是通过什么步骤从单位阵变过来的,它去乘别的矩阵,也会按照同样的步骤去变换别的矩阵,这就是线性变换。
      初等矩阵与初等行变换、初等列变换是高斯消元的基础,我接下来的文章就是介绍高斯消元

  • 相关阅读:
    neo4j关系文字不显示
    排序(堆排序、快速排序、归并排序)-->深度剖析(二)
    【博客486】prometheus-----rate,irate,increase的原理
    flask整合rabbitMQ插件的方式
    ubuntu 清理缓存
    今天玩到一个微信钓鱼小游戏,很有趣,居然还能玩萝卜刀
    MySQL【第一章】——入门级
    LeetCode | 使用 “自带栈” 解决中序遍历
    MES生产管理系统是什么?有ERP系统了为什么还要上
    QGIS文章一——实现天地图加载
  • 原文地址:https://blog.csdn.net/m0_66201040/article/details/128138278