Maths Experte Graphes & Matrices matricessuitesrécurrenceétat stablepuissances de matricessuites coupléesproie-prédateur

Suites et matrices

Résumé de cours, théorèmes et méthodes : suites de matrices colonnes, relation U(n+1) = A U(n) et U(n) = A^n U(0), relation U(n+1) = A U(n) + C, état stable et suite auxiliaire, suites récurrentes couplées, suites récurrentes linéaires d'ordre 2, calcul de A^n à partir d'une décomposition fournie, algorithme Python (Terminale, maths expertes).

Faire le quiz →

Définitions

Définition 1 — suite de matrices colonnes. Lorsque plusieurs quantités évoluent simultanément (deux populations en interaction, volumes de deux réservoirs, répartition de clients…), on les range à l’instant nn dans une matrice colonne UnU_n. La suite (Un)(U_n) est définie par récurrence lorsque Un+1U_{n+1} s’exprime en fonction de UnU_n : Un+1=AUnou, plus geˊneˊralement,Un+1=AUn+C,U_{n+1} = AU_n \qquad \text{ou, plus généralement,} \qquad U_{n+1} = AU_n + C, où AA est une matrice carrée fixée et CC une matrice colonne constante (apports extérieurs, naissances, migrations…).

Définition 2 — état stable. Un état stable (ou point fixe) de la relation Un+1=AUn+CU_{n+1} = AU_n + C est une matrice colonne SS vérifiant S=AS+CS = AS + C : si Un=SU_n = S, alors tous les termes suivants valent SS. L’équation se réécrit (I−A)S=C(I - A)S = C.

Théorèmes et propriétés

Théorème 1 (expression de UnU_n). (démonstration exigible) Si Un+1=AUnU_{n+1} = AU_n pour tout entier naturel nn, alors pour tout nn : Un=AnU0U_n = A^nU_0.

Démonstration (récurrence sur nn) : initialisation : A0U0=IU0=U0A^0U_0 = IU_0 = U_0 ; hérédité : si Un=AnU0U_n = A^nU_0, alors Un+1=AUn=A(AnU0)=An+1U0U_{n+1} = AU_n = A(A^nU_0) = A^{n+1}U_0. L’étude de la suite se ramène donc au calcul de AnA^n (voir le cours sur les matrices et la Méthode 4).

Théorème 2 (état stable). Si la matrice I−AI - A est inversible, la relation Un+1=AUn+CU_{n+1} = AU_n + C admet un unique état stable : S=(I−A)−1C.S = (I - A)^{-1}C.

Théorème 3 (suite auxiliaire). (démonstration exigible) Soit SS un état stable et Vn=Un−SV_n = U_n - S. Alors Vn+1=AVnV_{n+1} = AV_n, donc Vn=AnV0V_n = A^nV_0 et Un=An(U0−S)+Spour tout n.U_n = A^n(U_0 - S) + S \quad \text{pour tout } n.

Démonstration : Vn+1=Un+1−S=(AUn+C)−(AS+C)=A(Un−S)=AVnV_{n+1} = U_{n+1} - S = (AU_n + C) - (AS + C) = A(U_n - S) = AV_n ; le Théorème 1 donne Vn=AnV0=An(U0−S)V_n = A^nV_0 = A^n(U_0 - S), d’où Un=Vn+SU_n = V_n + S.

Théorème 4 (convergence vers l’état stable). Si AnA^n tend vers la matrice nulle (tous ses coefficients tendent vers 00), alors Un=An(U0−S)+SU_n = A^n(U_0 - S) + S tend vers SS quel que soit U0U_0 : l’état stable est la limite du système.

Théorème 5 (décomposition A=PDP−1A = PDP^{-1}). Si A=PDP−1A = PDP^{-1} avec DD diagonale (décomposition toujours fournie par l’énoncé), alors pour tout entier naturel nn : An=PDnP−1A^n = PD^nP^{-1}, où DnD^n s’obtient en élevant chaque coefficient diagonal à la puissance nn.

Démonstration (récurrence) : vrai pour n=0n = 0 (PP−1=IPP^{-1} = I) ; si An=PDnP−1A^n = PD^nP^{-1}, alors An+1=AnA=PDnP−1⋅PDP−1=PDn+1P−1A^{n+1} = A^nA = PD^nP^{-1} \cdot PDP^{-1} = PD^{n+1}P^{-1}.

Méthodes

Méthode 1 — mettre un système d’évolution sous forme matricielle.

  1. Nommer les quantités (xnx_n, yny_n…) et écrire une équation par quantité : xn+1x_{n+1} et yn+1y_{n+1} en fonction de xnx_n et yny_n (plus un éventuel terme constant).
  2. Poser Un=(xnyn)U_n = \begin{pmatrix} x_n \\ y_n \end{pmatrix} ; chaque ligne de AA recopie les coefficients d’une équation, et CC regroupe les constantes.
  3. Obtenir Un+1=AUnU_{n+1} = AU_n ou Un+1=AUn+CU_{n+1} = AU_n + C.

Exemple (réservoirs) : {xn+1=0,8xn+0,1yn+1yn+1=0,1xn+0,7yn+2  ⟺  Un+1=(0,80,10,10,7)Un+(12)\begin{cases} x_{n+1} = 0{,}8x_n + 0{,}1y_n + 1 \\ y_{n+1} = 0{,}1x_n + 0{,}7y_n + 2 \end{cases} \iff U_{n+1} = \begin{pmatrix} 0{,}8 & 0{,}1 \\ 0{,}1 & 0{,}7 \end{pmatrix}U_n + \begin{pmatrix} 1 \\ 2 \end{pmatrix}. De même, le modèle proie-prédateur xn+1=1,1xn−0,2ynx_{n+1} = 1{,}1x_n - 0{,}2y_n, yn+1=0,1xn+0,9yny_{n+1} = 0{,}1x_n + 0{,}9y_n donne Un+1=(1,1−0,20,10,9)UnU_{n+1} = \begin{pmatrix} 1{,}1 & -0{,}2 \\ 0{,}1 & 0{,}9 \end{pmatrix}U_n.

Méthode 2 — étudier Un+1=AUn+CU_{n+1} = AU_n + C avec l’état stable.

  1. Chercher l’état stable : résoudre (I−A)S=C(I - A)S = C, soit S=(I−A)−1CS = (I - A)^{-1}C si I−AI - A est inversible (Théorème 2).
  2. Poser Vn=Un−SV_n = U_n - S et vérifier Vn+1=AVnV_{n+1} = AV_n (Théorème 3) : d’où Un=An(U0−S)+SU_n = A^n(U_0 - S) + S.
  3. Conclure sur le comportement : si AnA^n tend vers la matrice nulle, UnU_n tend vers SS (Théorème 4).

Exemple (réservoirs) : I−A=(0,2−0,1−0,10,3)I - A = \begin{pmatrix} 0{,}2 & -0{,}1 \\ -0{,}1 & 0{,}3 \end{pmatrix}, ad−bc=0,05≠0ad - bc = 0{,}05 \neq 0, (I−A)−1=(6224)(I - A)^{-1} = \begin{pmatrix} 6 & 2 \\ 2 & 4 \end{pmatrix}, donc S=(1010)S = \begin{pmatrix} 10 \\ 10 \end{pmatrix} ; vérification : 0,8×10+0,1×10+1=100{,}8 \times 10 + 0{,}1 \times 10 + 1 = 10. En partant de réservoirs vides, les volumes se stabilisent vers 10 litres.

Méthode 3 — coder une suite récurrente linéaire d’ordre 2.

  1. Pour un+2=aun+1+bunu_{n+2} = au_{n+1} + bu_n, poser Un=(un+1un)U_n = \begin{pmatrix} u_{n+1} \\ u_n \end{pmatrix}.
  2. Écrire Un+1=(un+2un+1)=(ab10)UnU_{n+1} = \begin{pmatrix} u_{n+2} \\ u_{n+1} \end{pmatrix} = \begin{pmatrix} a & b \\ 1 & 0 \end{pmatrix}U_n : la première ligne code la récurrence, la seconde recopie un+1u_{n+1}.
  3. Conclure avec le Théorème 1 : Un=AnU0U_n = A^nU_0 avec U0=(u1u0)U_0 = \begin{pmatrix} u_1 \\ u_0 \end{pmatrix}.

Exemple (Fibonacci) : F0=0F_0 = 0, F1=1F_1 = 1, Fn+2=Fn+1+FnF_{n+2} = F_{n+1} + F_n : M=(1110)M = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix} et l’on montre par récurrence que Mn=(Fn+1FnFnFn−1)M^n = \begin{pmatrix} F_{n+1} & F_n \\ F_n & F_{n-1} \end{pmatrix} pour n≥1n \geq 1 ; la calculatrice donne F30=832 040F_{30} = 832\,040 avec M^30.

Méthode 4 — calculer AnA^n (en particulier avec une décomposition fournie).

  1. AA diagonale : élever chaque coefficient diagonal à la puissance nn.
  2. A=λI+NA = \lambda I + N avec N2=0N^2 = 0 : An=λnI+nλn−1NA^n = \lambda^nI + n\lambda^{n-1}N ; sinon, conjecturer à partir de A2A^2, A3A^3 puis démontrer par récurrence.
  3. Décomposition A=PDP−1A = PDP^{-1} fournie par l’énoncé : vérifier éventuellement la décomposition, puis appliquer An=PDnP−1A^n = PD^nP^{-1} (Théorème 5) et effectuer les deux produits.

Exemple : A=(3113)=PDP−1A = \begin{pmatrix} 3 & 1 \\ 1 & 3 \end{pmatrix} = PDP^{-1} avec P=(111−1)P = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, D=(4002)D = \begin{pmatrix} 4 & 0 \\ 0 & 2 \end{pmatrix}, P−1=12(111−1)P^{-1} = \dfrac12\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} : An=(4n2n4n−2n)⋅12(111−1)=12(4n+2n4n−2n4n−2n4n+2n)A^n = \begin{pmatrix} 4^n & 2^n \\ 4^n & -2^n \end{pmatrix}\cdot\dfrac12\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = \dfrac12\begin{pmatrix} 4^n + 2^n & 4^n - 2^n \\ 4^n - 2^n & 4^n + 2^n \end{pmatrix} ; avec U0=(10)U_0 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, on en déduit xn=4n+2n2x_n = \dfrac{4^n + 2^n}{2} et yn=4n−2n2y_n = \dfrac{4^n - 2^n}{2}.

Méthode 5 — calculer les termes par un algorithme.

  1. Initialiser les coordonnées de U0U_0.
  2. Boucler : calculer les nouvelles valeurs simultanément à partir des anciennes (affectation x, y = ... en Python).
  3. Boucle for pour atteindre un rang donné, boucle while pour chercher le premier rang vérifiant une condition (par exemple être à moins de 0,010{,}01 de l’état stable).
def terme(A, C, U0, n):
    """Renvoie U_n pour U_{k+1} = A U_k + C (matrices 2x2 et colonnes 2x1 sous forme de listes)."""
    x, y = U0
    for _ in range(n):
        x, y = A[0][0] * x + A[0][1] * y + C[0], A[1][0] * x + A[1][1] * y + C[1]
    return x, y

A = [[0.8, 0.1], [0.1, 0.7]]
C = [1, 2]
print(terme(A, C, (0, 0), 30))   # (9.87..., 9.92...) : proche de l'état stable (10, 10)

L’affectation simultanée est indispensable : les deux nouvelles valeurs se calculent à partir des anciennes. Pour un seuil, remplacer la boucle for par while abs(x - 10) > 0.01 or abs(y - 10) > 0.01.

Quiz — Suites et matrices

10 questions · correction immédiate · sans inscription

Tester →