Python 中的 NumPy 幅度

Muhammad Maisam Abbas 2023年1月30日
  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