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

这篇博客详细梳理了乘法和积运算,包括点乘(内积/数量积)、叉乘(向量积)、矩阵乘法以及哈达马积和克罗内克积。特别指出,点乘和叉乘适用于一维矢量或二维矩阵,而矩阵乘法则更广泛地应用于n维向量。在计算机科学中,卷积运算与哈达马积相似,且哈达马积是克罗内克积的特殊情况。文章引用了相关参考资料,鼓励读者深入探讨和指正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

名称 符号 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=(a
### 矩阵乘法的区别 #### 定义与区别 矩阵的 **** 是指两个相同维度的矩阵对应位置上的元素相,得到的结果是一个同样维度的新矩阵。这种操作通常被称为逐元素乘法 (Element-wise Multiplication)[^2]。 而矩阵的 **乘法** 则是指按照线性代数规则进行的标准矩阵乘法。如果矩阵 \( A \) 的大小为 \( m \times n \)矩阵 \( B \) 的大小为 \( n \times p \),那么它们的 \( C = AB \) 将会是一个 \( m \times p \) 大小的矩阵。具体计算方式如下: \[ C[i][j] = \sum_{k=0}^{n-1}{A[i][k] * B[k][j]} \] 这是最常见的矩阵运算之一,在计算机图形学中常用于坐标变换等场景[^1]。 至于 ****,严格来说它是向量之间的运算而非矩阵间的运算。对于两个长度相同的向量 \( u \) \( v \),其定义为: \[ u \cdot v = |u|*|v|*\cos(\theta) \] 其中 \( \theta \) 表示两向量之间的夹角。然而有时人们也会提到矩阵行或列之间作为向量参与的情况,这实际上是对标准矩阵乘法规则的一种特殊解释[^3]。 #### 使用场景 - **** 主要应用于图像处理领域中的像素级操作或者机器学习框架里的某些特定层实现上,比如卷积神经网络(CNNs)的部分激活函数应用前后的调整过程可能涉及此方法。 - **矩阵乘法** 广泛存在于科学计算、工程建模以及游戏开发等领域内的各种复杂模拟当中。特别是在三维渲染管线里用来完成物体的空间位移、旋转平面投影等功能。 - **** 更多时候是用来衡量空间内任意两方向关系的一个数值指标;另外在推荐系统构建过程中也经常通过比较不同用户偏好特征间相似度来决定最终展示列表顺序等问题解决思路之中有所体现。 ```python import numpy as np # Example of element-wise multiplication (dot product between matrices) matrix_a = np.array([[1, 2], [3, 4]]) matrix_b = np.array([[5, 6], [7, 8]]) element_wise_product = matrix_a * matrix_b print("Element-Wise Product:\n", element_wise_product) # Standard matrix multiplication example standard_matrix_multiplication_result = np.dot(matrix_a, matrix_b.T) print("Standard Matrix Multiplication Result:\n", standard_matrix_multiplication_result) # Dot product example with vectors vector_u = np.array([1, 2]) vector_v = np.array([3, 4]) dot_product_of_vectors = np.dot(vector_u, vector_v) print("Dot Product Of Vectors:", dot_product_of_vectors) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值