乘法/积运算和符号(点乘/内积/数量积,叉乘/向量积,矩阵乘法,Hadamard, Kronecker积,卷积)一网打尽

之前一直混淆于各种乘法和积运算中,不得其解,所以花了点功夫整理一下。

名称 符号 Latex 运算 应用 意义
点乘/内积/数量积 ⋅ \cdot ∙ \bullet \cdot或\bullet a ⃗ ∙ b ⃗ = x 1 x 2 + y 1 y 2 \vec{a} \bullet \vec{b}=x_{1} x_{2}+y_{1} y_{2} a b =x1x2+y1y2 三角形余弦角度 一个向量在另一个向量方向上投影的长度
叉乘/向量积 × \times × \times a × b = ( a 2 b 3 − a 3 b 2 , − a 1 b 3 + a 3 b 1 , a 1 b 2 − a 2 b 1 ) a \times b=(a_{2} b_{3}-a_{3} b_{2}, -a_{1} b_{3}+ a_{3} b_{1}, a_{1} b_{2}-a_{2} b_{1}) a×b=(a2b3a3b2,a1b3+a3b1,a1b2a2b1) 向量方向是垂直于向量A,B组成的平面 叉乘结果是一个向量,向量模长是向量A,B组成平行四边形的面积;
矩阵乘法 NAN NAN ( A B ) i j = ∑ k = 1 p a i k b k j = a i 1 b 1 j + a i 2 b 2 j + ⋯ + a i p b p j (A B)_{i j}=\sum_{k=1}^{p} a_{i k} b_{k j}=a_{i 1} b_{1 j}+a_{i 2} b_{2 j}+\cdots+a_{i p} b_{p j} (AB)ij=k=1paikbkj=ai1b1j+ai2b2j++aipbpj 方程组 各类需要求解方程组的问题
克罗内克积(Kronecker Product)/直积/张量积 ⊗ \otimes \otimes A ⊗ B = [ a 11 B ⋯ a 1 n B ⋮ ⋱ ⋮ a m 1 B ⋯ a m n B ] A \otimes B=\left[\begin{array}{ccc}a_{11} B & \cdots & a_{1 n} B \\\vdots & \ddots & \vdots \\a_{m 1} B & \cdots & a_{m n} B\end{array}\right] AB=a11Bam1Ba1nBamnB 任意两个矩阵相乘 矩阵分块相乘
哈达马积(Hadamard product) ∘ \circ ⊙ \odot \circ 或 \odot ( A ∘ B ) i j = ( A ⊙ B ) i j = ( A ) i j ( B ) i j (A \circ B)_{i j}=(A \odot B)_{i j}=(A)_{i j}(B)_{i j} (AB)ij=(AB)ij=(A)ij(B)ij 对应位置相乘 Kronecker Product两矩阵维度相同时的简化形式
卷积 * * ( f ∗ g ) ( t ) ≜ ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ (f * g)(t) \triangleq \int_{-\infty}^{\infty} f(\tau) g(t-\tau) d \tau (fg)(t)f(τ)g(tτ)dτ 深度学习中张量的卷积操作卷积核在特征层移动并对应位相乘 表征函数 f 与经过翻转和平移的 g 的乘积函数所围成的曲边梯形的面积

补充几点:

  • 点乘,叉乘线性代数中强调的概念,所以主要针对一维矢量或者二维矩阵的运算,能够在二维或者三位空间进行可视化;而矩阵乘法、克罗内克积、哈达马积则是矩阵论中的概念,强调的是更为一般性的n维向量的运算规则,矩阵内积操作向量在内积空间中的矩阵乘法。
  • 矩阵乘法是使用最多的运算,比如在matlab和python的numpy中*。点乘可以视作矩阵乘法对两个一维矢量的运算规则。
  • 卷积的运算规则与哈达马积相同,而哈达马积又是克罗内克积一种特殊情况,所以在CS的一些论文中表达卷积操作, ⊗ \otimes ∘ \circ ⊙ \odot 、*似乎都没问题,但是最多还是星乘。

参考文献

点乘和叉乘
Hadamard_product refer from wiki
克罗内克积 refer from wiki
水平有限,有错误和不足支持还望大家及时提出讨论

你可能感兴趣的:(矩阵)