zoukankan      html  css  js  c++  java
  • 【矩阵的乘积/复合变换】- 图解线性代数 05

    本文转自公众号---遇见数学---图解数学---线性代数部分

    感谢遇见数学工作组将大学课本晦涩难懂、故作高深的数学知识,用通俗易懂而又生动有趣的方法解释出来。

    矩阵向量的乘积可以理解为将一个特定的线性变换作用在向量上, 本次我们先看几个特殊的矩阵下的变换以及矩阵矩阵的乘积. 

     

    零矩阵

    即所有元素都是 0 的矩阵, 记为 O . 可以用下标来表示矩阵的大小: 

     零矩阵表示的变换是将空间压缩到原点, 可以观察在 2 阶零矩阵的作用下, 空间被压缩到原点的变化过程, 注意行列式的值最后为 0:

     

    单位矩阵

    是对角元素为 1, 其余都是 0 , 记为 I.

    单位矩阵对空间什么都不改变, 保持基向量不变, 也被称为"恒等变换", 可以看下面对应的空间变化过程(尽管没有改变):

    对角矩阵

    除了对角元之外所有元素均为 0 的矩阵称之为对角矩阵. 

    对角矩阵表示的沿着坐标轴伸缩变换, 其中对角元素就是各轴伸缩的倍率, 并且下例矩阵 A 的对角元素中含有 2 个负数, 可以看做经过了 2 次镜像翻转,  x,y 两个方向先是压缩, 然后再被拉伸, 面积扩大为原来的 6 倍, 这样行列式的值为 6. 

    上面都是进行一次变换的操作, 如果想要再进行一次(甚至更多)变换, 就要矩阵和矩阵相乘了. 譬如下面矩阵 A 相当于将空间旋转, 矩阵 B 是横向拉伸.

    如果是 BA 两个矩阵相乘的运算, 就相当于先旋转再拉伸, 这样的复合变换运算顺序是从右往左进行, 可以观察下面的动画: 

    如果是 AB 两个矩阵相乘的运算, 就相当于先拉伸后旋转, 运算顺序是从右往左, 可以观察下面的动画: 

    从上面两个变换动画, 可以得出结论矩阵的乘积不满足交换律(可以想象满足结合律):

    可以计算出 BA 和 AB 的值: 

    如何计算矩阵的乘积, 除了课本上给出的方法, 还可以按照列的线性表出来进行, 以 BA 为例:

    另外, 如果两个矩阵都不是零矩阵, 但是矩阵的乘积可能会是零矩阵, 比如在下面两个矩阵:

     空间中, A 做横向压缩, B 做垂直压缩, 经过 A 然后 B 的变换后, 也会映射到原点. 

  • 相关阅读:
    【3.5】类和实例属性的查找顺序--mro查找
    【3.4】类变量和实例变量
    【3.3】isinstance和type的区别
    【3.2】抽象基类(abc模块)
    【3.1】鸭子类型和多态
    学习笔记 | 浅谈虚拟函数(Virtual Function)
    学习笔记 | Udacity CarND Term 1: Computer Vision and Deep Learning
    命令行 | File Compression in Linux
    Python: if else in a list comprehension
    Topic | Hyperparameter Optimization for Neural Networks
  • 原文地址:https://www.cnblogs.com/Mjerry/p/9741244.html
Copyright © 2011-2022 走看看