线性代数笔记——矩阵乘法的四种理解方法
线性代数笔记——矩阵乘法的四种理解方法
设矩阵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*[ a1 + 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]