5. 内积、外积、张量积
numpy.dot(a, b, out=None)
:计算矩阵的乘积。对于一维数组,他计算的是内积;对于二维数组,他计算的是线性代数中的矩阵乘法。numpy.vdot(a, b)
:返回一维向量之间的点积。如果a
和b
是多维数组,则展平成一维再点积。numpy.inner(a, b)
:计算矩阵的内积。对于一维数组,它计算的是向量点积;对于多维数组,则它计算的是:每个数组最后轴作为向量,由此产生的内积。numpy.outer(a, b, out=None)
:计算矩阵的外积。它始终接收一维数组。如果是多维数组,则展平成一维数组。
numpy.tensordot(a, b, axes=2)
:计算张量乘积。axes
如果是个二元序列,则第一个元素表示a
中的轴;第二个元素表示b
中的轴。将这两个轴上元素相乘之后求和。其他轴不变axes
如果是个整数,则表示把a
中的后axes
个轴和b
中的前axes
个轴进行乘积之后求和。其他轴不变
叉乘:
numpy.cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None)
:计算两个向量之间的叉乘。叉积用于判断两个三维空间的向量是否垂直。要求a
和b
都是二维向量或者三维向量,否则抛出异常。(当然他们也可以是二维向量的数组,或者三维向量的数组,此时一一叉乘)