Python 中的 NumPy 幅度

Muhammad Maisam Abbas 2023年1月30日 2021年7月4日
  1. 使用 Python 中的 numpy.linalg.norm() 函数计算 NumPy 幅度
  2. 使用 Python 中的 numpy.dot() 函数计算 NumPy 幅度
  3. 使用 Python 中的 numpy.einsum() 函数计算 NumPy 幅度
Python 中的 NumPy 幅度

本教程将介绍在 NumPy 中计算向量大小的方法。

使用 Python 中的 numpy.linalg.norm() 函数计算 NumPy 幅度

假设我们有一个一维 NumPy 数组形式的向量,我们想要计算它的大小。为此,我们可以使用 numpy.linalg.norm() 函数NumPy 库中的 numpy.linalg 子模块包含与线性代数相关的函数。numpy.linalg 子模块中的 norm() 函数将向量作为输入参数并返回其大小。

import numpy as np

v = np.array([1,1,3,4])

magnitude = np.linalg.norm(v)
print(magnitude)

输出:

5.196152422706632

在上面的代码中,我们使用 np.linalg.norm(v) 函数计算了向量 v 的大小。我们首先使用 n.array() 函数以一维 NumPy 数组的形式创建了我们的向量 v。然后我们用 np.linalg.norm(v) 函数计算它的大小,并将输出存储在 magnitude 变量中。

使用 Python 中的 numpy.dot() 函数计算 NumPy 幅度

我们还可以使用 numpy.dot() 函数和 numpy.sqrt() 函数来计算 NumPy 中向量的大小。numpy.dot() 函数计算两个不同向量之间的点积,numpy.sqrt() 函数用于计算特定数字的平方根。我们可以计算向量与自身的点积,然后取结果的平方根来确定向量的大小。

import numpy as np

v = np.array([1,1,3,4])

magnitude = np.sqrt(v.dot(v))
print(magnitude)

输出:

5.196152422706632

我们首先使用 n.array() 函数以一维 NumPy 数组的形式创建了我们的向量 v。然后,我们通过 v.dot(v) 函数计算向量 v 与其自身的点积,并使用 np.sqrt(v.dot(v)) 函数对结果值求平方根。平方根的结果是向量 v 的大小。

使用 Python 中的 numpy.einsum() 函数计算 NumPy 幅度

numpy.einsum() 函数 对其操作数执行爱因斯坦求和约定。此方法类似于将向量与自身进行点积。我们可以使用 numpy.einsum() 函数和 numpy.sqrt() 函数来实现与前面示例相同的目标。我们可以通过执行爱因斯坦求和约定然后取结果值的平方根来确定向量的大小。

import numpy as np

v = np.array([1,1,3,4])

magnitude = np.sqrt(np.einsum('i,i', v, v))
print(magnitude)

输出:

5.196152422706632

我们首先使用 n.array() 函数以一维 NumPy 数组的形式创建了我们的向量 v。然后,我们使用 np.einsum('i,i',v,v) 函数执行爱因斯坦求和约定。然后我们计算结果值的平方根并将结果存储在 magnitude 变量中。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn