Come calcolare la matrice inversa con python

Per trovare la matrice inversa di una matrice quadrata con in linguaggio python, utilizzo la funzione linalg.inv della libreria numpy.

import numpy
numpy.linalg.inv(x)

L'argomento x è la matrice quadrata da trasformare in matrice inversa.

La funzione prende in input una variabile array ( matrice quadrata ) e restituisce in output la sua matrice inversa.

Cos'è una matrice inversa? Si tratta di una matriche quadrata A-1 che moltiplicata con una matrice invertibile A determina come risultato una matrice identità.
il calcolo della matrice inversa

Un esempio pratico

Per usare le funzioni di algebra lineare, importo il modulo Numpy nell'interprete python.

import python

Poi definisco la matrice quadrata in input tramite la funzione numpy.array e la assegno alla variabile m.

m=numpy.array([[2,-1,0],[1,1,1],[0,1,-1]])

Si tratta di una matrice 3x3 perché è composta da una lista con tre liste interne, ogni lista ha tre elementi.

$$ \begin{pmatrix} 2 & -1 & 0 \\ 1 & 1 & 1 \\ 0 & 1 & -1 \end{pmatrix} $$

Infine calcolo la sua matrice inversa con linalg.inv

numpy.linalg.inv(m)

E' uno degli strumenti di algebra lineare della funzione linalg.

La funzione restituisce in output una stringa contenente l'array della matrice inversa.

array([[ 0.4, 0.2, 0.2],
[-0.2, 0.4, 0.4],
[-0.2, 0.4, -0.6]])

Gli elementi della matrice inversa sono restituiti come lista nidificata di valori reali.

Ad esempio la frazione di interi 2/5 diventa 0.4, la frazione 1/5 diventa 0.2, ecc.

$$ \begin{pmatrix} 0.4 & 0.2 & 0.2 \\ -0.2 & 0.4 & 0.4 \\ -0.2 & 0.4 & -0.6 \end{pmatrix} $$

Ho così calcolato la matrice inversa con python.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Numpy

I metodi e le funzioni