Python 中的 numpy.dot()

2024 年 8 月 29 日 | 阅读 3 分钟

Python 的 numpy 模块提供了一个函数来执行两个数组的点积。

  • 如果数组“a”和“b”都是一维数组,则 dot() 函数执行向量的内积(没有复共轭)。
  • 如果数组“a”和“b”都是二维数组,则 dot() 函数执行矩阵乘法。但对于矩阵乘法,更推荐使用 matmul'a' @ 'b'
  • 如果“a”或“b”是零维(标量),则 dot() 函数执行乘法。此外,更推荐使用 numpy.multiply(a, b)a *b 方法。
  • 如果“a”是一个 N 维数组,而“b”是一个一维数组,则 dot() 函数在 a 的最后一个轴和 b 上执行 sum-product。
  • 如果“a”是一个 M 维数组,而“b”是一个 N 维数组(其中 N>=2),则 dot() 函数在“a”的最后一个轴和“b”的倒数第二个轴上执行 sum-product

语法

参数

a:类似数组

此参数定义第一个数组。

b:类似数组

此参数定义第二个数组。

out:ndarray(可选)

它是一个输出参数。它应该具有在不使用时将返回的确切类型。特别是,它应该满足性能特征,即它必须包含正确的类型,即它必须是 C 连续的,并且其 dtype 必须是 dot(a,b) 将返回的 dtype。因此,如果它不满足这些指定的条件,它会引发异常。

返回值

此函数返回“a”和“b”的点积。如果“a”和“b”都是标量或一维的,则此函数返回一个标量;否则,它返回一个数组。如果给出了“out”,则返回它。

引发

当“a”的最后一个维度的大小与“b”的倒数第二个维度的大小不相同时,会发生 ValueError

示例 1

输出

72

示例 2

输出

(-34+0j)

示例 3

输出

array([[ 8, 17],
       	[18, 47]])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们创建了两个二维数组“a”和“b”。
  • 我们声明了变量“c”并分配了 np.dot() 函数的返回值。
  • 最后,我们尝试打印“c”的值。

在输出中,它将矩阵乘积显示为数组。

示例 4

输出

499128
499128

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们使用 np.arange() 函数创建了两个数组“a”和“b”,并使用 reshape() 函数更改了两个数组的形状。
  • 我们声明了变量“c”并分配了 np.dot() 函数的返回值
  • 最后,我们尝试打印“c”的值。

在输出中,它将矩阵乘积显示为数组。


下一主题numpy.loadtxt()