Salta ai contenuti

Gram-Schmidt 3D senza normalizzazione

Questa è la variante del procedimento di Gram-Schmidt che si ferma all’ortogonalizzazione: a partire da tre vettori v1,v2,v3\vec v_1,\vec v_2,\vec v_3 di R3\mathbb{R}^3 produce tre vettori w1,w2,w3\vec w_1,\vec w_2,\vec w_3 mutuamente ortogonali, ma non di lunghezza 11 (manca l’ultimo passo di normalizzazione). Le punte dei vettori sono trascinabili in modalità “Modifica v₁ v₂ v₃”.

1.00×
v₁, v₂, v₃ = w₁, w₂, w₃ = ‖w₁‖, ‖w₂‖, ‖w₃‖ = (non necessariamente 1)w₁·w₂, w₁·w₃, w₂·w₃ =

Passo 1. Il primo vettore risultato coincide con v1\vec v_1: non c’è nulla da togliere né da normalizzare.

w1=v1\vec w_1=\vec v_1

Passo 2. Da v2\vec v_2 si toglie la sua proiezione su w1\vec w_1. Poiché w1\vec w_1 non è un versore, il coefficiente di proiezione è v2w1w1w1\dfrac{\vec v_2\cdot\vec w_1}{\vec w_1\cdot\vec w_1} (non basta il solo prodotto scalare, come accadrebbe con un versore):

w2=v2v2w1w1w1w1\vec w_2=\vec v_2-\dfrac{\vec v_2\cdot\vec w_1}{\vec w_1\cdot\vec w_1}\,\vec w_1

Passo 3. Da v3\vec v_3 si tolgono entrambe le proiezioni, su w1\vec w_1 e su w2\vec w_2, con lo stesso tipo di coefficiente normalizzato per la norma al quadrato del vettore su cui si proietta:

w3=v3v3w1w1w1w1v3w2w2w2w2\vec w_3=\vec v_3-\dfrac{\vec v_3\cdot\vec w_1}{\vec w_1\cdot\vec w_1}\,\vec w_1-\dfrac{\vec v_3\cdot\vec w_2}{\vec w_2\cdot\vec w_2}\,\vec w_2

Premendo “Calcola e mantieni” questa sequenza viene animata sul simulatore, colore per colore, nello stesso ordine appena descritto. Lo slider “rallentatore” permette di seguirla con più calma, senza modificare il risultato finale.

Sotto i pulsanti del simulatore compaiono quattro righe numeriche, sempre aggiornate dal vivo:

  • le coordinate dei vettori di partenza v1,v2,v3\vec v_1,\vec v_2,\vec v_3 (modificabili anche digitandole direttamente, in modalità “Modifica v₁ v₂ v₃”);
  • le coordinate dei vettori risultato w1,w2,w3\vec w_1,\vec w_2,\vec w_3, che compaiono uno alla volta durante “Calcola e mantieni”, in sincrono con l’animazione;
  • le norme w1,w2,w3\lVert\vec w_1\rVert,\lVert\vec w_2\rVert,\lVert\vec w_3\rVert, segnate come “non necessariamente 1” perché qui, a differenza della versione ortonormalizzata, non ci si aspetta in generale che valgano 11: la lunghezza dei vettori risultato dipende dai vettori di partenza (può capitare, per alcune terne di partenza, che valgano comunque 11: è un caso particolare, non la regola);
  • i prodotti scalari incrociati w1w2, w1w3, w2w3\vec w_1\cdot\vec w_2,\ \vec w_1\cdot\vec w_3,\ \vec w_2\cdot\vec w_3, che invece devono restare pari a 00 (i vettori risultato sono a due a due ortogonali, anche se non unitari).

Il prodotto scalare nullo è, da solo, la proprietà che definisce l’ortogonalità: quel numero dal vivo è un modo per verificare, per qualunque terna di vettori di partenza linearmente indipendenti, che il procedimento ha funzionato correttamente, indipendentemente dalla lunghezza dei vettori ottenuti.