La funzione linalg matrix power di python
La funzione linalg.matrix_power mi consente di calcolare la potenza di una matrice. E' una funzione della libreria numpy.
linalg.matrix_power(m,k)
Dove m è una matrice definita con l'istruzione array, mentre k è un numero intero (positivo, nullo o negativo) che indica l'esponente della potenza.
La funzione linalg_matrix_power restituisce in output un array contenente la potenza della matrice.
Cos'è la potenza di una matrice? Consiste nel moltiplicare la matrice per se stessa tramite il prodotto riga per colonna. Per ulteriore approfondimento matematico rimando ai miei appunti universitari sulla potenza di matrice. Ecco un esempio pratico.
Un esempio pratico
Importo il modulo numpy nell'interprete di python.
import numpy as np
Poi definisco una matrice quadrata 2x2 con quattro elementi tramite la funzione array().
x=np.array([[1,2],[3,1]])
Per calcolare il quadrato della matrice x uso la funzione linalg.matrix_power()
np.linalg.matrix_power(m,2)
La funzione restituisce in ouyput la potenza di 2 della matrice
array([[7, 4],
[6, 7]])
Allo stesso modo posso calcolare il cubo della matrice.
>>np.linalg.matrix_power(m,3)
array([[19, 18],
[27, 19]])
O qualsiasi altra potenza n-esima della matrice.
E così via.
Attenzione. La potenza della matrice non può essere calcolata con gli operatori matematici del prodotto (*) o della potenza (**) tra reali. Non è la stessa cosa. Se facessi x*x o x**2 python calcolerebbe la potenza dei singoli elementi, non della matrice. Da non confondersi.