NumPy Magnitude in Python

Muhammad Maisam Abbas 30 gennaio 2023
  1. Calcola magnitudo NumPy con la funzione numpy.linalg.norm() in Python
  2. Calcola magnitudo NumPy con la funzione numpy.dot() in Python
  3. Calcola magnitudo NumPy con la funzione numpy.einsum() in Python
NumPy Magnitude in Python

Questo tutorial introdurrà i metodi per calcolare la grandezza di un vettore in NumPy.

Calcola magnitudo NumPy con la funzione numpy.linalg.norm() in Python

Supponiamo di avere un vettore sotto forma di un array NumPy unidimensionale e di volerne calcolare la grandezza. Possiamo usare la funzione numpy.linalg.norm() per questo scopo. Il sottomodulo numpy.linalg nella libreria NumPy contiene funzioni relative all’algebra lineare. La funzione norm() all’interno del sottomodulo numpy.linalg prende il vettore come parametro di input e ne restituisce la grandezza.

import numpy as np

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

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

Produzione:

5.196152422706632

Nel codice sopra, abbiamo calcolato la grandezza del vettore v con la funzione np.linalg.norm(v). Per prima cosa abbiamo creato il nostro vettore v sotto forma di un array NumPy 1D con la funzione n.array(). Abbiamo quindi calcolato la sua magnitudine con la funzione np.linalg.norm(v) e memorizzato l’output all’interno della variabile magnitude.

Calcola magnitudo NumPy con la funzione numpy.dot() in Python

Possiamo anche usare la funzione numpy.dot() insieme alla funzione numpy.sqrt() per calcolare la grandezza di un vettore in NumPy. La funzione numpy.dot() calcola il prodotto scalare tra due vettori diversi e la funzione numpy.sqrt() viene utilizzata per calcolare la radice quadrata di un particolare numero. Possiamo calcolare il prodotto scalare del vettore con se stesso e quindi prendere la radice quadrata del risultato per determinare la grandezza del vettore.

import numpy as np

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

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

Produzione:

5.196152422706632

Per prima cosa abbiamo creato il nostro vettore v sotto forma di un array NumPy 1D con la funzione n.array(). Abbiamo quindi calcolato il prodotto scalare del vettore v con se stesso mediante la funzione v.dot(v) e abbiamo ricavato la radice quadrata del valore risultante con la funzione np.sqrt(v.dot(v)). Il risultato della radice quadrata è il modulo del vettore v.

Calcola magnitudo NumPy con la funzione numpy.einsum() in Python

La funzione numpy.einsum() esegue la convenzione di sommatoria di Einstein sui suoi operandi. Questo metodo è simile a prendere con sé il prodotto scalare di un vettore. Possiamo usare la funzione numpy.einsum() insieme alla funzione numpy.sqrt() per raggiungere lo stesso obiettivo degli esempi precedenti. Possiamo determinare la grandezza di un vettore eseguendo la convenzione di somma di Einstein e quindi prendendo la radice quadrata del valore risultante.

import numpy as np

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

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

Produzione:

5.196152422706632

Per prima cosa abbiamo creato il nostro vettore v sotto forma di un array NumPy 1D con la funzione n.array(). Abbiamo quindi eseguito la convenzione di sommatoria di Einstein con la funzione np.einsum('i,i',v,v). Abbiamo quindi calcolato la radice quadrata del valore risultante e memorizzato il risultato nella variabile 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