134°

线性代数笔记——矩阵乘法的四种理解方法

设矩阵A:m*p,矩阵B:p*n。A*B得到C矩阵m*n。

一、常规方法 (行*列)

  (行向量Ai)点乘(列向量Bj) = 数Cij

  C矩阵可以看成若干个这样的点乘结果的拼接

eg:

  a1  a2   x  b1  b2  = [ [a1,a2]·[b1,b3]  [a1,a2]·[b2,b4]

  a3  a4       b3  b4      [a3,a4]·[b1,b3]  [a3,a4]·[b2,b4] ]

二、列的线性组合(矩阵*列)

  矩阵A*列向量Bj = 列向量Cj

  将A矩阵看成p个列向量A1,A2,...Ap的拼接,列向量Cj即为这p个列向量的线性组合,列向量Bj告诉我们具体是怎么组合的

  Cj = Bj1 * A1 + Bj2 * A2 + .... + Bjp*Ap

  C矩阵可以看成若干个列向量的拼接,每个列向量都是A的列向量的线性组合

  因此矩阵乘法可以看成矩阵乘向量,结果的C矩阵的每一列可以看成A矩阵各列的线性组合,而B矩阵告诉我们具体是如何组合的。

eg:

  a1  a2   x  b1  b2  = [ b1*[ a1     +    b3*[a2  ,  b2*[ a    +    b4*[a2

  a3  a4       b3  b4        a3]      a4]      a3]     a4] ]

三、行的线性组合(行*矩阵)

  行向量Ai*矩阵B = 行向量Ci

  将B矩阵看成p个行向量B1,B2...Bp的拼接,行向量Ci即为这p个行向量的线性组合,行向量Ai告诉我们具体是怎么组合的

  Ci = Ai1 * B1 + Ai2 * B2 + ... + Aip * Bp

  C矩阵可以看成若干行向量的拼接,每个行向量都是B的行向量的线性组合

  因此矩阵乘法可以看成向量乘矩阵,C矩阵的每一行可以看成B矩阵各行的线性组合,而A矩阵告诉我们具体是怎么组合的

eg:

  a1  a2   x  b1  b2  = [  a1*[b1,b2]   +   a2*[b3,b4]

  a3  a4       b3  b4      a3*[b1,b2]    +   a4*[b3,b4] ]

四、矩阵和(列*行)

  列向量Aj*行向量Bi = 矩阵Cji

  m*1列向量和1*n行向量相乘可以得到m*n的矩阵

  A的每一列向量分别与B的每个行向量相乘,于是得到了p*p个m*n矩阵,这些矩阵的和就是最终结果——矩阵C 

eg:

  a1  a2   x  b1  b2  =  [a1 * [b1, b2] + [a1 * [b3, b4] + [a2 * [b1, b2] + [a2 * [b3, b4]

  a3  a4       b3  b4      a3]         a3]         a4]          a4]

原文链接:https://www.cnblogs.com/tju-lizhuofan/p/11168377.html

全部评论: 0

    我有话说: