Aller au contenu

Le procédé d’orthonormalisation de Gram-Schmidt expliqué simplement

    Le procédé d’orthonormalisation de Gram-Schmidt expliqué simplement

    Le procédé d’orthonormalisation de Gram-Schmidt

    Le procédé de Gram-Schmidt est un algorithme qui transforme n’importe quelle base d’un espace vectoriel euclidien (muni d’un produit scalaire) en une base orthonormale. L’idée est de « redresser » et de « rétrécir » les vecteurs un par un pour qu’ils soient tous perpendiculaires entre eux et de longueur 1.

    L’Algorithme Étape par Étape

    Soit $(v_1, v_2, \dots, v_n)$ une base. On veut construire une base orthonormale $(e_1, e_2, \dots, e_n)$.

    1. Premier vecteur : On prend le premier vecteur $v_1$, on le garde tel quel pour la direction, et on le normalise (on le divise par sa propre norme pour qu’il ait une longueur de 1).
      $u_1 = v_1$
      $e_1 = \frac{u_1}{\|u_1\|}$
    2. Deuxième vecteur : On prend $v_2$. On lui retire sa « partie » qui est dans la même direction que $e_1$ (sa projection sur $e_1$). Ce qui reste, $u_2$, est forcément orthogonal à $e_1$. On normalise ensuite $u_2$.
      $u_2 = v_2 – \langle v_2, e_1 \rangle e_1$
      $e_2 = \frac{u_2}{\|u_2\|}$
    3. Troisième vecteur : On prend $v_3$ et on lui retire ses projections sur les vecteurs déjà construits ($e_1$ et $e_2$). Le reste, $u_3$, sera orthogonal à $e_1$ et $e_2$. On le normalise.
      $u_3 = v_3 – \langle v_3, e_1 \rangle e_1 – \langle v_3, e_2 \rangle e_2$
      $e_3 = \frac{u_3}{\|u_3\|}$
    4. On continue… On généralise pour le $k$-ième vecteur :
      $u_k = v_k – \sum_{j=1}^{k-1} \langle v_k, e_j \rangle e_j$
      $e_k = \frac{u_k}{\|u_k\|}$

    Exemple 1 : Base de $\mathbb{R}^2$

    Soit la base de $\mathbb{R}^2$ donnée par $v_1 = (3, 4)$ et $v_2 = (1, 2)$.

    1. Premier vecteur $e_1$ :
    $\|v_1\| = \sqrt{3^2 + 4^2} = \sqrt{9+16} = \sqrt{25} = 5$.
    $e_1 = \frac{v_1}{\|v_1\|} = (\frac{3}{5}, \frac{4}{5})$.

    2. Deuxième vecteur $e_2$ :
    D’abord, calculons le vecteur orthogonal $u_2$.
    $\langle v_2, e_1 \rangle = 1 \cdot \frac{3}{5} + 2 \cdot \frac{4}{5} = \frac{3+8}{5} = \frac{11}{5}$.
    $u_2 = v_2 – \langle v_2, e_1 \rangle e_1 = (1, 2) – \frac{11}{5}(\frac{3}{5}, \frac{4}{5}) = (1, 2) – (\frac{33}{25}, \frac{44}{25}) = (\frac{25-33}{25}, \frac{50-44}{25}) = (-\frac{8}{25}, \frac{6}{25})$.
    Maintenant, on normalise $u_2$.
    $\|u_2\| = \sqrt{(-\frac{8}{25})^2 + (\frac{6}{25})^2} = \sqrt{\frac{64+36}{625}} = \sqrt{\frac{100}{625}} = \frac{10}{25} = \frac{2}{5}$.
    $e_2 = \frac{u_2}{\|u_2\|} = \frac{1}{2/5} (-\frac{8}{25}, \frac{6}{25}) = \frac{5}{2} (-\frac{8}{25}, \frac{6}{25}) = (-\frac{4}{5}, \frac{3}{5})$.

    La base orthonormale est $((\frac{3}{5}, \frac{4}{5}), (-\frac{4}{5}, \frac{3}{5}))$.

    Exemple 2 : Base de $\mathbb{R}^3$

    Soit la base de $\mathbb{R}^3$ : $v_1=(1,1,1)$, $v_2=(1,0,1)$, $v_3=(0,1,1)$.

    1. Premier vecteur $e_1$ :
    $\|v_1\| = \sqrt{3}$. Donc $e_1 = \frac{1}{\sqrt{3}}(1,1,1)$.

    2. Deuxième vecteur $e_2$ :
    $\langle v_2, e_1 \rangle = \frac{1}{\sqrt{3}}(1 \cdot 1 + 0 \cdot 1 + 1 \cdot 1) = \frac{2}{\sqrt{3}}$.
    $u_2 = (1,0,1) – \frac{2}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}(1,1,1) = (1,0,1) – \frac{2}{3}(1,1,1) = (\frac{1}{3}, -\frac{2}{3}, \frac{1}{3})$.
    $\|u_2\| = \sqrt{\frac{1}{9}+\frac{4}{9}+\frac{1}{9}} = \frac{\sqrt{6}}{3}$.
    $e_2 = \frac{3}{\sqrt{6}}(\frac{1}{3}, -\frac{2}{3}, \frac{1}{3}) = \frac{1}{\sqrt{6}}(1, -2, 1)$.

    3. Troisième vecteur $e_3$ :
    $\langle v_3, e_1 \rangle = \frac{1}{\sqrt{3}}(0+1+1) = \frac{2}{\sqrt{3}}$.
    $\langle v_3, e_2 \rangle = \frac{1}{\sqrt{6}}(0-2+1) = -\frac{1}{\sqrt{6}}$.
    $u_3 = v_3 – \frac{2}{\sqrt{3}}e_1 – (-\frac{1}{\sqrt{6}})e_2 = (0,1,1) – \frac{2}{3}(1,1,1) + \frac{1}{6}(1,-2,1)$.
    $u_3 = (-\frac{2}{3}+\frac{1}{6}, 1-\frac{2}{3}-\frac{2}{6}, 1-\frac{2}{3}+\frac{1}{6}) = (-\frac{3}{6}, 0, \frac{3}{6}) = (-\frac{1}{2}, 0, \frac{1}{2})$.
    $\|u_3\| = \sqrt{\frac{1}{4}+\frac{1}{4}} = \frac{\sqrt{2}}{2} = \frac{1}{\sqrt{2}}$.
    $e_3 = \sqrt{2}(-\frac{1}{2}, 0, \frac{1}{2}) = \frac{1}{\sqrt{2}}(-1, 0, 1)$.

    Exemple 3 : Espace de polynômes

    Soit l’espace des polynômes de degré $\le 1$ sur $[-1,1]$, avec le produit scalaire $\langle P, Q \rangle = \int_{-1}^1 P(t)Q(t)dt$. Partons de la base $(1, t)$.

    1. Premier vecteur $e_1$ :
    Soit $v_1(t) = 1$. $\|v_1\|^2 = \int_{-1}^1 1 \cdot 1 dt = [t]_{-1}^1 = 2$. Donc $\|v_1\|=\sqrt{2}$.
    $e_1(t) = \frac{1}{\sqrt{2}}$.

    2. Deuxième vecteur $e_2$ :
    Soit $v_2(t) = t$.
    $\langle v_2, e_1 \rangle = \int_{-1}^1 t \cdot \frac{1}{\sqrt{2}} dt = \frac{1}{\sqrt{2}}[\frac{t^2}{2}]_{-1}^1 = 0$. Les vecteurs sont déjà orthogonaux !
    $u_2(t) = v_2(t) – 0 \cdot e_1(t) = t$.
    $\|u_2\|^2 = \int_{-1}^1 t^2 dt = [\frac{t^3}{3}]_{-1}^1 = \frac{1}{3} – (-\frac{1}{3}) = \frac{2}{3}$. Donc $\|u_2\| = \sqrt{\frac{2}{3}}$.
    $e_2(t) = \frac{t}{\sqrt{2/3}} = \sqrt{\frac{3}{2}} t$.

    La base orthonormale est $(\frac{1}{\sqrt{2}}, \sqrt{\frac{3}{2}}t)$. Ce sont les deux premiers polynômes de Legendre (à un facteur près).

    Pourquoi est-ce si utile ?

    Les bases orthonormales simplifient énormément les calculs. Par exemple, pour trouver les coordonnées d’un vecteur $v$ dans une base orthonormale $(e_1, \dots, e_n)$, pas besoin de résoudre un système ! Les coordonnées sont simplement les produits scalaires :
    $v = \langle v, e_1 \rangle e_1 + \langle v, e_2 \rangle e_2 + \dots + \langle v, e_n \rangle e_n$.
    C’est aussi le point de départ de nombreux algorithmes numériques, comme la décomposition QR d’une matrice.