Se oggi utilizzo le mie conoscenze per aiutare gli altri, loro faranno lo stesso con me quando ne avrò bisogno.

Spesso si ha a che fare con matrici non invertibili, ciò accade quando il determinante della matrice è nullo. Dire che l'inversa di una matrice A non esiste, significa dire che non esiste una matrice \(A^{-1}\) tale che:

\(AA^{-1}=A^{-1}A=I\)     con \(I\) matrice identica.


Definizione di matrici pseudoinverse

Per definizione, data una matrice  \(A_{m\times n}\) (m righe ed n colonne), si chiama pseudo-inversa di Moore-Penrose \(A^{+}\) la matrice \(n\times m\) (n righe ed m colonne) tale che:

  1. \(A^{+}AA^{+}=A^{+}\)

  2. \(AA^{+}A=A\)

  3. \(AA^{+}\) è simmetrica (hermetiana nel caso di matrici con numeri complessi)

  4. \(A^{+}A\) è simmetrica (hermetiana nel caso di matrici con numeri complessi)

Se la matrice A è invertibile, inversa e pseudoinversa coincidono.


A cosa servono le matrici pseudoinverse?

Nella pratica calcolare l'inversa di una matrice è utile per risolvere sistemi di equazioni lineari del tipo \(Ax=b\).

In generale i sistemi lineari del tipo \(Ax=b\)  possono:

  1. Ammettere un'unica soluzione corrispondente a \(x=A^{-1}b\).

    E' questo il caso di sistemi in cui la matrice è quadrata a rango pieno, ossia il determinante della matrice è diverso da zero.

  2. Ammettere infinite soluzioni.

    E' questo il caso di sistemi con un numero di incognite superiori al numero di equazioni.

    Un esempio è il sistema:\(\begin{cases} x+y+z=3 \\ x-y+z=1 \end{cases}\) la cui matrice associata è: \(A=\left[\begin{array}{crr} 1 & 1 & 1 \\ 1 & -1 & 1 \end{array} \right] \)

  3. Nessuna soluzione.

    E' questo il caso di un sistema con un numero di equazioni superiori al numero di incognite. Un esempio è il sistema:

           \(\begin{cases} x+y=3 \\ x-y=1 \\ x-2y=2 \end{cases}\)  la cui matrice associata è: \(A=\left[\begin{array}{cr} 1 & 1 \\ 1 & -1 \\ 1 & -2 \end{array} \right] \).

La pseudoinversa permette di trovare una soluzione a sistemi lineari per i casi 2 e 3.


Risolvere sistemi lineari con matrici pseudo-inverse

In generale, se consideriamo il sistema lineare  \(Ax=b\) e sappiamo calcolare la pseudoinversa si ha che:

  1. Se la soluzione è unica:

    \(x=A^{+}b=A^{-1}b\)

    .
  2. Se ci sono infinite soluzioni:

    la soluzione che si può considerare è \(x=A^{+}b\) , ossia quella che minimizza la distanza dall'origine. La soluzione con norma minima.

    Esempio:
    \(\begin{cases} x+y+z=3 \\ x-y+z=1 \end{cases}\) la sua pseudoinversa associata è: \(A^{+}=\left[\begin{array}{cr} 0.25 & 0.25 \\ 0.5 & -0.5 \\ 0.25 & 0.25 \end{array} \right] \)

  3. Se non ci sono soluzioni:

    la soluzione che si può considerare è \(x=A^{+}b\) , ossia il vettore che rende minima la distanza fra Ax e b (Problema ai minimi quadrati).

    Esempio:

      \(\begin{cases} x+y=3 \\ x-y=1 \\ x-2y=2 \end{cases}\) la sua pseudoinversa associata è: \(A^{+}=\left[\begin{array}{crr} 0.5714 & 0.2857 & 0.1429 \\ 0.3571 & -0.0714 & -0.2857 \end{array} \right] \)


Calcolatore di matrici pseudoinverse

Il calcolo della matrice pseudoinversa si base sulla decomposizione a valori singolari della matrice. Spesso si utilizzano dei software per il calcolo della martice pseudoinversa. Ti segnalo questo sito http://comnuan.com/cmnn0100f/ in cui puoi inserire la tua matrice e calcolare la pseudoinversa.

 

Leggi anche: