Python Numpy中的几个矩阵乘法

Posted liuxin0430

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Numpy中的几个矩阵乘法相关的知识,希望对你有一定的参考价值。

数学上的内积、外积和叉积

内积

也即是:点积、标量积或者数量积
从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量的长度与它们夹角余弦的积。
具体解释

外积

也即是:张量积
在线性代数中一般指两个向量的张量积,其结果为一矩阵,也就是矩阵乘法
具体解释

叉积

也即是:向量积
叉积axb得到的是与a和b都垂直的向量
具体解释

Numpy中的矩阵乘法

np.dot()

对于二维矩阵,计算真正意义上的矩阵乘积;对于一维矩阵,计算两者的内积。(结合了数学意义上的内积和外积)

# 2-D array
import numpy
a = numpy.array([[1,2],
                 [3,4]])
b = numpy.array([[5,6],
                 [7,8]])
a.dot(b)
>>>array([[19, 22],
          [43, 50]])

numpy.dot(a,b)
>>>array([[19, 22],
          [43, 50]])
# 1-D array
import numpy
a = numpy.array([1, 2, 3])
b = numpy.array([4, 5, 6])
numpy.dot(a,b)
>>>32
对应元素相乘

在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。

import numpy
a = numpy.array([[1,2],
                 [3,4]])
b = numpy.array([[5,6],
                 [7,8]])
a*b
>>>array([[ 5, 12],
          [21, 32]])

numpy.multiply(a,b)
>>>array([[ 5, 12],
          [21, 32]])

以上是关于Python Numpy中的几个矩阵乘法的主要内容,如果未能解决你的问题,请参考以下文章

Python Numpy矩阵乘法使用循环将多个矩阵相乘

Clojure 与 Numpy 中的矩阵乘法

numpy矩阵向量乘法[重复]

跟老奶奶说numpy中的mat与array

[使用Python,NumPy,SciPy使用矩阵乘法对矩阵进行有效切片

numpy的矩阵乘法