Ricerca nel sito web

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.

Articoli correlati: