zoukankan      html  css  js  c++  java
  • 矩阵乘法的四种理解方式

    先介绍向量的两种运算,一个行向量乘以一个列向量称作向量的内积,又叫作点积,结果是一个数;

    一个列向量乘以一个行向量称作向量的外积,外积是一种特殊的克罗内克积,结果是一个矩阵,

    假设和b分别是一个行向量和一个列向量,那么内积、外积分别记作,为了讨论方便,假设每个向量的长度为2。

    注意:外积在不同的地方定义方式不太一样,这里不详细讨论

    定义了内积和外积以后,我们讨论矩阵的乘法。矩阵是由向量组成的,因此对矩阵不同角度的抽象,将矩阵乘法转换为向量乘法,可以使我们从不同的角度去理解矩阵的乘法。首先我们可以对于一个矩阵A(假设行和列的大小都是2),我们可以即可以把它看作由两个行向量组成的列向量,

    ,又可以看作是由两个列向量组成的行量,我们表示列向量,表示行向量

    这样矩阵A和矩阵B的乘积按照不同的角度就可以组成四种理解方式。

    一、 A是由行向量组成的列向量,B是由列向量组成的行向量

                                  

    此时AB乘积变为了两个新的向量的外积形式,按照外积定义,我们有

    注意到这里面每一个都是一个向量,因此就是一个内积,计算结果就是AB矩阵第i行第j列中的元素。因此,我们可以看到,矩阵乘积是两个向量的外积,并且外积矩阵中的每一个元素是一个内积。这种方式是最直接的理解方式。

    二、 A是由列向量组成的行向量,B也是由列向量组成的行向量

    令C = AB, 我们考虑C的每一个列向量:

    同理:

    因此,矩阵C的每一个列向量,是A的列向量的一个线性组合,该线性组合中的系数是的各个元素。从这个角度说C的每一列都存在于A的列向量空间内。

    三、 A是由行向量组成的列向量,B也是由行向量组成的列向量


    类似于上面的情况,不过我们现在考虑C的每一个行向量:


    同理:


    因此,矩阵C的每一个行向量,是B的行向量的一个线性组合,该线性组合中的系数是的各个元素。从这个角度说C的每一个行向量都存在于B的行向量空间内。

    四、 A是由列向量组成的行向量,B也是由行向量组成的列向量


    此时AB乘积变为了两个新的向量的内积形式。按照内积定义我们有:


    注意到是一个外积形式,因为是一个列向量,是一个行向量,因此C是由各个外积矩阵相加得到的。

    根据以上分析,我们可以将第一种和第四种方式放到一起,第二种和第三种放到一起分别进行理解。第一种方式先将A抽象为列向量,将B抽象为行向量,从而将矩阵乘法变为了一种外积的形式,而外积矩阵中的每一个元素是一个行向量和一个列向量的内积。这种方式每次得到C的一个元素

    第四种理解方式先将A抽象为行向量,将B抽象为列向量,从而将矩阵乘法变为了一种内积形式,内积的各个组成部分又是一个外积。这种方式每次不是得到C的一个元素,而是将C看作是多个矩阵相加组成的,每次计算得到一个加数矩阵。

    第二种方式将矩阵A、B都抽象为行向量,行向量的每个组成是一个列向量,A乘以B的每一个列向量得到一个新的列向量,并且该列向量存在于A的列向量空间内,A乘以B相当于是对A进行了列变换。第三种方式则将A乘以B看作是对B进行了行变换。

    如果想对一个矩阵进行行变换,可以左乘一个矩阵;相应的如果想对矩阵进行列变换,可以右乘一个矩阵。这种思想被应用到高斯消元的过程中。

    最后我们总结一下矩阵C(C=AB)到底是什么,C是一个矩阵,是一个多面孔的矩阵。它既是列向量组成的行向量,每个列向量是A的列空间的线性组合,又是行向量组成的列向量,每个行向量是B的行空间的线性组合;它是一个内积,内积的每个成分是一个外积,同时它又是一个外积,外积矩阵的每一个元素是一个内积。

    参考资料:

    [1] http://videolectures.net/mit1806s05_strang_lec06/

    [2] Introduction to Linear Algebra;  Gilbert Strang

  • 相关阅读:
    android学习笔记----启动模式与任务栈(Task)
    二叉搜索树转化成双向链表
    复杂链表的复制
    判断是否为二叉搜索树的后序遍历序列
    树的子结构
    调整数组顺序使奇数位于偶数前面,且奇数之间、偶数之间的相对位置不变
    android学习笔记----HandlerThread学习
    android学习笔记----Handler的使用、内存泄漏、源码分析等一系列问题
    原因分析——cin,coutTLE,scanf,printf就AC
    洛谷P1618_三连击(升级版)
  • 原文地址:https://www.cnblogs.com/lijiankou/p/3183728.html
Copyright © 2011-2022 走看看