内积inner product、外积outer product、哈达玛积element-wise product
内积inner product、外积outer product、哈达玛积element-wise product
向量和矩阵的内积和外积等
最近把这些概念搞混淆了,所以总结一下。
内积 (inner product)
数量积又称标量积(Scalar product)、点积(Dot product),在欧几里得空间(Euclidean space)中称为内积(Inner product),对应元素相乘相加,结果是一个标量(即一个数)。
定义:相同位置数值相乘再求和。
注意:内积运算结果是一个数。
几何意义:
numpy中 使用np.dot或numpy.inner()实现向量的点积
代码实现:numpy.inner
注:
在数学中,内积空间(少部分人称为豪斯多夫-前希尔伯特空间)是实向量空间或具有称为内积的运算的复向量空间。空间中两个向量的内积是标量,通常用尖括号表示,如
<
a
,
b
>
<a,b>
<a,b>。而点积是我们通常讨论的欧氏空间中内积的一种特殊形式。在工科的讨论范围内,内积和点积会混在一起说。这是无可厚非的,毕竟点积是内积的一种特殊形式。
外积1(outer product)
定义:线性代数中的向量积。
注意:运算结果是一个矩阵。
矢量的升维运算, mm维矢量和nn维矢量的外积是m∗nm∗n为矩阵。
代码实现:numpy.outer
克罗内克积,numpy中使用np.kron实现
外积2(exterior product)
exterior product 也翻译成外积,但指的是空间解析几何中的向量积。
注意:运算结果是一个向量。
向量积又称矢量积(Vector product)、叉积(Cross product)。
两个向量的 exterior product 本质就是叉乘,
代码实现:numpy.cross
针对矩阵并不存在叉积的概念,numpy中针对矩阵的叉积运算是按照向量的叉积进行运算。
注:
在数学中,叉积(Cross product)或向量积(Vector product)是在三维欧几里得向量空间中对两个向量的二元运算,用符号表示
×
\times
×。给定两个线性无关的向量
a
a
a和
b
b
b,叉积
a
×
b
a×b
a×b是一个垂直于
a
a
a和
b
b
b的向量,因此垂直于包含它们的平面。它在数学、物理、工程和计算机编程中有许多应用。不应将其与点积(投影积),特别是外积混淆。
国内总会把叉积和外积混为一谈,即使是中文维基百科也是如此。英文环境里根本就没有把cross product和outer product混在一起说的情况。叉积仅仅定义在三维的欧氏空间中,且需要用到右手定则。
元素积 (element-wise product)
element-wise product 也叫哈达玛积 (Hadamard product),运算结果是一个向量,本质就是对应位置元素相乘。
element-wise product = element-wise multiplication = Hadamard product = point-wise product
numpy中 使用np.multiply或*实现元素积
代码实现:numpy.multiply
总结:
也有人这样总结:
注:数量、向量常用于数学;而标量、矢量常用于物理
更多推荐
所有评论(0)