Base ortonormale dello spazio ortogonale

thedarkhero
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...

Risposte
orazioster
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.

thedarkhero
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?

orazioster
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.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.