Numpy Dot 函数

NumPyNumPyBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将探索 Numpy 库中的 dot() 函数,该函数主要用于计算两个向量的点积。我们还将了解该函数如何处理 2D 数组(作为矩阵)并执行矩阵乘法。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。实验结束后提供反馈,我们将及时为你解决问题。

理解 numpy.dot() 的语法

使用 dot() 函数所需的语法如下:

numpy.dot(a, b, out=None)

其中:

  • a 是第一个参数。如果 "a" 是复数,则使用其共轭复数来计算点积。
  • b 是第二个参数。如果 "b" 是复数,则使用其共轭复数来计算点积。
  • out 是输出参数。如果未使用,则它必须具有与返回值完全相同的类型。否则,它必须是 C 连续的,并且其 dtype 必须与 dot(a, b) 返回的 dtype 相同。

计算标量和一维数组的点积

在这一步中,我们将使用 dot() 函数来计算标量和一维数组的点积。

import numpy as np

## 计算标量值的点积
a = np.dot(8, 4)
print("上述标量值的点积为:")
print(a)

## 计算两个一维数组的点积
vect_a = 4 + 3j
vect_b = 8 + 5j

dot_product = np.dot(vect_a, vect_b)
print("两个一维数组的点积为:")
print(dot_product)

使用二维数组进行矩阵乘法

在这一步中,我们将使用 dot() 函数对二维数组执行矩阵乘法。

import numpy as np

a = np.array([[50,100],[12,13]])
print("矩阵 a 为:")
print(a)

b = np.array([[10,20],[12,21]])
print("矩阵 b 为:")
print(b)

dot = np.dot(a, b)
print("矩阵 a 和 b 的点积为:")
print(dot)

错误处理

在这一步中,我们将探讨当 a 的最后一个维度与 b 的倒数第二个维度大小不匹配时引发的 ValueError

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[7, 8], [9, 10], [11, 12], [13, 14]])

## 错误处理
error = np.dot(a, b)
print(error)

总结

在本实验中,我们介绍了 Numpy 库中的 dot() 函数。我们学习了如何使用该函数及其语法,并通过代码示例解释了该函数返回的值。我们还探讨了该函数的错误处理机制。