Exercice 3

Soit

\begin{displaymath}A = \{a_1, \cdots, a_n\} \end{displaymath}

une famille libre de vecteurs d'un même espace vectoriel E. Le procédé de Gram-Schmidt permet de trouver une base orthonormée du sous-espace vectoriel F engendré par la famille A.

Ce procédé est récursif. A l'initialisation, on définit

\begin{displaymath}v_1 = \frac{a_1}{\Vert a_1\Vert}. \end{displaymath}

Supposons qu'à l'étape k (1<k<n), on dispose d'une base orthonormée

\begin{displaymath}\{v_1,\cdots,v_k\} \end{displaymath}

de l'espace engendré par les k premiers vecteurs de A. On définit alors le vecteur

\begin{displaymath}\tilde{v}_{k+1} = a_{k+1} - \sum_{l=1}^k <v_l,a_{k+1}> v_{l}. \end{displaymath}

puis le vecteur

\begin{displaymath}v_{k+1}=\frac{\tilde{v}_{k+1}}{\Vert\tilde{v}_{k+1}\Vert}.\end{displaymath}

La famille

\begin{displaymath}\{v_1,\cdots,v_{k+1}\}. \end{displaymath}

forme alors une base orthonormée de l'espace engendré par les k+1 vecteurs de A.

Mettre en \oeuvre ce procédé dans une fonction. Utiliser cette dernière pour construire des bases orthonormées de $\mathbb{R}^n$. Pour cela, on pourra générer des familles libres de manière aléatoire comme dans l'exemple ci-dessous

A=floor(800*rand(6,6))
rank(A)



Frédéric Richard, Aix-Marseille Université 2012-12-06