Lezioni di Geometria

Franco Ghione


Capitolo XI





XI 1. Decomposizione ortonormale di un vettore


Consideriamo in questo paragrafo uno spazio vettoriale V su R con un prodotto scalare. Spazi di questo tipo sono tutti i sottospazi di Rn o di uno spazio di vettori geometrici.

Definizione
Un insieme di vettori {e1,e2,...,ek} di V formano una famiglia ortonormale di vettori se sono a due ortogonali e di modulo 1.

In formule:

ei . ej = di,j

dove di,j è il simbolo di Kronecker che vale 1 se i = j, zero altrimenti.
Una base di V formata da un insieme di vettori ortonormale, si chiama una base ortonormale di V.

La base, usata spesso dai fisici, {i, j, k} dello spazio dei vettori geometrici è una base ortonormale: i e j sono due direzioni orizzontali ortogonali tra loro (normalmente i diretto a est e j a nord) mentre k è orientato verticalmente verso lo zenit. I vettori risultano così ortogonali a due a due e sono poi presi di modulo 1 (cosa che si può esprimere dicendo con un linguaggio sopratutto fisico, che sono dei versori).

Notiamo che questa base ortonormale è definita solo a partire dalla posizione di un uomo in un dato punto dello spazio poichè solo rispetto a questo le parole orizzontale verticale hanno un significato.

In Rn invece abbiamo una base che si impone immediatamente all'attenzione che è la base canonica, quella formata dai vettori (1,0,0,...,0), (0,1,0,...,0), (0,0,1,..,0), ... , (0,0,0,...,1). Si vede facilmente, per come è definito il prodotto scalare in Rn, che questi vettori sono a due a due ortogonali e sono tutti di modulo 1. La base canonica è dunque una (non la sola ovviamente) base ortonormale Rn.

Le basi ortonormali sono molto utili nello studio degli spazi vettoriali. Ad esempio se {e1,e2,...,en} è una base ortonormale di V allora le componenti di un qualunque vettore u, in quella base, sono le sue proiezioni ortogonali sui vettori ei. Ricordiamo che, nel contesto dei vettori geometrici, se e è un vettore di modulo 1 allora la proiezione ortogonale di un vettore u lungo la direzione e

è il vettore AB = (u.e)e, infatti il segmento AB ha come lunghezza |u|cos(t) e poichè e è di modulo 1 tale numero coincide con |e||u|cos(t) = u.e. Ne segue che i vettori AB e (u.e)e sono uguali perché hanno la stessa direzione lo stesso verso (quello di e) e lo stesso modulo.
La situazione geometrica ci permette, usando i nostri postulati, di definire in astratto, nel contesto di uno spazio vettoriale qualunque, la proiezione ortogonale di un vettore u sul versore e: tale proiezione è il vettore (u.e)e.
In generale se:

u = a1 e1 + a2 e2 + ... + an en

le componenti ai della combinazione lineare coincidono con le proiezioni ortogonali di u sul versore ei. Abbiamo infatti, moltiplicando scalarmente per ei:

u.ei = (a1 e1 + a2 e2 + ... + an en).ei =
= a1(e1.ei) + a2(e2 .ei) + ... + an(en.ei) = ai

e quindi
u = (u.e1)e1 + (u.e2)e2 + ... + (u.en)en

La decomposizione di un vettore nelle sue componenti ortonormali si chiama appunto decomposizione ortonormale .



XI 2. L'algoritmo di Gram-Schmidt.

Non sempre è facile trovare una base ortonormale per un dato spazio vettoriale. Se, ad esempio

V = {(x1,x2,x3,x4): x1 + x2 + x3 + x4 = 0}

si vede facilmente che V ha dimensione minore di 4 essendo un sottospazio proprio di R4, inoltre i 3 vettori di V

u1 = (1,-1,0,0) , u2 = (0,1,-1,0) , u3 = (0,0,1,-1)

sono linearmente indipendenti e dunque V è di dimensione 3 e questi tre vettori sono una sua base. Tuttavia questi vettori non sono ortogonali tra loro. Ad esempio u1 non è ortogonale a u2 dato che u1.u2 = -1. Anche dal punto di vista dei moduli questi vettori non vanno bene dato che hanno tutti come modulo la radice di 2.

L'algoritmo di Gram-Schmidt, che ora esponiamo, da un procedimento per ricavare da un qualunque insieme di generatori di un dato spazio vettoriale, una base ortonormale. Sia

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

  • Se u1 = 0 eliminiamolo dal nostro elenco. Sarà ancora Span(u1, u2, ... , um) = Span(u2, ... , um). Se invece u1 non è zero sostituiamolo con il suo normalizzato cioè col vettore

    Il vettore e1 ha modulo 1 e Span(u1, u2, ... , um) = Span(e1, u2, ... , um) dato che
    e1 Span(u1, u2, ... , um) e u1 Span(e1, u2, ... , um).
    Se i vettori della lista sono esauriti, l'algoritmo è finito: {e1} è una base ortonormale di V e dim V = 1, altrimenti tra i generatori di V esiste un altro vettore u2

  • Togliamo da u2 la sua proiezione ortogonale su e1 in modo che il vettore restante
    e'2 = u2 - (u2.e1)e1

    sia ortogonale a e1. Se e'2 = 0 allora u2, essendo combinazione lineare di e1, può essere tolto dalla lista e Span(e1, u2, u3, ... , um) = Span(e1, u3, ... , um). Altrimenti sostituiamo u2 con il normalizzato di e'2 cioè con

    A questo punto e1 e e2 sono due vettori di modulo 1 e ortogonali tra loro. Inoltre

    V= Span(e1, u2, u3, ... , um) = Span(e1, e2, u3, ... , um)

    dato che e2 Span(e1, u2, ... , um) e u2 Span(e1, e2, ... , um).
    Se i vettori della lista sono esauriti, l'algoritmo è finito:{e1,e2} è una base ortonormale di V e dimV = 2, altrimenti tra i generatori di V esiste un altro vettore u3 e possiamo iterare il procedimento.

  • Togliamo da u3 la sua proiezione ortogonale sullo spazio generato da e1 e e2 in modo che il vettore restante
    e'3 = u3 - [(u3.e1)e1 + (u3.e2)e2]

    sia ortogonale sia a e1 che a e2 1 . Se e'3 = 0 allora u3, essendo combinazione lineare di e1 ed e2 , può essere tolto dalla lista e Span(e1, e2, u3 ... , um) = Span(e1, e2, ... , um). Altrimenti sostituiamo u3 con il normalizzato di e'3 cioè con

    A questo punto e1 , e2 , e3 sono tre vettori di modulo 1 e ortogonali tra loro a due a due. Inoltre

    V= Span(e1, e2, u3, ... , um)= Span(e1, e2, e3, ... , um)

    dato che e3 Span(e1, e2, u3, ... , um) e u3 Span(e1, e2, e3, ... , um)
    Se i vettori della lista sono esauriti, l'algoritmo è finito: {e1,e2,e3} è una base ortonormale di V e dim V = 3, altrimenti iteriamo il procedimento col vettore successivo fino ad esaurimento dei vettori.

Esempio
Consideriamo lo spazio vettoriale

V = {(x1,x2,x3,x4): x1 + x2 + x3 + x4 = 0} = Span(u1, u2,u3)

dove

u1 = (1,-1,0,0) , u2 = (0,1,-1,0) , u3 = (0,0,1,-1)

e applichiamo l'algoritmo di Gram-Schmidt a questi tre vettori.









Si vede immediatamente che i tre vettori {e1,e2,e3} sono vettori di V dal momento che la somma delle loro componenti è zero e inoltre sono di modulo 1 e a due a due ortogonali.
E' interessante osservare che se si applica l'algoritmo ordinando diversamente i tre vettori il risultato cambia e il calcolo diventa anche più semplice. Applichiamo l'algoritmo ai vettori

u1 = (1,-1,0,0) , u3 = (0,0,1,-1) , u2 = (0,1,-1,0)

Il calcolo viene più semplice perché ora il secondo vettore è già ortogonale al primo e quindi la proiezione ortogonale del secondo vettore sul primo è nulla e basta normalizzarli dividendoli per il loro modulo. Il risultato finale produce la base


E' immediato controllare che questi vettori sono a due a due ortogonoli, sono di modulo 1 e sono vettori dello spazio V perché la somma delle loro componenti è zero.

Esercizi