Base ortonormale dello spazio ortogonale
Ho un vettore $v\inCC^n$.
Voglio determinare una base ortonormale di $^\bot$.
Avevo pensato di trovare una base qualunque dello spazio ortogonale risolvendo il sistema lineare $v^Tx=0$, quindi di trasformarla in una base ortogonale con l'algoritmo di GramSchmidt e di conseguenza di normalizzare ciascun vettore di base per ottenere una base ortonormale.
Essendo il procedimento abbastanza lungo (computazionalmente parlando) soprattutto per valori di n abbastanza grandi, esiste una via più rapida? In particolare mi chiedevo se esiste un modo di trovare direttamente una base ortogonale senza passare per la base generica...
Voglio determinare una base ortonormale di $
Avevo pensato di trovare una base qualunque dello spazio ortogonale risolvendo il sistema lineare $v^Tx=0$, quindi di trasformarla in una base ortogonale con l'algoritmo di GramSchmidt e di conseguenza di normalizzare ciascun vettore di base per ottenere una base ortonormale.
Essendo il procedimento abbastanza lungo (computazionalmente parlando) soprattutto per valori di n abbastanza grandi, esiste una via più rapida? In particolare mi chiedevo se esiste un modo di trovare direttamente una base ortogonale senza passare per la base generica...
Risposte
Puoi fare così:
Prendi /un/ vettore, a tua scelta, tra quelli che soddisfano $v^T*u=0$.
Chiamiamolo $u_1$
Poi fai il sistema:
$v^T*u=0;$
e
$u_1^T*u=0$.
Anche qui, tra le soluzioni, adottane una, che chiameremo $u_2$.
Fai ora un sistema con tre equazioni...
e così via.
E poi normalizza.
Prendi /un/ vettore, a tua scelta, tra quelli che soddisfano $v^T*u=0$.
Chiamiamolo $u_1$
Poi fai il sistema:
$v^T*u=0;$
e
$u_1^T*u=0$.
Anche qui, tra le soluzioni, adottane una, che chiameremo $u_2$.
Fai ora un sistema con tre equazioni...
e così via.
E poi normalizza.
Uhm...non sono convinto che sia computazionalmente piu' semplice...
In ogni caso...supponiamo di voler trovare una base ortonormale dello spazio ortogonale al vettore $v_1=(2,0,1,3)$.
Una base di questo spazio e' ${v_2,v_3,v_4}$ dove $v_2=(0,1,0,0),v_3=(1,0,-2,0),v_4=(3,0,0,-2)$.
Noto che $v_2$ e $v_3$ sono gia' ortogonali tra loro, mi limito quindi a trovare un vettore $v_4'$ che sia ortogonale agli altri 3.
Utilizzando GrahmSchmidt $v_4'=(3,0,0,-2)-((1,0,-2,0)*(3,0,0,-2))/((1,0,-2,0)*(1,0,-2,0))(1,0,-2,0)=1/sqrt(5)(3(sqrt(5)-1),0,6,-2sqrt(5))$.
Tuttavia si nota subito che questo vettore non e' ortogonale a $v_3$ quindi non puo' andare bene, dove sbaglio?
In ogni caso...supponiamo di voler trovare una base ortonormale dello spazio ortogonale al vettore $v_1=(2,0,1,3)$.
Una base di questo spazio e' ${v_2,v_3,v_4}$ dove $v_2=(0,1,0,0),v_3=(1,0,-2,0),v_4=(3,0,0,-2)$.
Noto che $v_2$ e $v_3$ sono gia' ortogonali tra loro, mi limito quindi a trovare un vettore $v_4'$ che sia ortogonale agli altri 3.
Utilizzando GrahmSchmidt $v_4'=(3,0,0,-2)-((1,0,-2,0)*(3,0,0,-2))/((1,0,-2,0)*(1,0,-2,0))(1,0,-2,0)=1/sqrt(5)(3(sqrt(5)-1),0,6,-2sqrt(5))$.
Tuttavia si nota subito che questo vettore non e' ortogonale a $v_3$ quindi non puo' andare bene, dove sbaglio?
In quella radice.
Cioè: Il prodotto scalare è tra $v_4$ ed il [versore] parallelo a $v_3$. Il prodotto
scalare, come dice la parola mi dà uno scalare. Che devo moltiplicare per il [versore] parallelo a $v_3$.
Infatti, se invece di $\sqrt5$ ci si mette $5$, il prodotto
viene nullo.
Cioè: Il prodotto scalare è tra $v_4$ ed il [versore] parallelo a $v_3$. Il prodotto
scalare, come dice la parola mi dà uno scalare. Che devo moltiplicare per il [versore] parallelo a $v_3$.
Infatti, se invece di $\sqrt5$ ci si mette $5$, il prodotto
viene nullo.