Matrice identità con NumPy in Python
Questa guida esplora in dettaglio come creare una matrice identità utilizzando NumPy, approfondendo le sue caratteristiche, l'utilizzo e le possibili applicazioni pratiche.
Definizione di matrice identità
La matrice identità è una matrice quadrata, ossia una matrice che ha lo stesso numero di righe e colonne, in cui tutti gli elementi della diagonale principale (dal primo elemento in alto a sinistra all'ultimo in basso a destra) sono pari a 1, mentre tutti gli altri elementi sono 0. In notazione matematica, una matrice identità di ordine n×n è rappresentata come In. Ad esempio, una matrice identità di ordine 3 è:
\(I_3 = \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\)
La matrice identità è particolarmente importante perché, in molte operazioni matriciali, agisce come l'elemento neutro rispetto alla moltiplicazione, simile al numero 1 nell'aritmetica ordinaria.
Creare una matrice identità con la funzione identity di NumPy
NumPy fornisce una funzione molto semplice per creare una matrice identità: numpy.identity().
La sintassi di base per creare una matrice identità è:
import numpy as np
I = np.identity(n, dtype=None)
dove:
n: Numero di righe e colonne della matrice (ordine della matrice).
dtype (opzionale): Tipo di dato degli elementi della matrice (ad esempio int, float). Se non specificato, viene utilizzato il tipo predefinito.
Esempio di utilizzo della funzione identity di NumPy
Di seguito viene creata una matrice identità di ordine 3 utilizzando la funzione identity di NumPy:
import numpy as np
matrice = np.identity(3)
In questo esempio, abbiamo creato una matrice identità di ordine 3x3. Ogni elemento della diagonale principale è 1, mentre tutti gli altri elementi sono 0.
Se vogliamo specificare il tipo di dato contenuto all’interno della matrice possiamo specificare il parametro dtype della funzione identity:
import numpy as np
matrice = np.identity(4, dtype=int)
In questo caso, abbiamo creato una matrice identità 4x4 con elementi di tipo intero (int), il che può essere utile quando si lavora con algoritmi che richiedono precisione su tipi di dati specifici.
Creare matrice identità con la funzione eye di NumPy
Un'altra funzione di NumPy per creare matrici identità, ma più flessibile, è numpy.eye(). Questa funzione permette di creare una matrice identità personalizzata, dove è possibile specificare non solo l'ordine della matrice ma anche la posizione della diagonale principale.
La sua sintassi è la seguente:
import numpy as np
I = np.eye(N, M=None, k=0, dtype=float)
dove:
N: Numero di righe della matrice.
M (opzionale): Numero di colonne della matrice. Se non specificato, assume lo stesso valore di N, creando una matrice quadrata.
k (opzionale): Indica la posizione della diagonale:
k=0 (default) per la diagonale principale.
k>0 per le diagonali sopra la principale.
k<0 per le diagonali sotto la principale.
dtype (opzionale): Tipo di dato degli elementi.
import numpy as np
matrice = np.eye(3)