Ortonormalizzazione di Gram-Schmidt

Il comando GramSchmidt esegue il processo di ortonormalizzazione di Gram-Schmidt trasformando un insieme (o una lista) di vettori linearmente indipendenti in un insieme (o una lista) di vettori ortogonali o ortonormali che generano lo stesso spazio di quelli di partenza

> base := [randvector(4),randvector(4),randvector(4)];

> base_ortogonale := GramSchmidt(base);

verifichiamo che quella ottenuta è una base ortogonale, usando la funzione dotprod , che calcola il prodotto scalare (standard di R^n ) di due vettori

> dotprod(base_ortogonale[1],base_ortogonale[2]);

> dotprod(base_ortogonale[1],base_ortogonale[3]);

> dotprod(base_ortogonale[2],base_ortogonale[3]);

> base_ortonormale := GramSchmidt(base,'normalized');

verifichiamo che quella ottenuta è una base ortonormale

> dotprod(base_ortonormale[1],base_ortonormale[2]); dotprod(base_ortonormale[1],base_ortonormale[3]);
dotprod(base_ortonormale[2],base_ortonormale[3]);
dotprod(base_ortonormale[1],base_ortonormale[1]);
dotprod(base_ortonormale[2],base_ortonormale[2]);
dotprod(base_ortonormale[3],base_ortonormale[3]);

>