10.2 Procédé de Gram-Schmidt

Soit \(V\) un espace vectoriel muni d’un produit scalaire tel que \(\dim(V) = k < \infty.\) Nous allons maintenant voir comment il est possible de construire une base orthonormée de \(V\) à partir d’une base quelconque de \(V\).

Soit \(\left\{\mathbf{v}^{(1)},\ldots,\mathbf{v}^{(k)}\right\}\) une base de \(V\), pas nécessairement orthonormée.

Nous allons construire \(\left\{\mathbf{u}^{(1)},\ldots,\mathbf{u}^{(k)}\right\}\) de façon itératif, de sorte que \(\left\{\mathbf{u}^{(1)},\ldots, \mathbf{u}^{(p)}\right\}\) soit une base orthonormée de \(\operatorname{Vect}\left ({ \mathbf{v}^{(1)},\ldots,\mathbf{v}^{(p)} } \right)\) pour \(p = 1,\ldots,k\).

Posons \(\mathbf{u}^{(1)} = \frac{1}{\|\mathbf{v}^{(1)}\|}\).

Supposons que \(\{\mathbf{u}^{(1)},\ldots,\mathbf{u}^{(p-1)}\}\) est une base orthonormée de \(\operatorname{Vect}\left ({ \left\{\mathbf{v}^{(1)},\ldots,\mathbf{v}^{(p-1)}\right\}} \right).\)

Nous devons trouver un vecteur unitaire \(\mathbf{d}\) tel que \(\langle {\mathbf{d}},{\mathbf{u}^{(i)}} \rangle\) pour \(i = 1,\ldots, p-1\) et tel que \(\mathbf{v}^{(p)}= \lambda_1 \mathbf{u}^{(1)}+\cdots+ \lambda_{p-1}\mathbf{u}^{(p-1)}+\alpha \mathbf{d}\) pour des scalaires \(\lambda_1,\ldots,\lambda_{p-1},\alpha.\) Laissant de côté pour le moment que \(\mathbf{d}\) doit être unitaire, on résoud pour \(\mathbf{d}\) dans le système suivant : \[\begin{align*} \langle { \mathbf{d} },{ \mathbf{u}^{(1)} } \rangle & = 0 \\ \langle { \mathbf{d} },{ \mathbf{u}^{(2)} } \rangle & = 0 \\ & \vdots \\ \langle { \mathbf{d} },{ \mathbf{u}^{(p-1)} } \rangle & = 0 \\ \lambda_1 \mathbf{u}^{(1)} + \cdots + \lambda_{p-1} \mathbf{u}^{(p-1)} + \alpha \mathbf{d} & = \mathbf{v}^{(p)} \end{align*}\]

Notons que \(\alpha \neq 0\) pour toute solution du système puisque \(\mathbf{v}_p \notin \operatorname{Vect}\left ({\{\mathbf{u}^{(1)},\ldots, \mathbf{u}^{(p-1)}\}} \right)\). La substitution \(\mathbf{d} = \alpha^{-1} \mathbf{u}\) donne \[\begin{align*} \alpha^{-1}\langle { \mathbf{u} },{ \mathbf{u}^{(1)} } \rangle & = 0 \\ \alpha^{-1}\langle { \mathbf{u} },{ \mathbf{u}^{(2)} } \rangle & = 0 \\ & \vdots & \\ \alpha^{-1}\langle { \mathbf{u} },{ \mathbf{u}^{(p-1)} } \rangle & = 0 \\ \lambda_1 \mathbf{u}^{(1)} + \cdots + \lambda_{p-1} \mathbf{u}^{(p-1)} + \mathbf{u} & = \mathbf{v}^{(p)} \end{align*}\] ou, de façon équivalente, \[\begin{align*} \langle { \mathbf{u} },{ \mathbf{u}^{(1)} } \rangle & = 0 \\ \langle { \mathbf{u} },{ \mathbf{u}^{(2)} } \rangle & = 0 \\ & \vdots \\ \langle { \mathbf{u} },{ \mathbf{u}^{(p-1)} } \rangle & = 0 \\ \lambda_1 \mathbf{u}^{(1)} + \cdots + \lambda_{p-1} \mathbf{u}^{(p-1)} + \mathbf{u} & = \mathbf{v}^{(p)} \end{align*}\]

La dernière équation devient \(\mathbf{u} = \mathbf{v}^{(p)} - \left(\lambda_1 \mathbf{u}^{(1)} + \cdots + \lambda_{p-1} \mathbf{u}^{(p-1)}\right)\). En substituant cette équation dans la \(i\)-ième équation, \(i \in \{1,\ldots, p-1\}\), on obtient \[\langle { \mathbf{v}^{(p)} - \left(\lambda_1 \mathbf{u}^{(1)} + \cdots + \lambda_{p-1} \mathbf{u}^{(p-1)}\right) },{ \mathbf{u}^{(i)} } \rangle = 0,\] qui se simplifie à \(\langle { \mathbf{v}^{(p)} },{ \mathbf{u}^{(i)} } \rangle = \lambda_i\).

Ainsi, on doit avoir \[\mathbf{u} = \mathbf{v}^{(p)} - \left( \langle { \mathbf{v}^{(p)} },{ \mathbf{u}^{(1)}} \rangle \mathbf{u}^{(1)} + \langle { \mathbf{v}^{(p)} },{ \mathbf{u}^{(2)}} \rangle \mathbf{u}^{(2)} + \cdots + \langle { \mathbf{v}^{(p)} },{ \mathbf{u}^{(p-1)}} \rangle \mathbf{u}^{(p-1)} \right).\] Notons que \(\mathbf{u} \neq 0\) puisque \(\mathbf{v}_p \notin \operatorname{Vect}\left ({\{\mathbf{u}^{(1)},\ldots, \mathbf{u}^{(p-1)}\}} \right)\). On peut alors choisir \(\mathbf{u}^{(p)} = \frac{1}{\|\mathbf{u}\|} \mathbf{u}\).

Ce procédé porte le nom de procédé de Gram-Schmidt, et peut être résumé comme suit : \[\begin{align*} \mathbf{u}^{(1)} & = \frac{1}{\|\mathbf{v}^{(1)}\|}\mathbf{v}^{(1)}, \\ \mathbf{u}^{(2)} & = \frac{1}{\|\mathbf{r}^{(2)}\|}\mathbf{r}^{(2)}, \\ & \vdots \\ \mathbf{u}^{(k)} & = \frac{1}{\|\mathbf{r}^{(k)}\|}\mathbf{r}^{(k)}, \end{align*}\]\[\mathbf{r}^{(i)} = \mathbf{v}^{(i)} - \left( \langle { \mathbf{v}^{(i)} },{ \mathbf{u}^{(1)} } \rangle \mathbf{u}^{(1)} + \langle { \mathbf{v}^{(i)} },{ \mathbf{u}^{(2)} } \rangle \mathbf{u}^{(2)} + \cdots + \langle { \mathbf{v}^{(i)} },{ \mathbf{u}^{(i-1)} } \rangle \mathbf{u}^{(i-1)}\right)\] pour \(i = 2,\ldots, k\).

Exemple 10.3 Soit \(\mathbf{v}^{(1)} = \begin{bmatrix} 1\\ 1 \\1 \\ 1 \end{bmatrix}\), \(\mathbf{v}^{(2)} = \begin{bmatrix} 1\\ 1 \\-1 \\ -1 \end{bmatrix}\), et \(\mathbf{v}^{(3)} = \begin{bmatrix} 0\\ -1 \\2 \\ 1 \end{bmatrix}\) des vecteurs de l’espace vectoriel \(\mathbb{R}^4\) muni du produit scalaire usuel. Nous allons appliquer le procédé de Gram-Schmidt aux vecteurs \(\{\mathbf{v}^{(1)},\mathbf{v}^{(2)},\mathbf{v}^{(3)}\}\) afin d’obtenir une base orthonormée de \(\operatorname{Vect}\left ({\{\mathbf{v}^{(1)},\mathbf{v}^{(2)},\mathbf{v}^{(3)}\}} \right)\).

Notons d’abord que \(\mathbf{u}^{(1)} = \frac{1}{\|\mathbf{v}^{(1)}\|}\mathbf{v}^{(1)} = \frac{1}{2}\begin{bmatrix} 1 \\ 1\\ 1\\ 1 \end{bmatrix}\).

Ensuite, \(\mathbf{r}^{(2)} = \mathbf{v}^{(2)} - (\mathbf{v}^{(2)}\cdot \mathbf{u}^{(1)}) \mathbf{u}^{(1)} = \begin{bmatrix} 1\\1 \\ -1 \\-1\end{bmatrix} - 0\mathbf{u}^{(1)} = \begin{bmatrix} 1\\1 \\ -1 \\-1\end{bmatrix}\). Ainsi, \(\mathbf{u}^{(2)} = \frac{1}{2}\begin{bmatrix} 1\\1 \\ -1 \\-1\end{bmatrix}\). Notons ici que puisque \(\mathbf{v}^{(2)}\) et \(\mathbf{u}^{(1)}\) sont déjà orthogonaux, \(\mathbf{u}^{(2)}\) est obtenu tout simplement en normalisant \(\mathbf{v}^{(2)}\).

De plus, \[\begin{align*} \mathbf{r}^3 & = \mathbf{v}^{(3)} - \left((\mathbf{v}^{(3)}\cdot \mathbf{u}^{(1)})\mathbf{u}^{(1)} + (\mathbf{v}^{(3)}\cdot \mathbf{u}^{(2)}) \mathbf{u}^{(2)}\right) \\ & = \begin{bmatrix} 0\\-1 \\ 2 \\1\end{bmatrix} - \mathbf{u}^{(1)} - (-2)\mathbf{u}^{(2)} \\ & = \begin{bmatrix} 0\\-1 \\ 2 \\1\end{bmatrix} - \frac{1}{2}\begin{bmatrix} 1\\1 \\1 \\1\end{bmatrix} +\begin{bmatrix} 1 \\ 1 \\ -1 \\-1\end{bmatrix} = \begin{bmatrix} \frac{1}{2}\\ -\frac{1}{2} \\ \frac{1}{2} \\ -\frac{1}{2}\end{bmatrix}. \end{align*}\] Puisque \(\|\mathbf{r}^{(3)}\| = 1\), on obtient \(\mathbf{u}^3 = \begin{bmatrix} \frac{1}{2}\\ -\frac{1}{2} \\ \frac{1}{2} \\ -\frac{1}{2}\end{bmatrix}\). Ainsi, \(\left\{\mathbf{u}^{(1)},\mathbf{u}^{(2)},\mathbf{u}^{(3)}\right\}\) est une base orthonormée de \(\operatorname{Vect}\left ({\left\{\mathbf{v}^{(1)},\mathbf{v}^{(2)},\mathbf{v}^{(3)}\right\}} \right)\).

Exemple 10.4 Soient \(\mathbf{v}^{(1)} = \begin{bmatrix} 1\\ i \\ 0 \end{bmatrix}\), et \(\mathbf{v}^{(2)} = \begin{bmatrix} 0 \\ 1-i \\-1 \end{bmatrix}\), des vecteurs de \(\mathbb{C}^3\) muni de produit scalaire \(\langle { \mathbf{u} },{ \mathbf{v} } \rangle = \overline{\mathbf{v}}^\mathsf{T}\mathbf{u}.\) Appliquons le procédé de Gram-Schmidt pour obtenir une base orthonormée de \(\operatorname{Vect}\left ({\{\mathbf{v}^{(1)},\mathbf{v}^{(2)}\}} \right)\).

Notons que \(\mathbf{u}^{(1)} = \frac{1}{\|\mathbf{v}^{(1)}\|}\mathbf{v}^{(1)} = \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ i\\ 0 \end{bmatrix}\).

Ensuite, \(\mathbf{r}^{(2)} = \mathbf{v}^{(2)} - \langle { \mathbf{v}^{(2)} },{ \mathbf{u}^{(1)} } \rangle \mathbf{u}^{(1)} = \begin{bmatrix} 0\\1-i \\ -1 \end{bmatrix} + \frac{1+i}{\sqrt{2}}\mathbf{u}^{(1)} = \begin{bmatrix} \frac{1+i}{2} \\\frac{1-i}{2} \\ -1 \end{bmatrix}\).

Puisque \(\| \mathbf{r}^{(2)} \| = \sqrt{2}\), nous obtenons \(\mathbf{u}^{(2)} = \frac{1}{\sqrt{2}}\begin{bmatrix} \frac{1-i}{2} \\\frac{3-i}{4} \\ -\frac{1}{2} \end{bmatrix}\).

Ainsi, \(\left\{\mathbf{u}^{(1)},\mathbf{u}^{(2)}\right\}\) est une base orthonormée de \(\operatorname{Vect}\left ({\left\{\mathbf{v}^{(1)},\mathbf{v}^{(2)}\right\}} \right)\).

Exercices

  1. Construisez une base orthornomée de \(\mathbb{R}^2\) muni du produit scalaire usuel contenant le vecteur \(\begin{bmatrix} \frac{3}{5} \\ \frac{4}{5}\end{bmatrix}.\)

  2. Utilisez le procédé de Gram-Schmidt afin d’obtenir une base orthonormale de \(\operatorname{Vect}\left ({\mathbf{v}^{(1)}, \mathbf{v}^{(2)}, \mathbf{v}^{(3)}} \right),\)\(\mathbf{v}^{(1)} = \begin{bmatrix} 1\\ 2 \\ 2 \end{bmatrix},\) \(\mathbf{v}^{(2)} = \begin{bmatrix} -1 \\ 1 \\ 4 \end{bmatrix},\) et \(\mathbf{v}^{(3)} = \begin{bmatrix} 0 \\ 1 \\ -1 \end{bmatrix}.\)

Solutions

  1. \(\left\{\begin{bmatrix} \frac{3}{5} \\ \frac{4}{5}\end{bmatrix}, \{\begin{bmatrix} \frac{4}{5} \\ -\frac{3}{5}\end{bmatrix}\right\}.\)

  2. Notons que \(\mathbf{u}^{(1)} = \frac{1}{\|\mathbf{v}^{(1)}\|}\mathbf{v}^{(1)} = \frac{1}{3}\begin{bmatrix} 1 \\ 2\\ 2\end{bmatrix}\).

    Alors, \[\begin{align*} & \mathbf{r}^{(2)} = \mathbf{v}^{(2)} - (\mathbf{v}^{(2)}\cdot \mathbf{u}^{(1)}) \mathbf{u}^{(1)} \\ = ~ & \begin{bmatrix} -1 \\ 1 \\ 4 \end{bmatrix} - 3\mathbf{u}^{(1)} \\ = ~ & \begin{bmatrix} -2 \\ -1 \\ 2 \end{bmatrix}, \end{align*}\] d’où \(\mathbf{u}^{(2)} = \frac{1}{3}\begin{bmatrix} -2 \\ -1 \\ 2 \end{bmatrix}\).

    Finalement, \[\begin{align*} & \mathbf{r}^{(3)} = \mathbf{v}^{(3)} - (\mathbf{v}^{(3)}\cdot \mathbf{u}^{(1)}) \mathbf{u}^{(1)} - (\mathbf{v}^{(3)}\cdot \mathbf{u}^{(2)}) \mathbf{u}^{(2)} \\ = ~ & \begin{bmatrix} 0 \\ 1 \\ -1 \end{bmatrix} - 0\mathbf{u}^{(1)} - (-1)\mathbf{u}^{(2)} \\ = ~ & \frac{1}{3}\begin{bmatrix} -2 \\ 2 \\ -1 \end{bmatrix}. \end{align*}\] Notons que ce vecteur est déjà un vecteur unitaire. Donc, \(\mathbf{u}^{(3)} = \frac{1}{3}\begin{bmatrix} -2 \\ 2 \\ -1 \end{bmatrix}\).