Réduction des matrices carrées
Cours complet · mathématiques appliquées (ECG 2e année), chapitre 3 · prépa ECG, 2e année
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
Le chapitre précédent s'est achevé sur une observation : un même endomorphisme change de matrice quand on change de base, et certaines bases donnent une matrice bien plus simple que d'autres. La symétrie , dont la matrice canonique est , devient dans la base — et là, on voit ce qu'elle fait.
Ce chapitre systématise cette recherche. On cherche les directions que l'endomorphisme ne fait que dilater, sans les tourner : ce sont les directions propres. S'il y en a assez pour former une base, la matrice devient diagonale, et tout devient calculable — au premier rang de quoi les puissances , dont dépendent les suites récurrentes linéaires, les systèmes différentiels du chapitre 4 et les chaînes de Markov du chapitre 10.
Le déterminant d'ordre et le polynôme caractéristique ne sont pas au programme. Une valeur propre ne se cherche donc jamais en annulant . Trois chemins seulement : un polynôme annulateur fourni par l'énoncé, la lecture directe sur une matrice triangulaire, ou l'étude du rang de . Le programme ajoute que « la résolution de systèmes à paramètres est déconseillée » : les énoncés donneront donc presque toujours les valeurs propres, ou de quoi les trouver sans calcul lourd.
3.1 Éléments propres
3.1.1 Vecteurs propres, valeurs propres
Soit . Un réel est une valeur propre de lorsqu'il existe une colonne non nulle telle que
Une telle colonne s'appelle un vecteur propre de associé à . L'ensemble
est le sous-espace propre associé à .
La colonne nulle vérifie pour tout : l'autoriser rendrait tout réel valeur propre. C'est pourquoi la définition exige . En revanche appartient toujours à , qui est un sous-espace vectoriel — c'est le noyau de .
Le spectre de , noté , est l'ensemble de ses valeurs propres.
Soit et . Les assertions suivantes sont équivalentes :
- ;
- la matrice n'est pas inversible ;
- ;
- le système homogène a une solution non nulle.
Démonstration
s'écrit . Dire qu'il existe une solution non nulle, c'est dire que le noyau de n'est pas réduit à , donc que cette matrice n'est pas inversible — et, par le théorème du rang, que son rang est strictement inférieur à .
Si est triangulaire, l'est aussi, et ses coefficients diagonaux sont . Or une matrice triangulaire est inversible si et seulement si aucun coefficient diagonal n'est nul. Donc
les valeurs propres d'une matrice triangulaire sont ses coefficients diagonaux. Ainsi — la valeur n'est comptée qu'une fois, un spectre est un ensemble.
3.1.2 Polynômes annulateurs
Un polynôme est annulateur de lorsque , où s'obtient en remplaçant par et le terme constant par .
Si est un polynôme annulateur de , alors toute valeur propre de est racine de :
Démonstration
Soit et tel que . Alors , et par récurrence pour tout . Par linéarité, . Or , donc avec : nécessairement .
Une racine de n'est pas forcément valeur propre. Si , le polynôme est annulateur — car — pourtant . Un polynôme annulateur donne donc une liste de candidats, qu'il faut ensuite trier un par un.
Soit telle que , c'est-à-dire . Le polynôme est annulateur, donc . Il ne reste qu'à tester ces deux candidats.
Le programme est explicite : « aucune connaissance supplémentaire sur les polynômes annulateurs n'est au programme ». On ne parlera donc ni de polynôme minimal, ni du théorème de Cayley-Hamilton.
3.2 Diagonalisation
3.2.1 Les sous-espaces propres sont indépendants
Soient des valeurs propres deux à deux distinctes de , et pour chaque une famille libre de . Alors la famille obtenue en concaténant ces familles est libre.
Des vecteurs propres associés à des valeurs propres deux à deux distinctes forment une famille libre. En particulier, une matrice de a au plus valeurs propres.
3.2.2 Matrice diagonalisable
Une matrice est diagonalisable lorsqu'il existe une matrice diagonale et une matrice inversible telles que
est diagonalisable si et seulement s'il existe une base de formée de vecteurs propres de . Dans ce cas :
- les colonnes de sont ces vecteurs propres,
- les coefficients diagonaux de sont les valeurs propres correspondantes, dans le même ordre.
Si la troisième colonne de est un vecteur propre de valeur propre , alors le troisième coefficient diagonal de doit être . Échanger deux colonnes de oblige à échanger les deux coefficients de . C'est l'erreur la plus fréquente, et elle ne se voit qu'au moment de vérifier .
Soit . Elle est triangulaire, donc .
Pour : s'écrit , soit . Donc .
Pour : , soit . Donc .
Les deux vecteurs propres forment une base de :
La dernière égalité est la vérification à ne jamais sauter.
Soit .
- Si possède valeurs propres deux à deux distinctes, alors est diagonalisable.
- Si est symétrique, alors est diagonalisable.
Le second est admis par le programme. Il est très utile : il permet d'affirmer qu'une matrice est diagonalisable avant tout calcul, d'un simple coup d'œil à sa symétrie.
n'a qu'une valeur propre, , et elle est pourtant diagonale donc diagonalisable. Avoir valeurs propres distinctes est suffisant, jamais nécessaire.
Soit . Elle est triangulaire, donc . Le système s'écrit , soit : , de dimension . Il n'y a qu'une direction propre, on ne peut pas construire une base de avec : n'est pas diagonalisable.
3.3 Puissances d'une matrice
3.3.1 Le cas diagonalisable
Si avec , alors pour tout ,
Démonstration
Par récurrence. Pour c'est . Et si , alors
Les intermédiaires se télescopent : c'est tout le mécanisme.
3.3.2 Le cas non diagonalisable : la formule du binôme
Si s'écrit où est une matrice nilpotente (c'est-à-dire pour un certain ), alors et commutent, et la formule du binôme s'applique :
La somme s'arrête d'elle-même à , puisque .
est faux en général pour des matrices. Il faut . Ici, commute avec tout : c'est ce qui autorise le calcul, et rien d'autre.
Reprenons avec . On calcule . Le binôme donne, pour ,
Vérification pour : , et en effet .
3.3.3 Application aux suites récurrentes linéaires
Une suite de vecteurs définie par vérifie . Diagonaliser donne donc une formule explicite pour , et son comportement quand tend vers se lit sur les :
- si tous les , alors ;
- si un , la composante correspondante explose ;
- si , la composante reste constante.
Python : Diagonaliser, et vérifier
import numpy as np
A = np.array([[3., 1.], [0., 2.]])
# vp = valeurs propres, P = vecteurs en colonnes
vp, P = np.linalg.eig(A)
print(vp) # [3. 2.]
D = np.diag(vp)
# True <- LA verification : AP = PD
print(np.allclose(A @ P, P @ D))
print(np.allclose(np.linalg.matrix_power(A, 5),
P @ np.diag(vp**5) @ np.linalg.inv(P))) # True
np.linalg.eig ne dit pas si la matrice est diagonalisable : sur elle rend deux fois la valeur et deux colonnes presque identiques. C'est , et la dimension des sous-espaces propres, qui tranchent.