矩阵乘积
矩阵乘法是矩阵运算中最重要的操作之一。两个矩阵 A A A 和 B B B 的 矩阵乘积(matrix product)是第三个矩阵 C C C。为了使乘法定义良好,矩阵 A A A 的列数必须和矩阵 B B B 的行数相等。如果矩阵 A A A 的形状是 m × n m × n m×n,矩阵 B B B 的形状是 n × p n × p n×p,那么矩阵 C C C 的形状是 m × p m× p m×p。我们可以通过将两个或多个矩阵并列放置以书写矩阵乘法。
C i , j = ∑ k A i , k B k , j C_{i,j} = \sum_k{A_{i,k}B_{k,j}} Ci,j=k∑Ai,kBk,j
矩阵乘法运算满足分配律和结合律:
A ( B + C ) = A B + A C A ( B C ) = ( A B ) C \begin{aligned} A(B+C) = AB + AC \\ A(BC) = (AB)C \end{aligned} A(B+C)=AB+ACA(BC)=(AB)C
但不满足交换律,即 A B = B A AB=BA AB=BA不一定成立。然而,向量的点击(见下面)满足交换律:
x T y = y T x x^Ty = y^Tx xTy=yTx
元素对应乘积
需要注意的是,两个矩阵的标准乘积不是指两个矩阵中对应元素的乘积。不过,那样的矩阵操作确实是存在的,被称为 元素对应乘积(element-wise product)或者 Hadamard 乘积(Hadamard product),记为 A ⨀ B A \bigodot B A⨀B
向量的乘法
1、点乘
两个相同维数的向量 x x x 和 y y y 的 点积(dot product)可看作是矩阵乘积 x ⊥ y x\bot y x⊥y。我们可以把矩阵乘积 C = A B C = AB C=AB 中计算 C i ; j Ci;j Ci;j 的步骤看作是 A A A 的第 i i i 行和 B B B 的第 j j j 列之间的点积。
2、叉乘