Lezioni di Geometria

Franco Ghione





Calcolo di una base per lo spazio ortogonale

L'algoritmo di Gauss fornisce una semplice procedura per calcolare una base per lo spazio ortogonale a un dato spazio vettoriale U diversa da quella che si ricava dall' algoritmo Gram-Schimidt. Il nuovo metodo fa intervenire solo operazioni razionali (somme, sottrazioni, prodotti, divisioni) tra le componenti dei vettori che definiscono U senza far ricorso ad estrazioni di radici quadrate e questo è di grande importanza nella teoria dei numeri dove si cercano soluzioni intere o razionali di equazioni o sistemi di equazioni algebriche. Lo stesso Gauss introduce queste concetti e molti altri concetti sulle matrici e sulle operazioni tra matrici nella sua celebre opera Disquisitiones aritmetique del 1700 dedicata alla teoria dei numeri
Sia V uno spazio vettoriale dotato di un prodotto scalare e supponiamo che U sia un suo sottospazio definito da un sistema di generatori eventualmente non tutti linearmente indipendenti:


U = Span(u1, u2, ... , um).

Vogliamo determinare, a partire da questi vettori una base per lo spazio U ortogonale a U. Fissiamo una base ortonormale di V e siano {e1, e2, ... , en} i vettori di questa base. Possiamo allora esprimere i generatori di U come combinazioni lineari dei vettori della base ortonormale:

u1 = a11e1 + a12e1 + ... + a1nen
u2 = a21e1 + a22e1 + ... + a2nen
. . . . . . . . .
um = am1e1 + am2e1 + ... + amnen

Ora, se x = x1e1 + x2e2 + ... + xnen è un generico vettore di V, allora x appartiene a U se e solo se è ortogonale a ogni vettore di U, ed essendo U generato dai vettori u1, u2, ... , um questo è equivalente al fatto che x sia ortogonale ai vettori ui per ogni i=1,2,...m cioé che

x.ui = (x1e1 + x2e2 + ... + xnen).(ai1e1 + ai2e1 + ... + ainen) =
= x1e1.(ai1e1 + ai2e1 + ... + ainen) +
+ x2e2.(ai1e1 + ai2e1 + ... + ainen) + ...
+ xnen.(ai1e1 + ai2e1 + ... + ainen) =

= ai1x1 + ai2x2 + ... + ainxn = 0

dato che, essendo e1, e2, ... , en una base ortonormale di V, i prodotti ei.ej sono tutti nulli tranne nel caso in cui i=j, caso in cui il prodotto fa 1.
Il vettore x è dunque un vettore dello spazio U se e solo se le sue componenti (x1,x2, ... , xn) soddisfano il seguente sistema omogeneo di m equazioni lineari in n incognite:


Viceversa lo spazio delle soluzioni di un sistema omogeneo di m equazioni lineari in n incognite si interpreta come il sottospazio di Rn ortogonale allo spazio generato dai vettori numerici le cui n componenti siano i coefficienti delle m equazioni. Precisamente a partire dal sistema omogeneo precedente, possiamo costruire i vettori numerici

ui = (ai1, ai2, ... ,ain)         (i=1,2,...,m)

e, per come è definito il prodotto scalare in Rn, lo spazio ortogonale a U = Span(u1,u2, ... , um) è proprio lo spazio delle soluzioni del sistema lineare precedente.

Osserviamo ora che, in generale, se lo spazio U viene generato con altri vettori, magari più semplici dei vettori dai quali siamo partiti, se cioè

U = Span(u1, u2, ... , um) = Span(v1, v2, ... , vk)

dove i nuovi vettori vi sono dati da

vi = bi1e1 + bi2e1 + ... + binen         (i=1,2,...,k)

il nuovo sistema da risolvere diventa:


e le soluzioni dell'uno sono le stesse delle soluzioni dell'altro dato che esse rappresentano i vettori dello stesso spazio U. Il vantaggio è ora che il nuovo sistema, se è ridotto (cioè se la matrice dei suoi coefficenti è ridotta) si lascia risolvere con estrema facilità.

Esempio
Siano u1 = (0,1,1,-1), u2 = (2,-1,7,-1), u3 = (1,-2,2,1), u4 = (3,-8,4,5) quattro vettori numerici di R4 e sia U = Span(u1, u2, u3, u4). Vogliamo calcolare la dimensione di U e una sua base.
La questione si riduce a risolvere il sistema di equazioni


Queste equazioni traducono infatti la condizione che i vettori x che cerchiamo siano ortogonali ai 4 vettori ui che generano lo spazio U. Riduciamo ora, con l'algoritmo di Gauss, la matrice che ha come righe le componenti dei 4 vettori dati:


Poniamo v1 = (1,-2,2,1), v2 = (0,1,1,-1). Tali vettori sono una base per U che risulta uguale a Span(v1, v2) e il sistema iniziale ha le stesse soluzioni del sistema molto più semplice


Per risolvere questo sistema prendiamo x3 e x4 come variabili libere, alle quali possiamo dare dei valori arbitrari ed esprimiamo le altre variabili x1 e x2 in funzione di queste a partire dal basso. Poniamo allora, ad esempio

x3 = t        x4 = s.
Dalla seconda equazione ricaviamo
x2 = -x3 + x4 = -t + s
e dalla prima
x1 = 2x2 - 2x3 - x4 = 2(-t+s)-2t-s = -4t + s
In definitiva abbiamo, comunque si scelgano s e t, le soluzioni


Usando i vettori numerici (colonna) possiamo esprimere le soluzioni nella forma


Chiamando w1 = (-4,-1,1,0), w2 = (1,1,0,1), abbiamo che ogni vettore x ortogonale a U si scrive nella forma x = t w1 + sw2 inoltre w1 e w2 sono linearmente indipendenti e

U = Span(w1, w2)

è un sottospazio vettoriale di R4 di dimensione 2.

Notiamo che la stessa procedura che abbiamo indicato in questo esempio si applica per risolvere un qualunque sistema omogeneo di m equazioni in n incognite. Le soluzioni del sistema non cambiano facendo operazioni elementari sulle righe della matrice dei suoi coefficenti e il sistema si riduce, alla fine dell'algoritmo di Gauss, a un sistema ridotto che può essere risolto facilmente: si attribuiscono valori arbitrari alle variabili libere che sono quelle il cui coefficente non è un pivot, e si risolve il sistema dal basso a partire dall'ultima equazione sostituendo i valori trovati nella equazione precedente fino ad arrivare alla prima equazione, come abbiamo fatto nell'esempio precedente. Ricapitolando quanto abbiamo dedotto, abbiamo che

  • il numero r dei pivot è uguale alla dimensione di U
  • il numero di variabili liberi è uguale a n-r cioè al numero di incognite meno il numero dei pivot
  • La dimensione dello spazio delle soluzioni U è uguale a n-dim U (teorema sulla dimensione dello spazio ortogonale)

Da tutto questo ricaviamo che la dimensione dello spazio delle soluzioni è uguale al numero di variabili liberi. Il concetto generale di dimensione si lega, come si vedrà in corsi più avanzati, all'idea di gradi di libertà e nel caso specifico che abbiamo considerato questa idea acquista un significato preciso e ben chiaro: dire che le soluzioni di un sistema lineare omogeneo sono k, come veniva detto nel secolo XIX significa che le soluzioni dipendono da k variabili libere che possono essere scelte arbitrariamente indipendentemente una dall'altra e questo nel linguaggio di oggi si esprime dicendo che lo spazio vettoriale delle soluzioni del sistema ha dimensione k. Il teorema seguente riassume quanto detto.

Teorema
L'insieme delle soulzioni di un sistema omogeneo di m equazioni lineari in n incognite è uno spazio vettoriale di dimensione n-r essendo r m il rango per righe della matrice dei coefficenti del sistema.

Concludiamo questo paragrafo applicando la nostra teoria ad un problema significativo e non banale: la descrizione di tutti i quadrati magici 4x4. Ricordiamo che un quadrato magico 4x4 è una tabella di numeri

dove la somma dei numeri su ogni riga ogni colonna e ogni diagonale è lo stesso. Dato che la somma di quadrati magici e il prodotto per uno scalare si esegue sulle singole componenti, possiamo identificare un quadrato magico con un vettore numerico x a 16 componenti. Lo spazio V dei quadrati magici di ordine 4 risulta così un sottospazio vettoriale di R16. Naturalmente un vettore x appartiene a V se e solo se le sue componenti verificano le condizioni che definiscono il quadrato magico cioé se e solo se


Si tratta dunque di risolvere un sistema di equazioni lineari omogeneo di 9 equazioni in 16 incognite. La matrice A del sistema è la matrice


Si tratta ora di ridurre la matrice con l'algoritmo di Gauss facendo trasformazioni elementari sulle righe. Alla fine del calcolo si trova la seguente matrice ridotta con i relativi pivot cerchiati in rosso.


La matrice ha rango 8 e quindi la dimensione dello spazio V è data da 16-8 = 8. Per trovare una base di V dobbiamo risolvere il sistema ridotto individuando le 8 variabili libere e partendo dall'ultima equazione. Guardando la matrice si vede che le variabili libere sono x8, x10, x11 x12, x13, x14, x15, x16. Risolvendo il sistema dal basso, chiamando t1, t2, t3, t4, t5, t6, t7, t8 le 8 variabili libere, abbiamo per le ultime 9 incognite, i valori


continuando a risolvere le equazioni dal basso troviamo

x7 = x8 + x9 + x11 + 2x12 - 2x13 - x14 - x15 =
= t8 + (t1 + t2 + t3 + t4 - t5 - t6 - t7 + t6) + 2t5 - 2t4 - t3 - t2 =
= t1 - t4 + t5 - t7 + t8

e dunque

x7 = t1 - t4 + t5 - t7 + t8

Con calcoli analoghi troviamo

x6 = t2 + t3 + 2t4 - t5 - t6 - t8

x5 = t6 + t7 - t8

x4 = t2 + t3 + t4 - t5 -t8

x3 = t3 +2t4 - t5 - t6 + t7 - t8

x2 = t1 - t3 - t4 + t5 + t6 - t7 + t8

x1 = -t4 + t5 + t8

Il coefficiente di t1 nelle 12 variabili fornisce il primo vettore della base che stiamo cercando: abbiamo

u1 = (0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1)

analogamente per gli altri

u2 = (0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0)
u3 = (0,-1,1,1,0,1,0,0,1,0,0,0,0,1,0,0,)
u4 = (-1,-1,2,1,0,2,-1,0,1,0,0,0,1,0,0,0)
u5 = (1,1,-1,-1,0,-1,1,0,-1,0,0,1,0,0,0,0)
u6 = (0,1,-1,0,1,-1,0,0,-1,0,1,0,0,0,0,0)
u7 = (0,-1,1,0,1,0,-1,0,-1,1,0,0,0,0,0,0)
u8 = (1,1,-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0)

Gli 8 vettori che abbiamo trovato sono una base per lo spazio delle soluzioni del sistema e ogni soluzione x si esprime come loro combinazione linare

x = t1u1 + t2u2 + t3u3 + t4 u4 + t5u5 + t6u6 + t7u7 + t8u8

Scrivendo i vettori che abbiamo trovato come quadrati magici possiamo dire che ogni quadrato magico di ordine 4 si esprime in modo unico come combinazione lineare degli 8 quadrati magici rappresentati, nell'ordine, nella figura seguente.


E' immediato verificare, a riprova, che questi 8 diagrammi sono quadrati magici di ordine 4 linearmente indipendenti, infatti la posizione grigia, in ogni quadrato, è nulla in tutti gli altri 7. In particolare, a partire da questa base, è facile scrivere un dato quadrato come combinazione lineare di questi: il coefficiente di u1 sarà quello in basso a sinistra (x16), il coefficiente di u2 sarà x15 ecc. ecc. In particolare il quadrato d di Durer si scrive

d = u1 + 14u2 + 15u3 + 4u4 + 12 u5 + 7u6 + 6u7 + 8u8

Esercizi