Retour au blog

Matrices Positives & Théorème de Perron-Frobenius : Exercices Clés

Huit exercices corrigés pour reconnaître une matrice irréductible ou primitive, trouver la valeur propre et le vecteur de Perron, puis s'en servir sur une chaîne de Markov et un modèle de population.

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

Niveau : moyen. Durée estimée : 90 min. 8 exercices avec corrections détaillées.

Rappel des notions clés

Devant une matrice $A$ à coefficients positifs ou nuls, tu fais trois tests dans l'ordre : son graphe dit si elle est irréductible, ses puissances disent si elle est primitive, puis le théorème de Perron-Frobenius te donne sa plus grande valeur propre et un vecteur propre à composantes strictement positives. Exemple : $A=\begin{pmatrix}1&2\\2&1\end{pmatrix}$ a pour valeurs propres $3$ et $-1$. Son rayon spectral, le plus grand module de ses valeurs propres complexes, vaut $\rho(A)=3$ ; il a pour vecteur propre $(1, 1)$, et l'autre valeur propre est plus petite en module.

On suit la convention française : $A\geq 0$ (positive) quand tous ses coefficients sont positifs ou nuls, $A > 0$ (strictement positive) quand ils sont tous strictement positifs. Le graphe de $A$ a un sommet par indice et un arc $i\to j$ quand $a_{ij} > 0$. Il est fortement connexe si tout sommet mène à tout autre par un chemin d'arcs. Énoncés d'après le TD d'agrégation de l'université Côte d'Azur et le cours de Manchester.

Formules à retenir :

  • Irréductible : graphe fortement connexe. Primitive : il existe $k\geq 1$ avec $A^k > 0$. Strictement positive $\Rightarrow$ primitive $\Rightarrow$ irréductible.
  • $A\geq 0$ irréductible : $\rho(A) > 0$ est une valeur propre simple, avec un vecteur propre $v > 0$ unique à un facteur près (le vecteur de Perron).
  • Si de plus $A$ est primitive : $|\lambda| < \rho(A)$ pour toute autre valeur propre $\lambda$.
  • Toute $A\geq 0$ (forme faible) : $\rho(A)$ est valeur propre, avec un vecteur propre $\geq 0$.

Piège classique : irréductible ne veut pas dire primitive. La matrice $\begin{pmatrix}0&1\\1&0\end{pmatrix}$ est irréductible, mais ses valeurs propres $1$ et $-1$ ont le même module. L'inégalité stricte $|\lambda| < \rho(A)$ exige la primitivité.

Exercices : niveau facile

Exercice 1 : On pose $A=\begin{pmatrix}1&2\\3&4\end{pmatrix}$ et $B=\begin{pmatrix}2&0&1\\0&3&0\\1&0&4\end{pmatrix}$.

a) Pour chacune, dis si elle est positive, strictement positive, irréductible, en t'appuyant sur son graphe.

b) Vérifie que $(1, 0, 1+\sqrt{2})$ est un vecteur propre de $B$. Pour quelle valeur propre ? Que manque-t-il par rapport au théorème de Perron-Frobenius ?

Correction :

On lit les zéros, puis les arcs absents du graphe.

a) $A > 0$, donc $A$ est primitive, donc irréductible. $B\geq 0$ mais $b_{12}=0$. Son graphe a les arcs $1\to 3$, $3\to 1$ et des boucles, mais aucun arc entre $\{1, 3\}$ et $2$ : depuis $1$, on n'atteint jamais $2$.

$A$ est irréductible ; $B$ est positive mais réductible.

b) $B\,(1, 0, 1+\sqrt{2})^T=(3+\sqrt{2}, 0, 5+4\sqrt{2})^T$ et $(3+\sqrt{2})(1+\sqrt{2})=5+4\sqrt{2}$. Le bloc $\begin{pmatrix}2&1\\1&4\end{pmatrix}$ des indices $1$ et $3$ donne les valeurs propres $3\pm\sqrt{2}$, l'indice $2$ donne $3$ : on a donc trouvé $\rho(B)$.

$\rho(B)=3+\sqrt{2}$, mais son vecteur propre a une composante nulle : sans irréductibilité, seule la forme faible tient.

Exercice 2 : Soit $C=\begin{pmatrix}0&1&0\\0&0&1\\1&0&0\end{pmatrix}$.

a) Calcule $C^2$ et $C^3$.

b) Montre que $C$ est irréductible mais pas primitive.

c) Calcule ses valeurs propres et compare leurs modules à $\rho(C)$.

Correction :

On suit le graphe, puis les puissances.

a) $C^2=\begin{pmatrix}0&0&1\\1&0&0\\0&1&0\end{pmatrix}$ et $C^3=I_3$.

b) Le graphe est le cycle $1\to 2\to 3\to 1$, fortement connexe : $C$ est irréductible. Comme $C^3=I_3$, ses puissances valent $C$, $C^2$ ou $I_3$, qui ont toutes des zéros : $C$ n'est pas primitive.

c) $\det(C-\lambda I_3)=1-\lambda^3$, donc les valeurs propres sont $1$, $j=e^{2i\pi/3}$ et $j^2$, toutes de module $1$. Le vecteur de Perron est $(1, 1, 1)$.

$C$ est irréductible, non primitive, et ses trois valeurs propres ont le module $\rho(C)=1$.

Exercice 3 : Soit $A=\begin{pmatrix}3&1\\1&2\end{pmatrix}$. Calcule ses valeurs propres, puis $\rho(A)$ et un vecteur de Perron. Vérifie les conclusions du théorème.

Correction :

On factorise le polynôme caractéristique, puis on cherche le noyau de $A-\rho(A)I_2$.

$\chi_A(\lambda)=(3-\lambda)(2-\lambda)-1=\lambda^2-5\lambda+5$, de discriminant $5$ : $\lambda_1=\frac{5+\sqrt{5}}{2}\approx 3{,}618$ et $\lambda_2=\frac{5-\sqrt{5}}{2}\approx 1{,}382$.

La première ligne de $(A-\lambda_1 I_2)v=0$ donne $\frac{1-\sqrt{5}}{2}x+y=0$, soit $y=\frac{\sqrt{5}-1}{2}x$. Avec $x=2$, on obtient $v=(2, \sqrt{5}-1)$, à composantes strictement positives.

$\rho(A)=\frac{5+\sqrt{5}}{2}$, vecteur de Perron $(2, \sqrt{5}-1)$, et $|\lambda_2| < \rho(A)$ comme prévu pour $A > 0$.

Exercices : niveau moyen

Exercice 4 : Soit $A\geq 0$ de taille $n$ et $r_i=\sum_j a_{ij}$ la somme de sa ligne $i$.

a) Montre que toute valeur propre $\lambda$ de $A$ vérifie $|\lambda|\leq\max_i r_i$.

b) Déduis-en $\rho(M)$, sans polynôme caractéristique, pour $M=\begin{pmatrix}1&2&0\\0&1&2\\2&0&1\end{pmatrix}$.

c) Que vaut $\rho(P)$ pour une matrice stochastique $P$, c'est-à-dire positive avec chaque ligne de somme $1$ ?

Correction :

On regarde la ligne où le vecteur propre atteint son plus grand module.

a) Soit $x\neq 0$ avec $Ax=\lambda x$, et $i$ tel que $|x_i|=\max_j|x_j|$. Alors $|\lambda||x_i|=\left|\sum_j a_{ij}x_j\right|\leq\sum_j a_{ij}|x_i|=r_i|x_i|$, d'où $|\lambda|\leq r_i\leq\max_k r_k$.

b) Chaque ligne de $M$ a pour somme $3$, donc $M(1, 1, 1)^T=3(1, 1, 1)^T$ : $3$ est valeur propre, et a) borne le module de toutes les valeurs propres par $3$.

$\rho(M)=3$, de vecteur propre $(1, 1, 1)$.

c) Même raisonnement avec le vecteur $(1, \dots, 1)$ : $\rho(P)=1$.

Exercice 5 : Données fictives : des vélos en libre-service circulent entre la gare (état 1) et le campus (état 2). Chaque jour, un vélo de la gare part au campus avec probabilité $0{,}5$, sinon il reste ; un vélo du campus part à la gare avec probabilité $0{,}2$, sinon il reste. La ligne $i$ de la matrice de transition $P$ correspond à l'état de départ.

a) Écris $P$ et justifie qu'elle est primitive.

b) Trouve la loi stationnaire, c'est-à-dire le vecteur ligne $\pi=(\pi_1, \pi_2)$ tel que $\pi P=\pi$ et $\pi_1+\pi_2=1$.

c) Quelle part de la flotte se trouve au campus à long terme ?

Correction :

On cherche un vecteur propre à gauche de $P$ pour la valeur propre $1$.

a) $P=\begin{pmatrix}0{,}5&0{,}5\\0{,}2&0{,}8\end{pmatrix} > 0$, donc primitive. Elle est stochastique, donc $\rho(P)=1$ (exercice 4).

b) La première coordonnée de $\pi P=\pi$ donne $0{,}5\pi_1+0{,}2\pi_2=\pi_1$, soit $2\pi_2=5\pi_1$. Avec $\pi_1+\pi_2=1$ : $\pi_1=\frac{2}{7}$ et $\pi_2=\frac{5}{7}$.

c) Comme $P > 0$, la loi d'un vélo converge vers $\pi$ quel que soit son point de départ (théorème 7 du cours de Manchester).

$\pi=\left(\frac{2}{7}, \frac{5}{7}\right)$ : à long terme, $\frac{5}{7}$ de la flotte, environ 71 %, est au campus.

Erreur à éviter : résoudre $Pv=v$, qui donne $(1, 1)$ pour toute matrice stochastique. La loi cherchée est vecteur propre de $P^T$.

Exercice 6 : Données fictives : une population d'oiseaux compte des jeunes et des adultes. À chaque saison, un jeune produit en moyenne $1$ jeune et un adulte $1{,}5$ ; la moitié des jeunes devient adulte, et aucun adulte ne survit. Le vecteur $x_n$ (jeunes, adultes) de la saison $n$ vérifie donc $x_{n+1}=Lx_n$, avec la matrice de Leslie $L=\begin{pmatrix}1&1{,}5\\0{,}5&0\end{pmatrix}$.

a) Montre que $L$ est primitive.

b) Calcule $\rho(L)$ et un vecteur de Perron.

c) On part de $x_0=(100, 100)$. Exprime $x_n$, puis donne la répartition entre jeunes et adultes à long terme.

Correction :

On teste une puissance de $L$, puis on décompose $x_0$ sur les vecteurs propres.

a) $L$ a un zéro, mais $L^2=\begin{pmatrix}1{,}75&1{,}5\\0{,}5&0{,}75\end{pmatrix} > 0$ : $L$ est primitive.

b) $\chi_L(\lambda)=\lambda^2-\lambda-0{,}75=(\lambda-1{,}5)(\lambda+0{,}5)$, donc $\rho(L)=1{,}5$ et $|-0{,}5| < 1{,}5$. La seconde ligne de $(L-1{,}5I_2)v=0$ donne $0{,}5v_1=1{,}5v_2$, d'où $v=(3, 1)$.

c) Pour $-0{,}5$, on trouve $u=(1, -1)$. On écrit $x_0=50v-50u$, d'où $x_n=50\times 1{,}5^n\,(3, 1)-50\times(-0{,}5)^n\,(1, -1)$. Le second terme devient négligeable devant le premier.

À terme, la population est multipliée par $1{,}5$ à chaque saison, avec $\frac{3}{4}$ de jeunes et $\frac{1}{4}$ d'adultes.

Exercices : niveau difficile

Exercice 7 : Soit $A\geq 0$ irréductible et $v$ un vecteur à composantes strictement positives tel que $Av=\lambda v$.

a) Justifie que $A^T$ est irréductible et que $\rho(A^T)=\rho(A)$.

b) Montre que $\lambda=\rho(A)$.

c) Déduis-en que $v$ est proportionnel au vecteur de Perron de $A$.

d) Dans l'exercice 1, $(0, 1, 0)$ est un vecteur propre positif de $B$ pour la valeur propre $3\neq\rho(B)$. Pourquoi n'est-ce pas une contradiction ?

Correction :

On multiplie à gauche par le vecteur de Perron de $A^T$.

a) Retourner les arcs garde le graphe fortement connexe, et $A^T$ a le même polynôme caractéristique que $A$.

b) Le théorème appliqué à $A^T$ donne $w > 0$ tel que $A^Tw=\rho(A)w$, soit $w^TA=\rho(A)w^T$. Alors $w^TAv=\lambda\,w^Tv=\rho(A)\,w^Tv$. Or $w^Tv=\sum_i w_iv_i > 0$, donc $\lambda=\rho(A)$.

c) $\rho(A)$ est simple : son sous-espace propre est la droite du vecteur de Perron.

d) $B$ est réductible et $(0, 1, 0)$ n'est pas strictement positif : aucune des deux hypothèses n'est remplie.

Un vecteur propre strictement positif d'une matrice positive irréductible est toujours un vecteur de Perron.

Exercice 8 : Soit $A$ et $B$ de taille $n$ avec $0\leq A\leq B$ coefficient par coefficient. On admet la formule de Gelfand : $\rho(M)=\lim_{k\to+\infty}\|M^k\|^{1/k}$ pour toute norme matricielle. On prend $\|M\|_\infty=\max_i\sum_j|m_{ij}|$.

a) Montre par récurrence que $0\leq A^k\leq B^k$ pour tout $k\geq 1$.

b) Déduis-en que $\rho(A)\leq\rho(B)$.

c) Dans l'exercice 6, la fécondité des jeunes passe de $1$ à $1{,}2$. Le taux de croissance peut-il baisser ?

Correction :

On compare les puissances, puis on applique la formule de Gelfand.

a) Vrai pour $k=1$ ; si $0\leq A^k\leq B^k$, alors $(A^{k+1})_{ij}=\sum_l (A^k)_{il}a_{lj}\leq\sum_l (B^k)_{il}b_{lj}=(B^{k+1})_{ij}$, car tous les facteurs sont positifs.

b) D'après a), $\|A^k\|_\infty\leq\|B^k\|_\infty$. On prend la racine $k$-ième, croissante, et on passe à la limite : $\rho(A)\leq\rho(B)$.

c) La nouvelle matrice $L'$ vérifie $0\leq L\leq L'$, donc $\rho(L')\geq 1{,}5$ : le taux de croissance ne peut pas baisser. Le calcul donne d'ailleurs $\rho(L')=0{,}6+\sqrt{1{,}11}\approx 1{,}65$.

Bilan et conseils

Ce qu'il faut retenir : avant d'appliquer le théorème, vérifie ses hypothèses dans l'ordre : positive, irréductible (le graphe), primitive (une puissance sans zéro). Pour une matrice stochastique, $\rho=1$ se lit sur le vecteur $(1, \dots, 1)$, et la loi stationnaire se cherche à gauche, avec $\pi P=\pi$.

Refais les démonstrations sans regarder les corrections : elles tiennent en deux gestes, lire le graphe et multiplier par un vecteur positif bien choisi, comme $(1, \dots, 1)$ ou le vecteur de Perron de $A^T$.

Sources

Tu peux partager cette page librement, en citant ORBITECH AI Academy avec son lien.