Sei sulla pagina 1di 5

L’algoritmo di Gauss-Lagrange.

Teorema. Sia ϕ una forma bilineare simmetrica su uno spazio V . Allora esiste
una base B di V tale che GB
B (ϕ) sia una matrice diagonale.

La dimostrazione si basa su un algoritmo, detto Algoritmo di Gauss-Lagrange1 , e


procede cosi’: si consideri una base qualunque E di V , e sia GEE (ϕ) la relativa matrice
di Gram, che in generale sara’ una matrice non diagonale. Affianchiamo a G la matrice
unitaria I, formando la matrice n × 2n (n = dim V )

M := [ G | I ].

Sulla matrice M applichiamo l’Algoritmo di Gauss-Lagrange che dice quanto segue:


Algoritmo di Gauss-Lagrange
Passo 1
1.1 Se la matrice M ha una riga l’algoritmo termina; altrimenti:
1.2 individuare la colonna non nulla con indice piu’ basso, ed il suo pivot aij ; se non
esistono colonne non nulle la matrice e’ nulla e l’algoritmo termina qui; altrimenti:
1.3 se i = j passare ad 1.5; se i ̸= j sommare alla j-esima riga la i-esima riga, e
sommare alla j-esima colonna la i-esima colonna;
1.4 se dopo queste operazioni l’elemento di posto j, j e’ nullo, ripetere il passo 1.3;
altrimenti:
1.5 rendere nulli tutti gli altri elementi della colonna j-esima sommando alle varie
righe opportuni multipli della j-esima riga;
1.6 ripetere sulle colonne le stesse operazioni elementari che sono state effettuate in
1.5 sulle righe, nello stesso ordine.
Passo 2
Ripetere il Passo 1 sulla matrice ottenuta dal passo precedente schermandone le prime
j righe e le prime j colonne.
Passo 3
Ripetere il Passo 2 sulla matrice schermata.
Al termine di questo algoritmo si perviene ad una matrice del tipo:
[ ]
[ G | I ] −→ D | PT

dove D e’ una matrice diagonale e P T una matrice invertibile tale che

D = P T GP.

Quindi se B e’ la base di V costituita da quei vettori le cui coordinate rispetto alla


base E sono date dalle colonne della matrice P (cioe’ se B e’ la base di V tale che
MEB (idV ) = P ), si ha
GBB (ϕ) = D,

1 Su questo algoritmo si puo’ consultare il seguente libro: M. Barnabei e F.Bonetti, Forme quadratiche

e forme bilineari simmetriche, Ed. Pitagora.


2

e cio’ conclude la dimostrazione del Teorema 1. 

Osservazioni. (i) In particolare, denotate con x le coordinate rispetto alla base E,


e con x′ le coordinate rispetto alla base B, si ha x = P x′ , e ϕ(u, v) = xT Gy = x′ Dy′ .
T

(ii) In poche parole, l’idea, che e’ alla base dell’algoritmo e lo giustifica, e’ la seguente.
Lo scopo e’ diagonalizzare G, eseguendo sia operazioni elementari sulle righe di M ,
che sulle colonne, nel seguente modo. Se eseguiamo sulle righe di M un’operazione
elementare e1 , porteremo la matrice M ad una matrice del tipo:

[ E1 G | E1 ],

dove E1 e’ la matrice elementare corrispondente all’operazione elementare e1 . Se es-


eguiamo la stessa operazione e1 sulle colonne, perverremo alla matrice:
[ ]
E1 GE1 T | E1 .

Se eseguiamo un’altra operazione e2 come in precedenza, avremo:


[ ] [ ]
E2 E1 GE1 T E2 T | E2 E1 = E2 E1 G(E2 E1 )T | E2 E1 .

Dopo un certo numero di passi perverremo ad una matrice del tipo


[ ]
EGE T | E ,

con E prodotto di tutte le matrici elementari corrispondenti alle operazioni eseguite.


Supponiamo ora che EGE T sia diventata diagonale D = EGE T . Allora se poniamo
P := E T abbiamo D = P T GP ed E = P T .
(iii) Attenzione: la matrice P a cui si perviene al termine dell’algoritmo, in generale
non sara’ una matrice ortogonale, cioe’ non sara’ vero che P P T = I. In altre parole,
l’algoritmo di Gauss-Lagrange non dimostra il Teorema degli Assi Principali.
(iv) Denotiamo con gij le componenti della matrice G. Supponiamo che g11 ̸= 0.
Allora l’algoritmo dice di sommare alla seconda riga M2 di M , la prima M1 moltiplicata
per − gg11
21
. Nella nuova matrice che cosi’ si forma, al posto della riga M2 , apparira’ una
nuova seconda riga, uguale a M2 − gg11 21
M1 . In tal modo la nuova matrice avra’ la
componente di posto 2, 1 nulla. Questa operazione elementare avra’ l’effetto di portare
la seconda riga di I nella riga
( )
g21
− , 1, 0, . . . , 0 .
g11

Poi occorre eseguire la stessa operazione sulle colonne. Tale operazione non riguardera’
le colonne di I, e la matrice M allora sara’ diventata:
[ ]
EGE T | E ,
3
( )
dove E = E21 − gg11
21
e’ la matrice elementare corrispondente all’operazione che abbi-
amo compiuto. Possiamo interpretare la matrice EGE T come la matrice di Gram di ϕ
rispetto alla nuova base (denotiamo con E = {e1 , e2 , e3 , . . . , en } la base iniziale)
{ }
g21
e1 , e2 − e1 , e3 , . . . , en .
g11

Cioe’ l’operazione eseguita sostituisce il vettore e2 con il vettore

ϕ(e2 , e1 )
e2 − e1 .
ϕ(e1 , e1 )

Questo e’ esattamente quello che fa il procedimento di ortogonalizzazione di Gram-


Schmidt. Infatti l’agoritmo di Gauss-Lagrange ne e’ un perfezionamento, che, in assenza
di vettori isotropi, produce lo stesso risultato.

Esempio 1. Consideriamo la forma bilineare simmetrica ϕ : R2 × R2 → R definita


ponendo
ϕ(u, v) := x1 y1 + 3x1 y2 + 3x2 y1 + 2x2 y2 .
Andiamo a trovare una base che diagonalizzi ϕ.
Svolgimento. A tale proposito, affianchiamo alla matrice di Gram G di ϕ rispetto
alla base canonica la matrice I:
[ ]
1 3 1 0
[ G | I ]= .
3 2 0 1

Applicando l’Algoritmo di Gauss-Lagrange (cioe’ l’operazione elementare sulle righe


e21 (−3) e la stessa operazione sulle colonne e21 (−3)) perveniamo alla matrice
[ ]
[ ] 1 0 1 0
D | P T
= .
0 −7 −3 1

Posto allora B = {(1, 0), (−3, 1)} si ha


[ ]
1 0
GB
B (ϕ) = ,
0 −7

e B e’ la base cercata. Se denotiamo con x′ le coordinate rispetto a tale base abbiamo


[ ]
1 0
x= · x′ e ϕ(u, v) = x′1 y1′ − 7x′2 y2′
−3 1

(quindi se nell’espressione ϕ(u, v) = x1 y1 + 3x1 y2 + 3x2 y1 + 2x2 y2 effettuiamo la sosti-


tuzione {
x1 = x′1 − 3x′2
x2 = x′2
4

e semplifichiamo, otteniamo ϕ(u, v) = x′1 y1′ − 7x′2 y2′ ). 

Esempio 2. Trovare una base che diagonalizzi la forma quadratica q : R2 → R,


dove
q(u) := x1 x2 .

Svolgimento. Come prima, affianchiamo alla matrice di Gram G di q rispetto alla


base canonica la matrice I:
[ ]
0 21 1 0
[ G | I ]= 1 .
2 0 0 1

Applicando l’Algoritmo di Gauss-Lagrange (cioe’ le operazioni elementari e12 (1), e12 (1),
e21 (− 12 ), e21 (− 12 )) perveniamo alla matrice
[ ]
[ ] 1 0 1 1
D | P T
= .
0 − 14 − 12 21

Posto allora B = {(1, 1), (− 12 , 12 )} si ha


[ ]
1 0
GB
B (ϕ) = ,
0 − 14

e B e’ la base cercata. Se denotiamo con x′ le coordinate rispetto a tale base abbiamo


1 2
q(u) = x′1 − x′2 . 
2
4

Esempio 3. Si consideri la forma bilineare simmetrica ϕ : R3 × R3 → R definita


ponendo

ϕ(u, v) := x1 y1 + x1 y2 + x1 y3 + x2 y1 + x2 y3 + x3 y1 + x3 y2 + x3 y3 .

Determinare una base che diagonalizzi ϕ.


Svolgimento. A tale proposito, affianchiamo alla matrice di Gram G di ϕ rispetto
alla base canonica la matrice I:
 
1 1 1 1 0 0
[ G | I ]= 1 0  1 0 1 0.
1 1 1 0 0 1

Applicando l’Algoritmo di Gauss-Lagrange (cioe’ applicando e21 (−1), e21 (−1), e31 (−1),
e31 (−1)) perveniamo alla matrice
 
[ ] 1 0 0 1 0 0
D | PT =  0 −1 0 −1 1 0  .
0 0 0 −1 0 1
5

Posto allora B = {(1, 0, 0), (−1, 1, 0), (−1, 0, 1)} si ha


 
1 0 0
GB
B (ϕ) =  0 −1 0  ,
0 0 0

e B e’ la base cercata. Se denotiamo con x′ le coordinate rispetto a tale base abbiamo

ϕ(u, v) = x′1 y1′ − x′2 y2′ .