Salta al contenuto
Note per Studenti Basi ortonormali e Gram-Schmidt

Basi ortonormali e Gram-Schmidt

In questa pagina 7

Lezione 34, seconda parte (videolezione n. 34). Esercizi svolti: Esercizio 80 · U⊥ da un'equazione, Gram-Schmidt e vettore di minima distanza, Esercizio 81 · base ortogonale, U⊥, proiezione e un sottospazio impossibile, Esercizio 84 · prodotto scalare tra matrici con la traccia, Esercizio 89 · base ortonormale di autovettori e forma quadratica diagonale. Prerequisiti: Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →, Complemento ortogonale e proiezioni ortogonaliL'ortogonale U⊥ di un sottospazio è un sottospazio di dimensione n − dim U, e R^n = U ⊕ U⊥; ogni vettore si scompone in proiezione su U più componente ortogonale; la proiezione è il punto di U più vicino e si calcola con un sistema o con la matrice di proiezione A(AᵀA)⁻¹Aᵀ.Complemento ortogonale e proiezioni ortogonali →. Seguito: Forme bilineari simmetricheUna forma bilineare simmetrica generalizza il prodotto scalare: si rappresenta con una matrice simmetrica, che cambiando base diventa PᵀAP (matrici congruenti); può essere degenere o no, definita positiva, negativa o indefinita; le definite positive sono i prodotti scalari e per esse vale Gram-Schmidt.Forme bilineari simmetriche → (Gram-Schmidt per un prodotto scalare qualsiasi).

Definizioni

Definizione. Un insieme di vettori {v1,…,vk}\{v_1, \dots, v_k\} è

  • ortogonale se vi⋅vj=0v_i \cdot v_j = 0 per ogni i≠ji \ne j;
  • ortonormale se è ortogonale e inoltre ∥vi∥=1\|v_i\| = 1 per ogni ii.

In formula, ortonormale significa vi⋅vj=δijv_i \cdot v_j = \delta_{ij}, dove δij=1\delta_{ij} = 1 se i=ji = j e 00 se i≠ji \ne j ("delta di Kronecker").

Una base ortogonale (ortonormale) è una base che è un insieme ortogonale (ortonormale).

Esempi. La base canonica e1,…,ene_1, \dots, e_n di Rn\mathbb{R}^n è ortonormale. In R2\mathbb{R}^2, {(1,1),(1,−1)}\{(1, 1), (1, -1)\} è ortogonale ma non ortonormale (norme 2\sqrt2); {12(1,1),12(1,−1)}\left\{\frac{1}{\sqrt2}(1, 1), \frac{1}{\sqrt2}(1, -1)\right\} è ortonormale. Più in generale {(cos⁡θ,sin⁡θ),(−sin⁡θ,cos⁡θ)}\{(\cos\theta, \sin\theta), (-\sin\theta, \cos\theta)\} è ortonormale per ogni θ\theta (gli assi ruotati di θ\theta).

Vettori ortogonali non nulli sono indipendenti

Proposizione. Se v1,…,vkv_1, \dots, v_k sono non nulli e a due a due ortogonali, allora sono linearmente indipendentiUna combinazione lineare è una somma di vettori moltiplicati per scalari. I vettori sono linearmente indipendenti se l'unica combinazione che dà il vettore nullo è quella con tutti i coefficienti nulli; altrimenti sono dipendenti, e allora uno di essi è combinazione lineare degli altri.Combinazioni lineari e dipendenza lineare →.

Dimostrazione. Sia λ1v1+⋯+λkvk=0\lambda_1 v_1 + \dots + \lambda_k v_k = 0. Si fa il prodotto scalare di entrambi i membri con vjv_j: a sinistra tutti i termini λi(vi⋅vj)\lambda_i (v_i \cdot v_j) con i≠ji \ne j sono nulli, resta

λj(vj⋅vj)=0⋅vj=0.\lambda_j (v_j \cdot v_j) = 0 \cdot v_j = 0 .

Siccome vj≠0v_j \ne 0, vj⋅vj>0v_j \cdot v_j > 0, quindi λj=0\lambda_j = 0. Vale per ogni jj ∎.

Conseguenza: nn vettori non nulli a due a due ortogonali in Rn\mathbb{R}^n sono automaticamente una base (non serve verificare l'indipendenza).

Perché le basi ortonormali sono comode

Coordinate con i prodotti scalari

Se {f1,…,fn}\{f_1, \dots, f_n\} è una base ortonormale di VV, per ogni v∈Vv \in V: v=(v⋅f1) f1+(v⋅f2) f2+⋯+(v⋅fn) fn.v = (v \cdot f_1)\, f_1 + (v \cdot f_2)\, f_2 + \dots + (v \cdot f_n)\, f_n .

Infatti, scritto v=∑λifiv = \sum \lambda_i f_i, il prodotto scalare con fjf_j dà v⋅fj=λjv \cdot f_j = \lambda_j (tutti gli altri termini sono nulli e fj⋅fj=1f_j \cdot f_j = 1). Le coordinateFissata una base, ogni vettore ha una e una sola lista di coordinate; la funzione vettore → coordinate è un isomorfismo con K^n, quindi ogni spazio di dimensione n si comporta come K^n (ma l'isomorfismo dipende dalla base).Coordinate rispetto a una base → si ottengono quindi senza risolvere sistemi. Con una base solo ortogonale: λj=v⋅fjfj⋅fj\lambda_j = \frac{v \cdot f_j}{f_j \cdot f_j}.

Esempio. Base ortonormale f1=12(1,1)f_1 = \frac{1}{\sqrt2}(1, 1), f2=12(1,−1)f_2 = \frac{1}{\sqrt2}(1, -1), v=(3,1)v = (3, 1): v⋅f1=42=22v \cdot f_1 = \frac{4}{\sqrt2} = 2\sqrt2, v⋅f2=22=2v \cdot f_2 = \frac{2}{\sqrt2} = \sqrt2. Controllo: 22⋅12(1,1)+2⋅12(1,−1)=(2,2)+(1,−1)=(3,1)2\sqrt2 \cdot \frac{1}{\sqrt2}(1, 1) + \sqrt2 \cdot \frac{1}{\sqrt2}(1, -1) = (2, 2) + (1, -1) = (3, 1) ✓.

Prodotto scalare e norma con le coordinate

Se v=∑λifiv = \sum \lambda_i f_i e w=∑μifiw = \sum \mu_i f_i in una base ortonormale, sviluppando per bilinearità restano solo i termini con i=ji = j:

v⋅w=λ1μ1+⋯+λnμn,∥v∥2=λ12+⋯+λn2.v \cdot w = \lambda_1 \mu_1 + \dots + \lambda_n \mu_n, \qquad \|v\|^2 = \lambda_1^2 + \dots + \lambda_n^2 .

Cioè in una base ortonormale il prodotto scalare si calcola con la stessa formula della base canonica. In una base qualsiasi non è così.

Proiezioni con una formula diretta

Se {f1,…,fr}\{f_1, \dots, f_r\} è una base ortonormale di un sottospazio UU, la proiezione ortogonaleL'ortogonale U⊥ di un sottospazio è un sottospazio di dimensione n − dim U, e R^n = U ⊕ U⊥; ogni vettore si scompone in proiezione su U più componente ortogonale; la proiezione è il punto di U più vicino e si calcola con un sistema o con la matrice di proiezione A(AᵀA)⁻¹Aᵀ.Complemento ortogonale e proiezioni ortogonali → è

pU(v)=(v⋅f1)f1+⋯+(v⋅fr)fr,p_U(v) = (v \cdot f_1) f_1 + \dots + (v \cdot f_r) f_r ,

e la matrice di proiezione è P=AATP = A A^T, con AA la matrice che ha le fif_i come colonne.

Matrici ortogonali

Se si mettono in colonna i vettori di una base ortonormale di Rn\mathbb{R}^n si ottiene una matrice PP con PTP=IP^T P = I (l'elemento (i,j)(i, j) di PTPP^TP è fi⋅fj=δijf_i \cdot f_j = \delta_{ij}). Una matrice così si chiama ortogonale: la sua inversa è la trasposta, P−1=PTP^{-1} = P^T. Il cambiamento di coordinate tra due basi ortonormali è dato da una matrice ortogonale, e conserva lunghezze e angoli: (Px)⋅(Py)=xTPTPy=x⋅y(Px) \cdot (Py) = x^T P^T P y = x \cdot y. Ritornano nel teorema spettraleUna funzione lineare è simmetrica se f(v)·w = v·f(w); in una base ortonormale ha matrice simmetrica. Teorema spettrale: f è simmetrica se e solo se esiste una base ortonormale di autovettori, cioè A simmetrica ⇔ PᵀAP diagonale con P ortogonale. Applicato alle forme quadratiche, permette di scriverle come somma di quadrati con gli autovalori come coefficienti.Teorema spettrale e forme quadratiche →.

Il procedimento di Gram-Schmidt

Problema. Data una base qualsiasi {v1,…,vk}\{v_1, \dots, v_k\} di un sottospazio UU, costruire una base ortogonale dello stesso UU.

Idea (è quella della proiezione su una retta in Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →): si prendono i vettori uno alla volta e a ciascuno si toglie la sua proiezione sui vettori già sistemati; ciò che resta è ortogonale a loro.

Procedimento di Gram-Schmidt. >v1′=v1>v2′=v2−v2⋅v1′v1′⋅v1′ v1′>v3′=v3−v3⋅v1′v1′⋅v1′ v1′−v3⋅v2′v2′⋅v2′ v2′>  ⋮>vk′=vk−∑i=1k−1vk⋅vi′vi′⋅vi′ vi′>\begin{aligned} > v_1' &= v_1 \\ > v_2' &= v_2 - \frac{v_2 \cdot v_1'}{v_1' \cdot v_1'}\, v_1' \\ > v_3' &= v_3 - \frac{v_3 \cdot v_1'}{v_1' \cdot v_1'}\, v_1' - \frac{v_3 \cdot v_2'}{v_2' \cdot v_2'}\, v_2' \\ > &\ \ \vdots \\ > v_k' &= v_k - \sum_{i=1}^{k-1} \frac{v_k \cdot v_i'}{v_i' \cdot v_i'}\, v_i' > \end{aligned} Allora {v1′,…,vk′}\{v_1', \dots, v_k'\} è una base ortogonale di UU; dividendo ogni vi′v_i' per la sua norma si ottiene una base ortonormale.

Perché funziona.

  1. Ortogonalità. Si verifica per v2′v_2' (gli altri passi sono uguali): v2′⋅v1′=v2⋅v1′−v2⋅v1′v1′⋅v1′ (v1′⋅v1′)=0v_2' \cdot v_1' = v_2 \cdot v_1' - \frac{v_2 \cdot v_1'}{v_1' \cdot v_1'}\, (v_1' \cdot v_1') = 0. Al passo kk si toglie a vkv_k la sua proiezione sul sottospazio ⟨v1′,…,vk−1′⟩\langle v_1', \dots, v_{k-1}' \rangle (calcolata con la formula diretta, lecita perché quei vettori sono già ortogonali), quindi vk′v_k' è ortogonale a tutti i precedenti.
  2. Stesso sottospazio. Ogni vk′v_k' è vkv_k più una combinazione dei precedenti, quindi ⟨v1′,…,vk′⟩=⟨v1,…,vk⟩\langle v_1', \dots, v_k' \rangle = \langle v_1, \dots, v_k \rangle a ogni passo.
  3. Nessun vettore nullo. Se fosse vk′=0v_k' = 0, vkv_k sarebbe combinazione dei precedenti, contro l'indipendenza dei viv_i.

Come lo scrive il prof negli esercizi. Con due vettori: si pone v2′=v2+αv1v_2' = v_2 + \alpha v_1 e si impone v1⋅v2′=0v_1 \cdot v_2' = 0, da cui α=−v1⋅v2v1⋅v1\alpha = -\frac{v_1 \cdot v_2}{v_1 \cdot v_1}. È la stessa formula, ricavata ogni volta come equazione nell'incognita α\alpha: meno da ricordare.

Trucco per i conti. Si può moltiplicare ogni vi′v_i' per un numero non nullo (per togliere le frazioni) prima di usarlo nei passi successivi: ortogonalità e sottospazio generato non cambiano.

Esempio con tre vettori

In R4\mathbb{R}^4: v1=(1,1,0,0)v_1 = (1, 1, 0, 0), v2=(1,0,1,0)v_2 = (1, 0, 1, 0), v3=(1,1,1,1)v_3 = (1, 1, 1, 1).

Passo 1. v1′=(1,1,0,0)v_1' = (1, 1, 0, 0),  v1′⋅v1′=2\ v_1' \cdot v_1' = 2.

Passo 2. v2⋅v1′=1v_2 \cdot v_1' = 1:

v2′=(1,0,1,0)−12(1,1,0,0)=(12,−12,1,0) ⇝ (1,−1,2,0).v_2' = (1, 0, 1, 0) - \frac12 (1, 1, 0, 0) = \left(\frac12, -\frac12, 1, 0\right) \ \leadsto \ (1, -1, 2, 0) .

Controllo: (1,−1,2,0)⋅v1′=1−1=0(1, -1, 2, 0) \cdot v_1' = 1 - 1 = 0 ✓. Si usa d'ora in poi v2′=(1,−1,2,0)v_2' = (1, -1, 2, 0), con v2′⋅v2′=6v_2' \cdot v_2' = 6.

Passo 3. v3⋅v1′=2v_3 \cdot v_1' = 2,  v3⋅v2′=1−1+2+0=2\ v_3 \cdot v_2' = 1 - 1 + 2 + 0 = 2:

v3′=(1,1,1,1)−22(1,1,0,0)−26(1,−1,2,0)=(−13,13,13,1) ⇝ (−1,1,1,3).v_3' = (1, 1, 1, 1) - \frac22 (1, 1, 0, 0) - \frac26 (1, -1, 2, 0) = \left(-\frac13, \frac13, \frac13, 1\right) \ \leadsto \ (-1, 1, 1, 3) .

Controlli: (−1,1,1,3)⋅v1′=0(-1, 1, 1, 3) \cdot v_1' = 0 ✓, ⋅ v2′=−1−1+2+0=0\cdot\, v_2' = -1 - 1 + 2 + 0 = 0 ✓.

Normalizzazione. Norme 2\sqrt2, 6\sqrt6, 12=23\sqrt{12} = 2\sqrt3:

f1=12(1,1,0,0),f2=16(1,−1,2,0),f3=123(−1,1,1,3).f_1 = \frac{1}{\sqrt2}(1, 1, 0, 0), \qquad f_2 = \frac{1}{\sqrt6}(1, -1, 2, 0), \qquad f_3 = \frac{1}{2\sqrt3}(-1, 1, 1, 3) .

Conseguenze teoriche

Errori comuni

  • Usare nei passi successivi i vettori originali viv_i invece dei nuovi vi′v_i': le proiezioni vanno fatte sui vettori già ortogonalizzati.
  • Normalizzare a metà procedimento e poi usare la formula con vi′⋅vi′v_i' \cdot v_i' sbagliato: o si normalizza alla fine, o si tiene conto che fi⋅fi=1f_i \cdot f_i = 1.
  • Dimenticare il controllo finale: due prodotti scalari nulli richiedono pochi secondi e scoprono quasi ogni errore di conto.
  • Applicare Gram-Schmidt a vettori dipendenti senza accorgersene: a un certo passo si trova il vettore nullo; vuol dire che quel vettore era superfluo e va scartato.

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata