Il procedimento di Gram-Schmidt è un algoritmo che trasforma una qualsiasi base di uno spazio con prodotto scalare in una base ortogonale (o ortonormale), preservando lo span di ogni prefisso della sequenza.
Vedi anche: Prodotto Scalare, Proiezione Ortogonale, Fattorizzazione QR.
Algoritmo
Data una base di , si costruisce la base ortogonale con:
Ogni è la componente di ortogonale a tutti i precedenti .
Per ottenere una base ortonormale si normalizza: .
Proiezione Ortogonale
Il termine è la proiezione ortogonale di su .
L’algoritmo sottrae iterativamente le proiezioni, «togliendo» da tutto ciò che è già rappresentato dai vettori precedenti.
Proprietà
- per ogni .
- Se , allora : segnala dipendenza lineare.
- L’algoritmo è stabile ma può accumulare errori di arrotondamento; la versione modificata di Gram-Schmidt (che proietta su aggiornato) è numericamente più robusta.
Relazione con la Fattorizzazione QR
Il procedimento di Gram-Schmidt applicato alle colonne di una matrice (con , colonne linearmente indipendenti) produce la fattorizzazione:
dove ha colonne ortonormali e è triangolare superiore con elementi diagonali positivi. Vedi: Fattorizzazione QR.
Applicazioni ingegneristiche
- Minimi quadrati: la fattorizzazione QR ottenuta con Gram-Schmidt è il metodo numericamente più stabile per risolvere sistemi sovradeterminati .
- Analisi modale: la base di modi propri di una struttura, una volta calcolata, viene ortonormalizzata con Gram-Schmidt rispetto alla matrice di massa per disaccoppiare le equazioni del moto.
- Elaborazione del segnale: la costruzione di filtri di Kalman e di basi wavelet usa schemi di ortogonalizzazione analoghi a Gram-Schmidt.