Adloun

Réduction des matrices carrées

Cours complet · mathématiques (ECT 2e année), chapitre 6 · prépa ECT, 2e année

Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre

Élever une matrice à la puissance à la main est vite impossible : trois produits pour , et bien davantage pour . Or c'est exactement ce que réclament les situations de gestion où l'on répète une même transformation — la répartition d'une clientèle entre deux agences mois après mois, ou une suite définie par ses deux termes précédents. L'idée de ce chapitre est de changer de point de vue : trouver des directions que la matrice se contente d'étirer, sans les tourner. Dans ces directions, multiplier par revient à multiplier par un nombre, et élever à la puissance devient immédiat. Ces directions sont les vecteurs propres, et les nombres les valeurs propres.

AttentionLe cadre du programme, à lire avant tout

Trois phrases délimitent strictement ce chapitre.

  • « La notation pourra être utilisée, mais elle sera limitée au cas des matrices carrées d'ordre . La notion de déterminant est hors-programme. »
  • « La notion de polynôme minimal, la résolution générale des systèmes (avec paramètre quelconque) et toute théorie sur la réduction sont hors programme. »
  • « On évitera les méthodes trop calculatoires … En particulier, la résolution de systèmes à paramètres est à proscrire. »

Les valeurs propres se chercheront donc par un polynôme annulateur, jamais autrement, et l'on travaillera sur des matrices d'ordre inférieur ou égal à .

6.1 Polynôme d'une matrice

Définition 6.1Polynôme d'une matrice

Soit une matrice carrée d'ordre et un polynôme. On pose

où est la matrice identité d'ordre . C'est encore une matrice carrée d'ordre .

ImportantLe terme constant devient

C'est la seule difficulté de la définition, et c'est une faute classique : on ne peut pas ajouter un nombre à une matrice. Le terme constant se lit donc , une matrice diagonale et non un scalaire. Écrire « » n'a aucun sens ; on écrit .

Exemple 6.2Un calcul complet

Prenons et . On calcule d'abord , puis

Le résultat est la matrice nulle : ce n'est pas un hasard, et la section suivante explique pourquoi.

6.2 Polynôme annulateur

Définition 6.3Polynôme annulateur

Un polynôme est un polynôme annulateur de la matrice carrée lorsque , la matrice nulle.

◆Théorème 6.4L'annulateur des matrices d'ordre 2

Soit . Le polynôme

est un polynôme annulateur de .

Démonstration

Un calcul direct donne et . Les termes hors diagonale disparaissent par soustraction et il reste

c'est-à-dire .

ImportantDeux nombres à lire sur la matrice

Les deux coefficients de se lisent sans calcul : la somme des coefficients diagonaux , et le nombre que l'on note — celui-là même qui décide de l'inversibilité d'une matrice d'ordre .

AttentionLe déterminant s'arrête à l'ordre 2

Le programme est catégorique : « La notation pourra être utilisée, mais elle sera limitée au cas des matrices carrées d'ordre . La notion de déterminant est hors-programme. »

Pour une matrice d'ordre , il n'y a donc aucun déterminant à calculer : un polynôme annulateur vous sera toujours donné, ou se lira sur une relation du type que l'énoncé vous fera vérifier.

Exemple 6.5La matrice de transfert de deux agences

Une banque possède deux agences. Chaque mois, des clients de l'agence A y restent et passent à B ; des clients de B passent à A et y restent. La matrice de transfert est

Ici et , donc annule . Ses racines sont et , car .

6.3 L'inverse par un polynôme annulateur

◆Théorème 6.6Inverser sans pivot

Supposons avec . Alors est inversible et

Démonstration

De on tire , puis, en divisant par , . Le même calcul à gauche donne l'autre égalité : est inversible, d'inverse .

Exemple 6.7Un inverse en trois lignes

Soit . On lit et , donc . Comme :

Contrôle. : on retrouve la formule d'inversion d'ordre du chapitre 1.

AttentionIl faut

Si le terme constant du polynôme annulateur est nul, la méthode ne dit rien — et pour cause : peut alors ne pas être inversible. Ainsi vérifie , et cette matrice n'est pas inversible.

Python : Vérifier un polynôme annulateur


import numpy as np

A = np.array([[3, 1], [2, 2]])
t = A[0, 0] + A[1, 1]
d = A[0, 0]*A[1, 1] - A[0, 1]*A[1, 0]
print(t, d)
print(A @ A - t*A + d*np.eye(2, dtype=int))

Sortie : 5 4, puis une matrice dont les quatre coefficients valent 0. Le signe @ est le produit matriciel de Python ; avec * on obtiendrait un produit terme à terme, qui ne veut rien dire ici.

6.4 Valeurs propres et vecteurs propres

Définition 6.8Valeur propre, vecteur propre

Soit une matrice carrée d'ordre . Un réel est une valeur propre de s'il existe une matrice colonne non nulle telle que

Une telle colonne est alors appelée vecteur propre de associé à .

ImportantLe mot « non nulle » n'est pas décoratif

Sans lui, serait n'importe quel nombre, puisque toujours. Retenons donc : un vecteur propre n'est jamais nul, alors qu'une valeur propre peut très bien valoir .

Exemple 6.9Deux vecteurs propres d'une matrice d'ordre 3

Soit . Pour , on trouve : est vecteur propre associé à la valeur propre .

Pour , on trouve : est vecteur propre associé à la valeur propre . En revanche, pour , , qui n'est proportionnel à aucun multiple de .

Proposition 6.10La valeur propre

Si est valeur propre de , alors n'est pas inversible.

Démonstration

Il existe avec . Si était inversible, on multiplierait à gauche par et l'on obtiendrait , ce qui contredit .

6.5 Chercher les valeurs propres

◆Théorème 6.11Le crible, admis

Si est un polynôme annulateur de , alors toute valeur propre de est racine de .

ImportantUn crible donne des CANDIDATS, pas des valeurs propres

Le théorème se lit dans un seul sens : les racines de forment une liste de candidats, aucune autre valeur ne pouvant être valeur propre — mais certains candidats peuvent ne pas en être. La marche à suivre est donc en deux temps : (1) on trouve un polynôme annulateur et l'on calcule ses racines ; (2) pour chaque racine , on cherche une colonne vérifiant .

Exemple 6.12Les éléments propres de la matrice de transfert

Reprenons , dont est annulateur. Les candidats sont donc et .

Pour . L'équation s'écrit , c'est-à-dire , soit . La colonne convient, et elle est non nulle : est bien valeur propre.

Pour . L'équation s'écrit , soit , soit . La colonne convient.

Les deux candidats sont donc des valeurs propres, avec les vecteurs propres et .

Proposition 6.13Cas d'une matrice triangulaire

Si est triangulaire, ses valeurs propres sont à chercher parmi ses coefficients diagonaux.

Démonstration

Soit qui n'est aucun des coefficients diagonaux de . La matrice est encore triangulaire, et ses coefficients diagonaux sont tous non nuls : par le critère d'inversibilité des matrices triangulaires, elle est inversible. Alors donne , puis : aucun vecteur propre, donc n'est pas valeur propre.

AttentionCe qu'on ne fera jamais

Le programme proscrit « la résolution de systèmes à paramètres » et écarte « toute théorie sur la réduction ». On ne cherche donc jamais les valeurs propres en résolvant avec inconnu : on part toujours d'un polynôme annulateur, dont les racines sont des nombres, et l'on résout autant de systèmes numériques qu'il y a de racines.

6.6 Matrices diagonalisables

Définition 6.14Matrice diagonalisable

Une matrice carrée est diagonalisable s'il existe une matrice diagonale et une matrice carrée inversible telles que

ImportantComment et sont fabriquées

La matrice est construite en rangeant en colonnes des vecteurs propres de , et porte sur sa diagonale les valeurs propres correspondantes, dans le même ordre : échanger deux colonnes de oblige à échanger les deux coefficients de . Le programme précise que « leur construction n'est pas exigible » — et vous seront souvent fournies, à charge de vérifier l'égalité.

Exemple 6.15Diagonaliser une matrice d'ordre 2

Reprenons , annulée par . Les candidats sont et .

Pour , l'équation donne , soit : convient.

Pour , l'équation donne , soit : convient.

On pose donc et . Comme , est inversible et . On vérifie que .

AttentionValeur propre multiple : les vecteurs sont DONNÉS

Le programme le dit sans ambiguïté : « La recherche de vecteurs propres ne pourra être demandée que dans le cas de valeurs propres de multiplicité . Dans les autres cas, les vecteurs propres devront être donnés. »

Quand une même valeur propre revient deux fois sur la diagonale de , l'énoncé vous fournit donc les deux colonnes ; votre travail se limite à vérifier .

Exemple 6.16Une matrice d'ordre 3

Soit . Un calcul donne , donc annule .

On a déjà vu que est valeur propre, de vecteur propre , et que l'est aussi, de vecteur propre . Le programme demande de donner le second vecteur associé à : c'est , et l'on vérifie bien . En rangeant ces trois colonnes,

et .

6.7 Puissances d'une matrice

◆Théorème 6.17La formule des puissances

Si , alors pour tout entier : . De plus, si est diagonale de coefficients , alors est diagonale de coefficients .

Démonstration

Par récurrence. Au rang c'est l'hypothèse. Si , alors

puisque . La propriété est héréditaire, donc vraie pour tout .

Exemple 6.18Les puissances de la matrice d'ordre 2

Avec comme ci-dessus,

Contrôles. Pour : . Pour : . Deux vérifications valent mieux qu'une.

Python : Les puissances par la diagonalisation


import numpy as np

P = np.array([[1.0, 1.0], [1.0, -2.0]])
Q = np.linalg.inv(P)
for n in [1, 2, 5]:
    D = np.array([[4.0**n, 0.0], [0.0, 1.0]])
    print(n, np.round(P @ D @ Q, 6).tolist())

Sortie : 1 [[3.0, 1.0], [2.0, 2.0]], puis 2 [[11.0, 5.0], [10.0, 6.0]], puis 5 [[683.0, 341.0], [682.0, 342.0]]. La formule exacte donne pour : et . Les deux coïncident.

6.8 Suites récurrentes et systèmes de suites

Exemple 6.19Les deux agences, mois après mois

Notons et les parts de clientèle des agences A et B au bout de mois, avec et (tous les clients sont initialement en A). Les règles de transfert s'écrivent

On en tire , et la diagonalisation de donne, avec les vecteurs propres et trouvés plus haut,

Contrôles. Pour : et . Pour : et , ce que donne aussi . Pour : .

Le long terme. Comme tend vers , les parts tendent vers et : la répartition se stabilise à / . C'est le vecteur propre associé à la valeur propre , normalisé pour que ses termes somment à .

Python : La convergence, au clavier


import numpy as np

M = np.array([[0.8, 0.3], [0.2, 0.7]])
x = np.array([1.0, 0.0])
for n in range(1, 7):
    x = M @ x
    print(n, round(x[0], 6), round(x[1], 6))

Sortie : 1 0.8 0.2, 2 0.7 0.3, 3 0.65 0.35, 4 0.625 0.375, 5 0.6125 0.3875, 6 0.60625 0.39375. Chaque ligne coïncide avec la formule : la machine corrobore, le calcul matriciel démontre.

Exemple 6.20Une suite récurrente d'ordre 2

Soit définie par , et . Posons : alors avec .

Ici et , donc annule : les valeurs propres sont et . La suite s'écrit alors , et les conditions initiales donnent et , d'où et :

Contrôles. , , ; et la récurrence donne . De même et .

AttentionSur des exemples, et seulement ainsi

Le programme ferme la porte à toute systématisation : « La méthode générale de résolution est hors-programme. » Un énoncé vous guidera donc pas à pas — matrice , polynôme annulateur, valeurs propres, forme de , conditions initiales. On ne vous demandera jamais de retrouver seul cette marche.

Continuer sur Adloun : animation, QCM, fiches, exercices