Précisément, en notant N = {0,...,p} avec p dans ℕ :
Théorème — Si est une famille libre d'un espace préhilbertien, il existe une et une seule famille orthonormée telle que :
pour tout n
les produits scalaires sont strictement positifs pour tout n
On oublie souvent la seconde condition, qui assure l'unicité. Elle permet de parler de la famille orthonormalisée de Gram-Schmidt associée à .
L'étape générale de l'algorithme consiste à soustraire au vecteur vj+1 son projeté orthogonal sur le sous-espace engendré par v0,...,vj. On s'appuie sur la famille orthonormale déjà construite pour le calcul de ce projeté.
< , >, le produit scalaire dans l'espace considéré
v1, ..., vk, un ensemble de vecteurs non liés
u1, ..., uk, un ensemble de vecteurs orthogonaux deux à deux
e1, ..., ek, l'ensemble de vecteurs orthonormaux deux à deux recherché
Démonstration
La démonstration du résultat se fait par récurrence, en montrant à chaque étape que le vecteur uk est orthogonal aux vecteurs construits aux étapes précédentes.
À l'étape 1, il n'y a qu'un seul vecteur, donc la propriété est vérifiée.
À l'étape 2, on a, par linéarité à droite du produit scalaire :
donc (u1, u2) sont bien orthogonaux
À l'étape k, supposons donc que u1, ..., uk–1 sont bien orthogonaux deux à deux. Alors, toujours par linéarité à droite du produit scalaire :
↑A. Quarteroni, R. Sacco, F. Saleri, Méthodes numériques pour le calcul scientifique, Programmes en Matlab, éd. Springer, 2000, p. 83 et suiv. Lire en ligne
↑La convention choisie pour le produit scalaire hermitien étant ici : linéarité à droite et semi-linéarité à gauche.