Preuve du théorème spectral
∗
Xavier Servot
Janvier 2019
1 Le cas des matrices
Ici, K désigne un corps, et M[K] est l’ensemble des matrices de taille n ∈ N
à coefficients dans K.
1.1 Preuve standard pour un corps muni d’une forme
bilinéaire symétrique
Dans le reste de la section, on admet que K est muni d’une forme bilinéaire
symétrique. On note cette forme bilinéaire h, i sauf mention contraire. On
rappelle d’abord une définition nécessaire pour ennoncer le théorème qu’on
veut prouver.
Définition 1.1.1 (Congruence). Deux matrices A, B ∈ M[K] sont congru-
entes si il existe une matrice inversible U ∈ M[K] tel que B = U > AU .
On va prouver la version suivante du théorème spectral:
Théorème. Toute matrice A ∈ M[K] symétrique est congruente à une ma-
trice diagonale de M[K].
La preuve de cette section est non élémentaire dans le sens où aucune
définition de base ne va être rappelée.
∗
EPFL
1
Définition 1.1.2 (Coefficient de Fourrier). Soit (u, v) ∈ V tel que hv, vi =
6 0.
On définit le coefficient de Fourrier αu,v par
hu, vi
αu,v =
hv, vi
Définition 1.1.3. Une base (bi )ri=1 d’un espace vectoriel est orthogonale si
∀i ∈ Nr ∀j ∈ Nr \ {i}, hbi , bj i = 0.
On rappelle aussi que soit V un espace vectoriel sur K, il existe une
matrice A tel que ∀u, v ∈ V , hu, vi = u> Av. En particuler: soit (aij ) le
coefficient de la ligne i et de la colonne j de A, et (bi )ri=1 une base de V , on a
aij = hbi , bj i
Cela donne l’intuition que pour prouver le théorème spectral tel qu’énnoncé
plus tôt il suffit de trouver une base orthogonale pour V : on aurait ainsi
aij = hbi , bj i = 0 et donc A serait congruent à une matrice diagonale grâce à
un changement de base bien choisi.
Définition 1.1.4 (Caractéristique). La caractéristique d’une anneau uni-
taire R, notée Char R, est l’ordre du groupe abélien (R, +) i.e. est le plus
petit k ∈ N∗ tel que:
Σki=1 e(R,+) = 0
Si l’ordre de ce groupe est infini la caractéristique vaut 0 par convention.
Proposition 1.1.1. Soit V un espace vectoriel sur K. Si Char(K) 6= 2, et
∀u ∈ V, hu, ui = 0 alors
∀u, v ∈ V, hu, vi = 0
Preuve. Soit u, v ∈ V . On rapelle que h, i est symétrique.
hu + v, u + vi = 0
et hu + v, u + vi = hu, ui + 2hu, vi + hv, vi
= 2hu, vi
Donc hu, vi = 0 étant donné que dans K, 2 6= 0.
2
Proposition 1.1.2. Soit V un espace vectoriel sur K. Si Char(K) 6= 2, il
existe toujours une base orthogonale de V .
Preuve. On va prouver cette proposition par récurrence sur la dimension de
l’espace vectoriel.
• Soit V de dimension 1. V possède une base orthogonale par définition
puisqu’elle est composée d’un seul vecteur.
• Soit V de dimension k > 2. Si la forme bilinéaire est telle que ∀v ∈
V, hv, vi = 0, on a par la proposition précédente que ∀v, w ∈ V, hu, vi =
0 et donc toute base est orthogonale. Sinon, soit u ∈ V tel que hu, ui = 6
0. On a ∀x ∈ V \ {u} que
y = x − αxu u
est tel que
hu, xi
hu, yi = hu, xi − hu, ui
hu, ui
⇔ hu, yi = 0
En particuler, soit V∗ = {u} et V∗⊥ l’ensemble des vecteurs de V or-
thogonaux à V∗ . On vient de voir que ce sont tous les vecteurs de
V \ V∗ . Donc V = V∗ + V∗⊥ . C’est en fait en somme directe: u n’est
pas orthogonal à lui même par définition.
dim(V∗ ) = 1 donc dim(V∗⊥ ) = k − 1 et par hypothèse de récurrence,
les espaces de dimension k − 1 possèdent une base orthogonale, notée
(ui )k−1 k
i=1 . Dont en posant uk = u, on a que (ui )i=1 est une base orthog-
onale de V .
Théorème (Spectral). Soit K un corps tel que Char(K) 6= 2. Soit A ∈ M[K]
symétrique. A est congruente à une matrice diagonale.
Preuve. Soit Kn munie de la forme bilinéaire définie par ∀u, v ∈ Kn , hu, vi =
u> Av. A étant symétrique, h, i l’est aussi. Soit B la base canonique de Kn .
Par la proposition précédente, K n possède une base orthogonale C.
3
On dénote la matrice de changement de base de B à C par IBC et de C à
B par ICB . Ensuite, soit AB , AC ∈ M[K] les matrices représentant la forme
bilinéaire h, i selon les bases B et C respectivement. On a que ∀u, v ∈ V,
hu, vi = [u]>
B · A · [v]B
Et
hu, vi = [u]>
C · AC · [v]C
Or ∀x ∈ V
[x]C = IBC [x]B
Et donc en particuler
hu, vi = (IBC · [u]B )> · AC · IBC · [v]B
⇔ hu, vi = [u]> >
B · IBC · AC · IBC · [v]B
>
⇔ A = IBC · AC · IBC
C étant orthogonale pour h, i, on a bien que A est congruente à une matrice
diagonale, en particuler à AC .
1.2 Un algorithme pour un corps muni d’une forme
bilinéaire symétrique
Dans la section précédente, on a prouvé le Théorème Spectral sans proposer
de méthode de calcul des matrices associées. On peut cependant faire mieux
en proposant une preuve constructiviste du théorème.
D’abord, on va rappeler les définitions d’outils essentiels à la preuve: Soit
Gij (λ) la matrice élémentaire telle que:
• Gij (λ) · A est la matrice A à laquelle on a ajouté sa ligne i λ fois à sa
ligne j
• A · Gij (λ)> est la matrice A à laquelle on a ajouté sa colonne i λ fois à
sa colonne j
Soit Bij ∈ M[K] définie par:
(
λ si (k, l) = (i, j)
bkl =
0 sinon
4
On peut vérifier que
Gij (λ) = Idn +Bij
vérifie les propriétés ennoncées ci-dessus.
Algorithme. Soit A ∈ M[K] symétrique, avec Char(K) 6= 2. On définit
φijλ : A ∈ M[K] 7→ Gij (λ) · A · Gij (λ)>
L’algorithme consiste à effectuer de manière procédurale les sous-algorithmes
(Ek )nk=1 , où l’algorithme Ei est défini par:
argument : Une matrice A symétrique
si aii 6= 0 alors
A ←− ( nk=i φik(−aki a−1ii )
)(A) ;
sinon
si un des (aik )nk=i est non nul alors
Soit aik un tel coefficient;
A ←− φki1K (A);
sinon
// Tous les coefficients de la ligne i et de la colonne i sont nuls;
fin
fin
De manière plus informelle, à l’etape i, on nullifie les coefficients de la ligne
i et de la colonne i en appliquant φik(−aki a−1 ii )
à tous les k de i à n. On peut
vérfifier qu’appliquer cette transformation rend en effet les coefficients aik et
aki nuls parce qu’ils deviennent aik − aik a−1 ii aii = 0. Si il n’y a pas possibilité
de faire cela (i.e. a−1ii n’existe pas donc quand le coefficient est nul), on
cherche un des coefficients (notons aik ) de la ligne i (ou de la colonne i, peu
importe puisque la matrice est symétrique) qui est non nul pour multiplier
la ligne k à la ligne i et la colonne k à la colonne i. Comme Char(K) 6= 2,
le coefficient aii qui vaut maintenant 2aik est non nul et on peut revenir au
premier cas de l’étape i cité plus haut. Sinon tous les coefficients de la ligne
et la colonne i sont nuls et donc on peut passer à l’étape suivante.
Théorème. L’algorithme ennoncé ci-dessus est correcte dans le sens où il
démontre le Théorème Spectral et se termine.
5
Preuve. Déjà, il y a un nombre d’étapes fini donc l’algorithme se termine.
Ensuite
• La transformation φijλ donne lieu à une matrice congruente à celle
d’origine, donc on est sûr d’avoir en tout point de l’algorithme une
matrice congruente à A, la matrice d’origine.
• L’algorithme passe de l’étape i à l’étape i+1 seulement si les coefficients
{aik | k ∈ {i + 1, n}} ∪ {aki | k ∈ {i + 1, n}} sont nuls. (On rappele que
A est symétrique donc φik(−aki a−1ii )
(A) = φik(−aik a−1
ii )
(A). Donc on peut
prouver par induction qu’à l’étape n, seuls les coefficients diagonaux
peuvent être non-nuls.
On obtient ainsi une matrice diagonale et congruente à la matrice d’origine.
Corollaire. Tout matrice symétrique A ∈ M[K] est diagonalisable dans le
sens où il existe une matrice U ∈ M[K] orthogonale et une matrice D ∈
M[K] diagonale tel que
A = P > AP
Preuve. Gij (λ)> = Gij (λ)−1
1.3 Dans la pratique: calcul dans un espace préhilbertien
On va donner ici la méthode standard pour calculer la matrice diagonale et la
matrice de changement de base dans le cas des espaces vectoriels sur K = C
munis d’un produit scalaire h, i (forme bilinéaire définie positive).
Déjà, pour alléger les arguments de cette section, on va prouver qu’on
peut se cantonner à l’espace vectoriel Cn par isomorphisme.
Théorème 1.3.1. Soit V un espace vectoriel sur K de dimension n. Il existe
un isomorphisme entre V et Kn .
Preuve. Soit (bi )ni=1 une base de V , et (bi )ni=1 la base canonique de K n . Alors
V → Kn
φ:
v = Σni=1 αi bi 7→ (αi )ni=1
décrit un isomorphisme d’espaces-vectoriels. En particulier, ∀i ∈ Nn ,
φ(bi ) = ei et on peut vérifier que c’est un morphisme d’espaces vectoriels:
φ(Σni=1 αi bi + λΣni=1 βi bi ) = φ(Σni=1 (αi + λβi )bi )
6
= (αi + λβi )ni=1
= (αi )ni=1 + λ(βi )ni=1
= φ(Σni=1 αi bi ) + λφ(Σni=1 βi bi )
Ensuite en explicitant la fonction réciproque:
φ−1 : e = (αi )ni=1 ∈ Kn 7→ Σni=1 αi bi ∈ V
on prouve que φ est de plus une bijection.
Il serait assez étonnant que le lecteur soit arrivé jusqu’ici sans n’avoir
jamais eu connaissance des définitions de base (valeur propre, espace pro-
pre...), mais on va toute de même s’appliquer à les rappeler. On énonce aussi
le théorème suivant dont la preuve ne sera pas donnée ici:
Théorème. Tout polynome de M[C] est scindé.
Définition 1.3.1 (multiplicité). Soit P ∈ M[K]. La multiplicité d’une
racine a de P est le plus grand entier k ∈ N tel que (X − a)k | P .
Définition-Proposition 1.3.1 (Rappel). λ ∈ C est une valeur propre de
A ∈ M[C] si ∃u ∈ Cn \ {~0} tel que
Au = λu
⇔ Au − λu = 0
⇔ (A − λ Idn )u = 0
⇔ det(A − λ Idn ) = 0
Donc l’ensemble des valeurs propres de A est l’ensemble des racines du poly-
nome caractéristique de A: pA (t) = det(A − t Idn ). Or c’est un polynôme à
coéfficients dans C donc il est scindé et A possède n valeurs propres comptées
avec leur multiplicitées.
Soit λ une valeur propre de A ∈ M[C]. On appelle espace propre de
λ, noté Eλ , l’ensemble des vecteurs u de Cn qui sont envoyés sur λu par
l’application FA : u → Au.
Proposition 1.3.1. Soit λ ∈ C une valeur propre de A ∈ M[C]. Alors
dim Eλ > 1.
7
Preuve. Par définition d’une valeur propre, ∃u ∈ Cn \ {~0}. En particuler, en
reprenant les notations de la proposition précédente, ∀µ ∈ C, FA envoie µu
sur λµu, i.e. Cu ⊆ Eλ ⇒ dim(Eλ ) > 1.
On va pouvoir aussi se servir de ce qui a déjà prouvé pour montrer que
toute matrice de M[C] est congruente à la matrice diagonale diag((λi )ni=1 )
où (λi )ni=1 sont les valeurs propres de A (pas forcément distinctes).
Définition 1.3.2. Soit λ une valeur propre de A ∈ M[C].
La multiplicité algebrique de λ (notée malg. (λ)) est sa multiplicité en tant
que racine de pA .
La multiplicité géometrique de λ (notée mgeom. (λ)) est la dimension de
l’espace Eλ .
Proposition 1.3.2 (Égalité des multiplicités). Soit A ∈ M[C] symétrique.
Soit λ une valeur propre de A. Alors
mgeom. (λ) = malg. (λ)
Preuve. On a vu dans la section (1.2) que A est équivalente à une matrice
diagonale D: ∃P ∈ M[C] inversible tel que
A = P −1 diag((ai )ni=1 )P
Or, ∀X ∈ M[C], ∀U ∈ M[C] inversible,
det(t Idn −P −1 AP ) = det(P ) det(tP −1 − P −1 A)
= det(P ) det(t Idn −A) det(P −1 )
= det(t Idn −A)
Donc les valeurs propres de deux matrices équivalentes sont égales. Or,
pD (t) = Πni=1 (t − ai )
Donc en renumérotant les valeurs propres de A, on obtient que ∀i ∈ Nn ,
ai = λi .
Plus précisément, comme A est diagonalisable (section 1.2), il existe une
famille orthogonale de vecteurs (ui )ni=1 tel que
u1 λ1
A = ... ...
u1 . . . un
un λn
8
Donc
A = Σni=1 λi ui u>
i
Et
Aui = λi ui hui , ui i = λi ui
Donc pour une valeur propre λ de A soit I = {k ∈ Nn | λk = λ}. Uniquement
les vecteurs (ui )i∈I sont envoyés sur λui par l’application FA . Donc ils forment
une base de Eλ .
Dans la pratique, sachant que pour une matrice symétrique les multi-
plicités algébriques et géometriques sont identiques, on va plutôt utiliser cal-
culer les matrices associées de la manière suivante:
Proposition 1.3.3 (Processus d’orthogonalisation de Graam-Schmidt). Soit
V un espace vectoriel sur K. On peut construire une base orthogonale à partir
de n’importe quelle base de V .
Preuve. Soit (bi )ri=1 une base de V . On va proposer une méthode pour con-
struire une base orthogonale (ci )ri=1 de V à partir de (bi )ri=1 .
L’intuition vient du fait que
hb1 , b2 − αb2 ,b1 b1 i = hb1 , b2 i − αb2 ,b1 hb1 , b1 i
hb2 , b1 i
= hb1 , b2 i − hb1 , b1 i
hb1 , b1 i
= 0.
On définit alors (ci )ri=1 par récurrence:
• Pour un espace vectoriel de dimension 1, la base est toujours orthogo-
nale donc on pose c1 = b1 .
• Ici on admet pouvoir construire une base orthogonale d’un espace de di-
mension k > 1 et on veut en construire une pour tout espace de dimen-
sion k + 1. En admettant que l’espace de dimension k + 1 ait une base
(bi )k+1 k
i=1 , on peut déjà considérer le sous-espace vectoriel vect((bi )i=1 ) et
obtenir une base orthogonale (ci )ki=1 de cet espace. Comme on est dans
le cas défini positif, les coefficient de Fourrier sont toujours définis et
on peut poser:
ck+1 = bk+1 − Σki=1 αbk+1 ,ci ci
9
Et on a ∀l ∈ Nk
hck+1 , cl i = hbk+1 , cl i − Σki=1 αbk+1 ,ci hci , cl i
Or par hypothèse de recurrence ∀i ∈ Nk \ {l}, hcl , ci i = 0 Donc
hck+1 , cl i = hbk+1 , cl i − αbk+1 ,cl hck+1 , cl i = 0
On a donc montré que (ci )k+1
i=1 est une base orthogonale de V .
Donc on peut obtenir une base orthogonale pour un espace vectoriel V de
dimension arbitraire.
Ce dernier résulat permet de montrer en particulier que les espaces pro-
pres d’une matrice symétrique sont orthogonalisables. Le résultat qui suit
prouve qu’ils sont en fait aussi orthogonaux entre eux:
Proposition 1.3.4 (Orthogonalité des espaces propres). Soit A ∈ M[K]
symétrique, et λ, µ deux valeurs propres distinctes de A. Alors Eλ ⊥ Eµ .
Preuve. Déjà une valeur propre doit forcément avoir un vecteur propre as-
socié non nul par définition donc dim Eλ , dim Eµ > 1.
Soit (u, v) une paire de vecteurs propres de A associée a la paire de valeurs
propres (λ, µ) i.e. Au = λu et Av = µv. On a:
1 1
hu, vi = h Au, Avi
λ µ
1
⇔ hu, vi = hAu, Avi
λµ
1
⇔ hu, vi = (Au)> (Av)
λµ
1 > >
⇔ hu, vi = u A Av
λµ
1 > 2
⇔ hu, vi = u A v par symétrie de A
λµ
µ
⇔ hu, vi = u> v avec A2 v = µ2 v
λ
µ
⇔ hu, vi = hu, vi
λ
10
Et comme µ 6= λ, on a forcément hu, vi = 0.
Donc
∀u ∈ Eλ , ∀v ∈ Eµ , hu, vi = 0 ⇔ Eλ ⊥ Eµ .
Ainsi, soit A ∈ M[C] symétrique. On dénote ses valeurs propres distinctes
par (λi )ri=1 , et la base orthogonale de l’espace propre Eλi par (bij )kj=1
i
avec
ki r
ki := dim(Eλi ). On a donc par la proposition précédente que ((bij )j=1 )i=1 est
une famille de vecteurs orthogonaux. Elle est de plus libres par la proposition
suivante:
Proposition 1.3.5. Toute famille orthogonale de vecteurs de Kn est libre.
Preuve. Soit (bi )ri=1 une telle famille. Alors si elle n’est pas libre, en particuler
∃(αi )ri=1 ∈ Kr \ {~0} tel que:
Σri=1 αi bi = 0
i.e. ∃k ∈ Nr tel que αk 6= 0 donc
1 r
bk = Σ αi bi
αk i=1,i6=k
Et comme h, i est définie positive,
hbk , bk i =
6 0
Or par orthogonalité
1 r
hbk , bk i = hbk , Σ α i bi i
αk i=1,i6=k
= Σri=1,i6=k αi hbk , bi i
=0
Ce qui est absurde. Donc la famille est libre.
En considérant que les multiplicités algebriques et géometriques sont
égales, soit (bi )ni=1 = ((bij )ri=1 )kj=1
i
et on se ramène à:
11
b1 λ1
A = ... ..
b1 . . . bn
.
bn λn
Ainsi, quand A ∈ M[C] est symétrique, une méthode efficace pour cal-
culer les matrices associées à la diagonalisation est:
• On calcule pA (t) = det(t Idn −A)
• On cherche les racines (λi )ri=1 de pA (comptées avec leur multiplicité)
• On calcule les bases des espaces propres Eλi
dim(Eλ )
• On trouves les bases orthogonales ((bij )ri=1 )j=1 i de ces espaces via le
procéssus d’orthogonalisation de Graam-Schmidt.
n
• On les rassemble
en une famille orthogonale (bi )i=1 et on pose P =
b1 . . . bn
• On vérifie que A = P > diag(λ1 . . . λn )P
12