Lezione 14


1 Invertibilità

In questa lezione affronteremo il problema dell’invertibilità di una funzione lineare o, equivalentemente, di una matrice e descriveremo un algoritmo per calcolare l’inversa di una matrice.

Una funzione lineare f:VW:𝑓𝑉𝑊 è invertibile se esiste una funzione lineare g:WV:𝑔𝑊𝑉 tale che gf=idV𝑔𝑓subscriptid𝑉 e fg=idW𝑓𝑔subscriptid𝑊. Può accadere che f𝑓 non sia invertibile ma che esista comunque una funzione lineare g:WV:𝑔𝑊𝑉 tale che gf=idV𝑔𝑓subscriptid𝑉 (in tal caso non si potrà però avere anche fg=idW𝑓𝑔subscriptid𝑊, altrimenti f𝑓 sarebbe invertibile); oppure potrebbe essere fg=idW𝑓𝑔subscriptid𝑊 ma non gf=idV𝑔𝑓subscriptid𝑉. Una funzione g𝑔 siffatta non è l’inversa di f𝑓, ma si comporta come tale solo da sinistra oppure solo da destra.

Definizione. Sia f:VW:𝑓𝑉𝑊 una funzione lineare. Se esiste una funzione lineare g:WV:𝑔𝑊𝑉 tale che gf=idV𝑔𝑓subscriptid𝑉, tale g𝑔 è detta una inversa sinistra di f𝑓. Se si ha invece fg=idW𝑓𝑔subscriptid𝑊, g𝑔 è detta una inversa destra di f𝑓.

Può accadere che una funzione lineare ammetta un’inversa sinistra ma non un’inversa destra, oppure un’inversa destra ma non un’inversa sinistra. Tuttavia se esistono sia un’inversa sinistra che un’inversa destra di f𝑓 queste devono necessariamente essere uguali e, in tal caso, f𝑓 è invertibile.

Supponiamo infatti che gssubscript𝑔𝑠 sia un’inversa sinistra e che gdsubscript𝑔𝑑 sia un’inversa destra di f𝑓. Per la proprietà associativa della composizione di funzioni, si ha

(gsf)gd=gs(fgd)subscript𝑔𝑠𝑓subscript𝑔𝑑subscript𝑔𝑠𝑓subscript𝑔𝑑

Ma gsf=idVsubscript𝑔𝑠𝑓subscriptid𝑉 e fgd=idW𝑓subscript𝑔𝑑subscriptid𝑊, perché gssubscript𝑔𝑠 e gdsubscript𝑔𝑑 sono, rispettivamente, un’inversa sinistra e un’inversa destra di f𝑓. L’uguaglianza precedente diventa quindi

idVgd=gsidWsubscriptid𝑉subscript𝑔𝑑subscript𝑔𝑠subscriptid𝑊

da cui segue gd=gssubscript𝑔𝑑subscript𝑔𝑠.

Il risultato seguente chiarisce sotto quali condizioni una funzione lineare ammette un’inversa sinistra oppure destra.

Teorema. Sia f:VW:𝑓𝑉𝑊 una funzione lineare.

  1. 1.

    Esiste un’inversa sinistra di f𝑓 se e solo se f𝑓 è iniettiva.

  2. 2.

    Esiste un’inversa destra di f𝑓 se e solo se f𝑓 è suriettiva.

Dimostrazione. (1) Supponiamo che esista un’inversa sinistra gssubscript𝑔𝑠 di f𝑓, cioè una funzione gs:WV:subscript𝑔𝑠𝑊𝑉 tale che gsf=idVsubscript𝑔𝑠𝑓subscriptid𝑉. Per dimostrare che f𝑓 è iniettiva basta dimostrare che Ker(f)={0}Ker𝑓0. Sia dunque vKer(f)𝑣Ker𝑓. Si ha:

v=idV(v)=(gsf)(v)=gs(f(v))=gs(0)=0.𝑣subscriptid𝑉𝑣subscript𝑔𝑠𝑓𝑣subscript𝑔𝑠𝑓𝑣subscript𝑔𝑠00

Questo dimostra che l’unico vettore v𝑣 che appartiene al nucleo di f𝑓 è il vettore nullo, quindi Ker(f)={0}Ker𝑓0 e, di conseguenza, f𝑓 è iniettiva.

Viceversa, supponiamo che f𝑓 sia iniettiva e cerchiamo di costruire una sua inversa sinistra gssubscript𝑔𝑠. Fissiamo una base {v1,,vn}subscript𝑣1subscript𝑣𝑛 di V𝑉. Sappiamo che l’insieme dei vettori {w1=f(v1),w2=f(v2),,wn=f(vn)}formulae-sequencesubscript𝑤1𝑓subscript𝑣1formulae-sequencesubscript𝑤2𝑓subscript𝑣2subscript𝑤𝑛𝑓subscript𝑣𝑛 è un insieme libero (perché f𝑓 è iniettiva), quindi possiamo completarlo a una base {w1,,wn,wn+1,,wn+r}subscript𝑤1subscript𝑤𝑛subscript𝑤𝑛1subscript𝑤𝑛𝑟 di W𝑊. Per definire la funzione lineare gs:WV:subscript𝑔𝑠𝑊𝑉 è sufficiente specificare le immagini dei vettori della base {w1,,wn,wn+1,,wn+r}subscript𝑤1subscript𝑤𝑛subscript𝑤𝑛1subscript𝑤𝑛𝑟 di W𝑊. Definiamo quindi gssubscript𝑔𝑠 ponendo gs(wi)=visubscript𝑔𝑠subscript𝑤𝑖subscript𝑣𝑖, per i=1,,n𝑖1𝑛 e gs(wn+1)=gs(wn+2)==gs(wn+r)=0subscript𝑔𝑠subscript𝑤𝑛1subscript𝑔𝑠subscript𝑤𝑛2subscript𝑔𝑠subscript𝑤𝑛𝑟0. Verifichiamo ora che la funzione gssubscript𝑔𝑠 così definita è un’inversa sinistra di f𝑓. Sia v=λ1v1++λnvnV𝑣subscript𝜆1subscript𝑣1subscript𝜆𝑛subscript𝑣𝑛𝑉, si ha:

(gsf)(v)subscript𝑔𝑠𝑓𝑣 =gs(f(v))=gs(f(i=1nλivi))=gs(i=1nλif(vi))absentsubscript𝑔𝑠𝑓𝑣subscript𝑔𝑠𝑓superscriptsubscript𝑖1𝑛subscript𝜆𝑖subscript𝑣𝑖subscript𝑔𝑠superscriptsubscript𝑖1𝑛subscript𝜆𝑖𝑓subscript𝑣𝑖
=gs(i=1nλiwi)=i=1nλigs(wi)=i=1nλivi=v.absentsubscript𝑔𝑠superscriptsubscript𝑖1𝑛subscript𝜆𝑖subscript𝑤𝑖superscriptsubscript𝑖1𝑛subscript𝜆𝑖subscript𝑔𝑠subscript𝑤𝑖superscriptsubscript𝑖1𝑛subscript𝜆𝑖subscript𝑣𝑖𝑣

Poiché questa uguaglianza vale per ogni vV𝑣𝑉, si ha che gsf=idVsubscript𝑔𝑠𝑓subscriptid𝑉, il che dimostra che gssubscript𝑔𝑠 è un’inversa sinistra di f𝑓.

(2) Supponiamo che esista un’inversa destra gdsubscript𝑔𝑑 di f𝑓, cioè una funzione gd:WV:subscript𝑔𝑑𝑊𝑉 tale che fgd=idW𝑓subscript𝑔𝑑subscriptid𝑊. Dato wW𝑤𝑊 poniamo v=gd(w)𝑣subscript𝑔𝑑𝑤. Si ha:

f(v)=f(gd(w))=(fgd)(w)=idW(w)=w,𝑓𝑣𝑓subscript𝑔𝑑𝑤𝑓subscript𝑔𝑑𝑤subscriptid𝑊𝑤𝑤

il che significa che wIm(f)𝑤Im𝑓 e dunque f𝑓 è suriettiva.

Viceversa, supponiamo che f𝑓 sia suriettiva e cerchiamo di costruire una sua inversa destra gdsubscript𝑔𝑑. Fissiamo una base {w1,,wm}subscript𝑤1subscript𝑤𝑚 di W𝑊. Dato che f𝑓 è suriettiva, per ogni wjsubscript𝑤𝑗 (j=1,,m𝑗1𝑚) esiste un vettore vjVsubscript𝑣𝑗𝑉 tale che f(vj)=wj𝑓subscript𝑣𝑗subscript𝑤𝑗. Poiché per definire una funzione lineare è sufficiente specificare le immagini dei vettori di una base del dominio, possiamo definire gd:WV:subscript𝑔𝑑𝑊𝑉 ponendo gd(wj)=vjsubscript𝑔𝑑subscript𝑤𝑗subscript𝑣𝑗, per j=1,,m𝑗1𝑚. Verifichiamo ora che la funzione gdsubscript𝑔𝑑 così definita è un’inversa destra di f𝑓. Sia w=μ1w1++μmwmW𝑤subscript𝜇1subscript𝑤1subscript𝜇𝑚subscript𝑤𝑚𝑊, si ha:

(fgd)(w)𝑓subscript𝑔𝑑𝑤 =f(gd(w))=f(gd(j=1mμjwj))=f(j=1mμjgd(wj))absent𝑓subscript𝑔𝑑𝑤𝑓subscript𝑔𝑑superscriptsubscript𝑗1𝑚subscript𝜇𝑗subscript𝑤𝑗𝑓superscriptsubscript𝑗1𝑚subscript𝜇𝑗subscript𝑔𝑑subscript𝑤𝑗
=f(j=1mμjvj)=j=1mμjf(vj)=j=1mμjwj=w.absent𝑓superscriptsubscript𝑗1𝑚subscript𝜇𝑗subscript𝑣𝑗superscriptsubscript𝑗1𝑚subscript𝜇𝑗𝑓subscript𝑣𝑗superscriptsubscript𝑗1𝑚subscript𝜇𝑗subscript𝑤𝑗𝑤

Poiché questa uguaglianza vale per ogni wW𝑤𝑊, si ha che fgd=idW𝑓subscript𝑔𝑑subscriptid𝑊, il che dimostra che gdsubscript𝑔𝑑 è un’inversa destra di f𝑓.

1.1 Calcolo dell’inversa di una matrice

Vogliamo ora descrivere un algoritmo, derivato dal metodo di eliminazione di Gauss, per il calcolo dell’inversa di una matrice quadrata. Tale algoritmo si basa sull’osservazione che effettuare delle operazioni elementari sulle righe di una matrice A𝐴 equivale a moltiplicare A𝐴, a sinistra, per un’opportuna matrice invertibile.

Consideriamo, ad esempio, l’operazione che consiste nello scambio di due righe della matrice A𝐴. Per ogni i,j=1,,nformulae-sequence𝑖𝑗1𝑛, con ij𝑖𝑗, indichiamo con P(i,j)𝑃𝑖𝑗 la matrice i cui elementi ph,ksubscript𝑝𝑘 (con 1h,knformulae-sequence1𝑘𝑛) sono dati da:

ph,k={1se h=khihj,1se h=i e k=j oppure se h=j e k=i,0altrimenti.subscript𝑝𝑘cases1se h=khihj1se h=i e k=j oppure se h=j e k=i0altrimenti

Se A𝐴 è una matrice n×n𝑛𝑛 e se poniamo A=P(i,j)Asuperscript𝐴𝑃𝑖𝑗𝐴, si verifica facilmente che la matrice Asuperscript𝐴 è ottenuta dalla matrice A𝐴 semplicemente scambiando tra loro le righe i𝑖-esima e j𝑗-esima. Ad esempio, se n=4𝑛4, i=1𝑖1, j=3𝑗3, si ha

P(1,3)=(0010010010000001)𝑃13matrix0010010010000001

e

(0010010010000001)(a1,1a1,2a1,3a1,4a2,1a2,2a2,3a2,4a3,1a3,2a3,3a3,4a4,1a4,2a4,3a4,4)=(a3,1a3,2a3,3a3,4a2,1a2,2a2,3a2,4a1,1a1,2a1,3a1,4a4,1a4,2a4,3a4,4)matrix0010010010000001matrixsubscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14subscript𝑎21subscript𝑎22subscript𝑎23subscript𝑎24subscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44matrixsubscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎21subscript𝑎22subscript𝑎23subscript𝑎24subscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44

Da quanto appena detto segue immediatamente che

P(i,j)2=P(i,j)P(i,j)=I,𝑃superscript𝑖𝑗2𝑃𝑖𝑗𝑃𝑖𝑗𝐼

quindi le matrici P(i,j)𝑃𝑖𝑗 sono invertibili.

Consideriamo ora la matrice M(i;λ)=(mh,k)𝑀𝑖𝜆subscript𝑚𝑘 definita, per ogni i=1,,n𝑖1𝑛 e ogni λK𝜆𝐾, λ0𝜆0, ponendo

mh,k={1se h=khi,λse h=k=i,0altrimenti.subscript𝑚𝑘cases1se h=khi𝜆se h=k=i0altrimenti

La moltiplicazione a sinistra di M(i;λ)𝑀𝑖𝜆 per una matrice A𝐴 ha come effetto quello di moltiplicare la i𝑖-esima riga di A𝐴 per λ𝜆. Ad esempio, se n=4𝑛4 e i=2𝑖2, si ha

M(2;λ)=(10000λ0000100001)𝑀2𝜆matrix10000𝜆0000100001

e

(10000λ0000100001)(a1,1a1,2a1,3a1,4a2,1a2,2a2,3a2,4a3,1a3,2a3,3a3,4a4,1a4,2a4,3a4,4)=(a1,1a1,2a1,3a1,4λa2,1λa2,2λa2,3λa2,4a3,1a3,2a3,3a3,4a4,1a4,2a4,3a4,4)matrix10000𝜆0000100001matrixsubscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14subscript𝑎21subscript𝑎22subscript𝑎23subscript𝑎24subscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44matrixsubscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14𝜆subscript𝑎21𝜆subscript𝑎22𝜆subscript𝑎23𝜆subscript𝑎24subscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44

Notiamo che, poiché si è supposto λ0𝜆0, si ha

M(i;λ)M(i;λ1)=I,𝑀𝑖𝜆𝑀𝑖superscript𝜆1𝐼

quindi le matrici M(i;λ)𝑀𝑖𝜆 sono invertibili.

Infine, per ogni i,j=1,,nformulae-sequence𝑖𝑗1𝑛, con ij𝑖𝑗, e ogni αK𝛼𝐾, definiamo una matrice S(i,j;α)=(sh,k)𝑆𝑖𝑗𝛼subscript𝑠𝑘 ponendo

sh,k={1se h=k,αse h=i e k=j,0altrimenti.subscript𝑠𝑘cases1se h=k𝛼se h=i e k=j0altrimenti

Se A𝐴 è una matrice n×n𝑛𝑛 e se poniamo A=S(i,j;α)Asuperscript𝐴𝑆𝑖𝑗𝛼𝐴, è immediato verificare che la matrice Asuperscript𝐴 è ottenuta dalla matrice A𝐴 sommando alla i𝑖-esima riga la j𝑗-esima moltiplicata per α𝛼. Ad esempio, se n=4𝑛4, i=2𝑖2, j=4𝑗4, si ha

S(2,4;α)=(1000010α00100001)𝑆24𝛼matrix1000010𝛼00100001

e

(1000010α00100001)(a1,1a1,2a1,3a1,4a2,1a2,2a2,3a2,4a3,1a3,2a3,3a3,4a4,1a4,2a4,3a4,4)==(a1,1a1,2a1,3a1,4a2,1+αa4,1a2,2+αa4,2a2,3+αa4,3a2,4+αa4,4a3,1a3,2a3,3a3,4a4,1a4,2a4,3a4,4)matrix1000010𝛼00100001matrixsubscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14subscript𝑎21subscript𝑎22subscript𝑎23subscript𝑎24subscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44matrixsubscript𝑎11subscript𝑎12subscript𝑎13subscript𝑎14subscript𝑎21𝛼subscript𝑎41subscript𝑎22𝛼subscript𝑎42subscript𝑎23𝛼subscript𝑎43subscript𝑎24𝛼subscript𝑎44subscript𝑎31subscript𝑎32subscript𝑎33subscript𝑎34subscript𝑎41subscript𝑎42subscript𝑎43subscript𝑎44

Si ha pertanto

S(i,j;α)S(i,j;α)=I,𝑆𝑖𝑗𝛼𝑆𝑖𝑗𝛼𝐼

quindi le matrici S(i,j;α)𝑆𝑖𝑗𝛼 sono invertibili.

Una successione di operazioni elementari sulle righe di una matrice A𝐴 equivale dunque a una successione di moltiplicazioni, a sinistra, per delle matrici invertibili del tipo descritto in precedenza. Poiché il prodotto di un numero qualsiasi di matrici invertibili è ancora una matrice invertibile, concludiamo che l’effetto di un numero qualunque di operazioni elementari sulle righe di una matrice A𝐴 può essere ottenuto semplicemente moltiplicando la matrice A𝐴, a sinistra, per un’opportuna matrice invertibile.

Osservazione. Si verifica facilmente che moltiplicare una matrice A𝐴 a destra per le matrici P(i,j)𝑃𝑖𝑗, M(i;λ)𝑀𝑖𝜆 e S(i,j;α)𝑆𝑖𝑗𝛼 descritte in precedenza equivale ad effettuare delle operazioni elementari sulle colonne di A𝐴. Più precisamente, se poniamo A=AP(i,j)superscript𝐴𝐴𝑃𝑖𝑗, la matrice Asuperscript𝐴 è ottenuta scambiando tra loro la i𝑖-esima e la j𝑗-esima colonna di A𝐴, se A=AM(i;λ)superscript𝐴𝐴𝑀𝑖𝜆 allora Asuperscript𝐴 è ottenuta moltiplicando per λ𝜆 la i𝑖-esima colonna di A𝐴, e se A=AS(i,j;α)superscript𝐴𝐴𝑆𝑖𝑗𝛼 allora Asuperscript𝐴 è ottenuta dalla matrice A𝐴 sommando alla j𝑗-esima colonna la i𝑖-esima colonna moltiplicata per α𝛼. Pertanto, l’effetto di un numero qualunque di operazioni elementari sulle colonne di A𝐴 può essere ottenuto moltiplicando la matrice A𝐴, a destra, per un’opportuna matrice invertibile.

Supponiamo ora che la matrice quadrata A𝐴, di ordine n𝑛, sia invertibile. Tramite operazioni elementari sulle righe è possibile trasformare A𝐴 in una matrice nella forma a scala, in cui il primo elemento non nullo di ciascuna riga può essere reso uguale a 11. Poiché A𝐴 è invertibile, il suo rango deve essere n𝑛, quindi nella forma a scala non ci devono essere righe interamente nulle. Poiché A𝐴 è una matrice quadrata di ordine n𝑛 ciò equivale a dire che la forma a scala che otteniamo dopo l’applicazione dell’algoritmo di eliminazione di Gauss è una matrice Asuperscript𝐴, triangolare superiore, con tutti gli elementi sulla diagonale principale uguali a 11.

Arrivati a questo punto è facile convincersi che, mediante opportune operazioni elementari sulle righe della matrice Asuperscript𝐴, è possibile trasformare quest’ultima nella matrice identica I𝐼. Se indichiamo con B𝐵 la matrice che rappresenta l’effetto di tutte le operazioni elementari sulle righe che abbiamo eseguito per trasformare la matrice A𝐴 nella matrice identica, si ha dunque BA=I𝐵𝐴𝐼. La matrice B𝐵 è pertanto l’inversa della matrice A𝐴. Essa può quindi essere determinata tenendo scrupolosamente conto di tutte le matrici corrispondenti alle operazioni elementari sulle righe che sono state effettuate.

Un metodo molto più efficace per determinare la matrice B𝐵 è il seguente. Scriviamo a fianco della matrice A𝐴 la matrice identica I𝐼, in modo da ottenere una matrice con n𝑛 righe e 2n2𝑛 colonne che indicheremo con (A|I)conditional𝐴𝐼. In questo modo tutte le operazioni che eseguiremo sulle righe di A𝐴 dovranno essere effettuate anche sulle righe della matrice I𝐼. L’effetto di queste operazioni elementari è equivalente alla moltiplicazione a sinistra per la matrice (incognita) B𝐵. Si ha pertanto:

B(A|I)=(BA|BI)=(I|B).𝐵conditional𝐴𝐼conditional𝐵𝐴𝐵𝐼conditional𝐼𝐵

Ciò significa che quando avremo trasformato la matrice A𝐴 nella matrice identica, la matrice I𝐼 scritta a destra di A𝐴 sarà stata automaticamente trasformata nella matrice B𝐵, la quale non è altro che l’inversa di A𝐴.

A titolo di esempio, applichiamo l’algoritmo appena descritto per determinare l’inversa della matrice

A=(121130122)𝐴matrix121130122

Per prima cosa affianchiamo alla matrice A𝐴 la matrice identica, ottenendo

(121100130010122001)matrix121absent100130absent010122absent001

A questo punto, utilizzando operazioni elementari sulle righe, cerchiamo di trasformare la matrice A𝐴 nella matrice identica. Se riusciamo a fare ciò, la matrice che troveremo a destra sarà la matrice inversa di A𝐴.

In dettaglio le operazioni da fare sono, ad esempio, le seguenti: sottraiamo alla seconda riga la prima, e alla terza riga la prima, ottenendo

(121100011110001101)matrix121absent100011absent110001absent101

Ora sommiamo alla seconda riga la terza, mentre alla prima sottraiamo la terza, ottenendo

(120201010211001101)matrix120absent201010absent211001absent101

Ora sommiamo alla prima riga la seconda moltiplicata per 22, ottenendo

(100623010211001101)matrix100absent623010absent211001absent101

Si ha pertanto

A1=(623211101)superscript𝐴1matrix623211101

Come esercizio si verifichi che la matrice appena trovata è effettivamente l’inversa di A𝐴, cioè che AA1=I𝐴superscript𝐴1𝐼.

Osservazione. Se la matrice A𝐴 di cui si cerca l’inversa non fosse invertibile essa avrebbe rango strettamente minore di n𝑛, quindi la sua forma a scala Asuperscript𝐴, ottenuta nella prima parte dell’algoritmo precedentemente descritto, avrebbe almeno una riga interamente nulla. Ci accorgeremmo così che A𝐴 non è invertibile.