Diagonalisation

Voici deux systèmes linéaires d'équations.

\begin{displaymath}
(a)
\left\{
\begin{array}{rrrcr}
&y&+z&=&1 \ [2ex]
-\frac{1...
...x&&&=&0 \ [2ex]
&-y&&=&-1\ [2ex]
&&2z&=&0
\end{array}\right.
\end{displaymath}

Voici deux systèmes linéaires d'équations de récurrence.

\begin{displaymath}
(a)
\left\{
\begin{array}{lcrrr}
u_{k+1} &=&&v_k&+w_k \ [2e...
...
v_{k+1}&=& &-v_k&\ [2ex]
w_{k+1}&=&&&2w_k
\end{array}\right.
\end{displaymath}

Voici deux systèmes linéaires d'équations différentielles.

\begin{displaymath}
(a)
\left\{
\begin{array}{lcrrr}
x'(t) &=&&y(t)&+z(t) \ [2e...
...x]
y'(t)&=& &-y(t)&\ [2ex]
z'(t)&=&&&2z(t)
\end{array}\right.
\end{displaymath}

Les trois problèmes, de natures très différentes, ont en commun leur écriture matricielle, avec les deux matrices suivantes.

\begin{displaymath}
A=
\left(
\begin{array}{rrr}
0&1&1\ [2ex]
-\frac{1}{2}&\fra...
...r}
1&0&  0\ [2ex]
0&-1&  0\ [2ex]
0&0&  2
\end{array}\right)
\end{displaymath}

Tous les problèmes linéaires sont plus faciles à résoudre quand la matrice est diagonale !

Il se trouve que les deux matrices $ A$ et $ D$ sont semblables, c'est-à-dire qu'elles représentent le même endomorphisme dans deux bases différentes, ou encore, il existe une matrice de passage $ P$ telle que $ P^{-1}AP = D$.

\begin{displaymath}
\stackrel{
\underbrace{
\left(
\begin{array}{rrr}
\frac{1}{2...
...&  0\ [2ex]
0&-1&  0\ [2ex]
0&0&  2
\end{array}\right)
}}{D}
\end{displaymath}

Définition 8   Une matrice carrée $ A\in{\cal M}_n$ est diagonalisable si elle est semblable à une matrice diagonale, c'est-à-dire s'il existe une matrice de passage $ P$ telle que

$\displaystyle P^{-1} A P=D\;.
$

Les techniques permettant de savoir si une matrice donnée est diagonalisable et de calculer la matrice de passage $ P$ si elle l'est, dépassent le cadre de ce cours. On commence par calculer les coefficients diagonaux de $ D$, qui sont les valeurs de $ \lambda$ telles que $ A-\lambda I_n$ n'est pas inversible : on les appelle les valeurs propres, et leur ensemble est le spectre de la matrice. Pour chaque valeur propre $ \lambda$, on détermine ensuite le sous-espace propre associé à $ \lambda$ : c'est l'ensemble des vecteurs $ v$ tels que $ (A-\lambda
I_n)v=0$. La matrice est diagonalisable lorsqu'on peut trouver une base de $ \mathbb{R}^n$ constituée de vecteurs appartenant aux sous-espaces propres. La matrice de passage $ P$ est la matrice exprimant ces vecteurs dans la base canonique. Quelques exemples élémentaires sont donnés dans les exercices 10 et 11.

Quand une matrice $ A$ est diagonalisable, il est facile de résoudre le système linéaire $ Ax=b$ : il est équivalent au système $ Dy=c$, avec $ y=P^{-1}x$ et $ c=P^{-1}b$. Or dans un système dont la matrice est diagonale, toutes les équations n'ont qu'une inconnue et se résolvent séparément.

Prenons maintenant l'exemple d'un système d'équations de récurrence linéaire, du type $ U_{k+1} = A U_k$, où $ U_k$ désigne un vecteur dont on souhaite connaître l'expression en fonction de $ k$. Du point de vue théorique, il n'y a pas de problème :

$\displaystyle U_k = A^k U_0\;.
$

Mais cela n'avance à rien si on ne sait pas calculer formellement l'expression de $ A^k$ en fonction de $ k$. C'est possible si $ A$ est diagonalisable. En effet, si $ A=PDP^{-1}$ :

$\displaystyle A^k = PDP^{-1} PDP^{-1}\ldots PDP^{-1}= PD^kP^{-1}\;.
$

Ecrire $ D^k$ est immédiat. On en déduit l'expression générale de $ A^k$, donc de $ U_k$. Dans l'exemple ci-dessus, on trouve :

\begin{displaymath}
A^k =
\left(
\begin{array}{rrr}
\frac{(-1)^k}{2}+\frac{1}{2...
...rac{2^k}{2}&
\frac{(-1)^k}{2}+\frac{2^k}{2}
\end{array}\right)
\end{displaymath}

Passons maintenant aux systèmes d'équations différentielles, du type

$\displaystyle Y'(t) = A Y(t)\;,$ (1)

$ Y$ est une fonction (inconnue) de $ \mathbb{R}$ dans $ \mathbb{R}^n$, et $ A\in{\cal M}_n$ est une matrice carrée de réels. Si $ A=PDP^{-1}$, alors

$\displaystyle P^{-1}Y'(t) = D(P^{-1}Y(t)
$

Donc $ X(t)=P^{-1}Y(t)$ est solution du système $ X'(t)=DX(t)$. En posant $ X(t)=(x_1(t),\ldots,x_n(t))$, ce système s'écrit

$\displaystyle \forall i=1,\ldots,n\;,\quad x'_i(t) = \lambda_i x_i(t)\;.
$

Sa solution est facile à calculer :

$\displaystyle \forall i=1,\ldots,n\;,\quad x_i(t) = e^{\lambda_i t} x_i(0)\;.
$

Le vecteur des conditions initiales pour le système diagonalisé est $ X(0)=P^{-1}Y(0)$. Connaissant $ X(t)$, on en déduit $ Y(t)=PX(t)$. Soit par exemple à résoudre

\begin{displaymath}
\left\{
\begin{array}{lcrrr}
x'(t) &=&&y(t)&+z(t) \ [2ex]
y...
...}x(t)&-\frac{3}{2}y(t)&+\frac{1}{2} z(t)
\end{array}\right.\;,
\end{displaymath}

avec les conditions initiales $ x(0)=0$, $ y(0)=1$, $ z(0)=2$. Le système s'écrit sous la forme $ Y'(t) = A Y(t)$, avec

\begin{displaymath}
Y(t) =
\left(
\begin{array}{r}
x(t)\ [2ex]
y(t)\ [2ex]
z(...
...ex]
\frac{3}{2}&-\frac{3}{2}&\frac{1}{2}
\end{array}\right)\;.
\end{displaymath}

En utilisant la diagonalisation de $ A$, on obtient

\begin{displaymath}
\left\{
\begin{array}{lcl}
x(t) &=& \displaystyle{\frac{3}{2...
...ystyle{\frac{3}{2}e^{-t}+\frac{1}{2}e^{2t}}
\end{array}\right.
\end{displaymath}

Présentée ainsi la diagonalisation semble un outil magique. En réalité, les algorithmes qui calculent numériquement les valeurs propres et les vecteurs propres sont relativement lents et il est impossible de diagonaliser une matrice si sa dimension dépasse quelques dizaines.

         © UJF Grenoble, 2011                              Mentions légales