Ricerca nel sito web

Come calcolare il determinante di una matrice o ndArray usando Numpy in Python?


In questo articolo impareremo come calcolare il determinante di una matrice utilizzando la libreria numpy in Python. Il determinante di una matrice è un valore scalare che può rappresentare la matrice in forma compatta. È una quantità utile nell'algebra lineare e ha diverse applicazioni in vari campi, come la fisica, l'ingegneria e l'informatica.

In questo articolo esamineremo prima la definizione e le proprietà del determinante. Impareremo quindi come calcolare il determinante di una matrice utilizzando Numpy e vedremo alcuni esempi per vedere come funziona nella pratica.

Definizione e proprietà del determinante

Il determinante di una matrice è un valore scalare che può essere utilizzato per descrivere le proprietà di una matrice in forma compatta. È spesso indicato con |A| oppure det(A), dove A è la matrice. Il determinante è un concetto fondamentale nell'algebra lineare e possiede diverse proprietà importanti che lo rendono un potente strumento nei calcoli matematici.

  • Una delle proprietà più importanti del determinante è che è uguale al prodotto degli autovalori della matrice. Gli autovalori sono un insieme di valori scalari speciali che rappresentano il modo in cui la matrice agisce su determinati vettori e svolgono un ruolo cruciale in molte applicazioni dell'algebra lineare.

  • Un'altra proprietà importante del determinante è che è uguale al prodotto delle diagonali della matrice triangolare superiore o inferiore. Una matrice triangolare è una matrice che ha zeri sotto o sopra la diagonale e questa proprietà è utile quando si calcolano i determinanti di matrici di grandi dimensioni.

  • Il determinante può anche essere calcolato sommando i prodotti degli elementi in qualsiasi riga o colonna con segni appropriati. Questa proprietà fornisce un metodo alternativo per calcolare il determinante ed è utile nelle situazioni in cui la matrice non è triangolare.

  • Inoltre, il determinante può essere calcolato prendendo il prodotto degli elementi sulla diagonale principale della matrice, dividendolo per il determinante della matrice dei cofattori, minori o aggiunti. Queste matrici derivano dalla matrice originale e hanno proprietà uniche che le rendono utili nel calcolo del determinante.

Calcolo del determinante di una matrice utilizzando numpy

Per calcolare il determinante di una matrice utilizzando numpy, possiamo utilizzare la funzione linalg.det(). Questa funzione prende una matrice come input e restituisce il determinante della matrice. Diamo un'occhiata ad un esempio −

import numpy as np
# create a 2x2 matrix
matrix = np.array([[5, 6], [7, 8]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)

Produzione

-2.000000000000005

Spiegazione del codice

Come puoi vedere, la funzione linalg.det() calcola il determinante della matrice e lo restituisce come valore scalare. In questo caso, il determinante della matrice è -2.0.

Calcolo del determinante di una matrice di dimensione superiore

Per calcolare il determinante di una matrice di dimensione superiore, possiamo utilizzare la stessa funzione linalg.det(). Diamo un'occhiata ad un esempio −

import numpy as np
# create a 3x3 singular matrix
matrix = np.array([[20, 21, 22], [23, 24, 25], [26, 27, 28]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)

Produzione

2.131628207280298e-14

Spiegazione del codice

Come puoi vedere, la funzione linalg.det() può essere utilizzata anche per calcolare il determinante di una matrice di dimensione superiore. In questo caso, il determinante della matrice è 0,0.

Calcolo del determinante di una matrice singolare

matrice singolare è una matrice che non ha inversa. Il determinante di una matrice singolare è 0, il che significa che non è invertibile. Diamo un'occhiata ad un esempio −

Esempio 1

Nell'esempio seguente, la funzione linalg.det() restituisce 0 per una matrice singolare, il che indica che non è invertibile.

import numpy as np
# create a 3x3 matrix
matrix = np.array([[10, 11, 12], [13, 14, 15], [16, 17, 18]])
# calculate the determinant of the matrix
determinant = np.linalg.det(matrix)
print(determinant)

Produzione

0.0

Esempio 2

La funzione linalg.slogdet() restituisce il segno e il logaritmo del determinante di una matrice. Il determinante viene calcolato utilizzando il metodo di scomposizione LU, che è più stabile e accurato rispetto al metodo utilizzato dalla funzione linalg.det().

Un vantaggio dell'utilizzo della funzione linalg.slogdet() è che è più stabile e precisa della funzione linalg.det(), soprattutto per matrici di grandi dimensioni. Tuttavia, tieni presente che restituisce il logaritmo del determinante, quindi dovrai prendere l'esponente del risultato per ottenere il determinante effettivo

import numpy as np
# create a 3x3 matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# calculate the determinant of the matrix using the linalg.slogdet() function
sign, determinant = np.linalg.slogdet(matrix)
print(determinant)

Produzione

-inf

Conclusione

Questo articolo ci ha insegnato come calcolare il determinante di una matrice utilizzando Python numpy. Abbiamo esaminato la definizione e le proprietà del determinante e abbiamo visto come calcolare il determinante di una matrice utilizzando la funzione linalg.det(). Abbiamo anche esaminato alcuni esempi per vedere come funziona nella pratica. Abbiamo anche imparato come calcolare il determinante di una matrice utilizzando numpy in Python.

Il determinante è un valore scalare che può essere utilizzato per rappresentare una matrice in forma compatta e ha numerose applicazioni in vari campi. Per calcolare il determinante di una matrice utilizzando numpy, possiamo utilizzare la funzione linalg.det(), che prende una matrice come input e restituisce il determinante. In alternativa possiamo utilizzare la funzione linalg.slogdet(), che restituisce il segno e il logaritmo del determinante utilizzando il metodo di scomposizione LU. Entrambe le funzioni ci consentono di calcolare facilmente il determinante di una matrice in Python e sono strumenti utili per chiunque lavori con le matrici in applicazioni scientifiche e ingegneristiche.

Articoli correlati: