Come calcolare la traccia di una matrice usando Numpy in Python?
Calcolare la traccia di una matrice utilizzando Numpy è un'operazione comune nell'algebra lineare che può essere utilizzata per estrarre informazioni importanti sulla matrice. La traccia di una matrice è definita come la somma degli elementi sulla diagonale principale della matrice, che va dall'angolo in alto a sinistra all'angolo in basso a destra. In questo articolo impareremo vari metodi per calcolare la traccia di una matrice utilizzando la libreria NumPy in Python.
Prima di iniziare, importiamo prima la libreria NumPy −
import numpy as np
Successivamente, definiamo una matrice utilizzando la funzione np.array −
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
Esempio 1
Per calcolare la traccia di questa matrice, possiamo utilizzare la funzione np.trace di NumPy
import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = np.trace(A)
print(trace)
Produzione
15
La funzione np.trace accetta un singolo argomento, che è la matrice di cui vogliamo calcolare la traccia. Restituisce la traccia della matrice come valore scalare.
Esempio 2
In alternativa possiamo anche calcolare la traccia di una matrice utilizzando la funzione somma e indicizzando gli elementi sulla diagonale principale −
import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = sum(A[i][i] for i in range(A.shape[0]))
print(trace)
Produzione
15
Qui utilizziamo l'attributo shape della matrice per determinarne le dimensioni e utilizziamo un ciclo for per scorrere gli elementi sulla diagonale principale.
È importante notare che la traccia di una matrice è definita solo per matrici quadrate, ovvero matrici con lo stesso numero di righe e colonne. Se provi a calcolare la traccia di una matrice non quadrata, otterrai un errore.
Esempio 3
Oltre a calcolare la traccia di una matrice, NumPy fornisce anche diverse altre funzioni e metodi per eseguire varie operazioni di algebra lineare, come il calcolo del determinante, dell'inverso e degli autovalori e degli autovettori di una matrice. Ecco un elenco di alcune delle funzioni di algebra lineare più utili fornite da NumPy −
np.linalg.det - Calcola il determinante di una matrice
np.linalg.inv - Calcola l'inverso di una matrice.
np.linalg.eig - Calcola gli autovalori e gli autovettori di una matrice.
np.linalg.solve − Risolve un sistema di equazioni lineari rappresentato da una matrice
np.linalg.lstsq - Risolve il problema dei minimi quadrati lineari.
np.linalg.cholesky − Calcola la scomposizione di Cholesky di una matrice.
Per utilizzare queste funzioni, dovrai importare il sottomodulo linalg di NumPy−
import numpy.linalg as LA
Esempio 3
Ad esempio, per calcolare il determinante di una matrice utilizzando NumPy, è possibile utilizzare il seguente codice −
import numpy as np
import numpy.linalg as LA
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
det = LA.det(A)
print(det)
Produzione
0.0
Le funzioni di algebra lineare di NumPy sono ottimizzate per le prestazioni, rendendole ui-table per applicazioni di calcolo scientifico e matematico su larga scala. Oltre a fornire un'ampia gamma di funzioni di algebra lineare, NumPy fornisce anche diverse funzioni utili per creare e manipolare matrici e n-array, come np.zeros, np.ones, np.eye e np.diag.
Esempio 4
Ecco un esempio di come creare una matrice di zeri utilizzando la funzione np.zeros −
import numpy as np
A = np.zeros((3,3)) # Creates a 3x3 matrix of zeros
print(A)
Produzione
Ciò produrrà la seguente matrice
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
Esempio 5
Allo stesso modo, la funzione np.ones può creare una matrice di uno e la funzione np.eye può creare una matrice di identità. Ad esempio −
import numpy as np
A = np.ones((3,3)) # Creates a 3x3 matrix of ones
B = np.eye(3) # Creates a 3x3 identity matrix
print(A)
print(B)
Produzione
Ciò produrrà la seguente matrice.
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
Esempio 6
Infine, la funzione np.diag può creare una matrice diagonale da un dato elenco o array. Ad esempio −
import numpy as np
A = np.diag([1,2,3]) # Creates a diagonal matrix from the given list
print(A)
Produzione
Ciò produrrà la seguente matrice.
[[1 0 0]
[0 2 0]
[0 0 3]]
Conclusione
In conclusione, NumPy è una potente libreria Python per eseguire operazioni di algebra lineare. La sua vasta gamma di funzioni e metodi lo rendono uno strumento essenziale per il calcolo scientifico e matematico, e le sue prestazioni ottimizzate lo rendono adatto ad applicazioni su larga scala. Che tu abbia bisogno di calcolare la traccia di una matrice, trovare l'inverso di una matrice o risolvere un sistema di equazioni lineari, NumPy ha gli strumenti necessari per portare a termine il lavoro.