Matrices et suites récurrentes Matrices et suites récurrentes
La suite (un) définie par ses deux premiers termes et par la relation de récurrence un+2 = aun+1 + bun est une suite récurrente d’ordre 2 à coefficients constants. Pour exprimer explicitement le terme de rang n, on peut utiliser une matrice carrée d’ordre 2.
1. Rappel : les nombres de Fibonacci
Pour tout entier naturel n, les nombres de Fibonacci F0, F1, F2, etc. sont définis par la relation de récurrence Fn+2=Fn+1+Fn avec F0=F1 =1.
2. Calcul des nombres de Fibonacci à l’aide d’une matrice 2x2
Définissons une suite (Vn) de vecteurs-colonne
par
avec
. Si M est la matrice
, on a alors Vn+1=MVn pour tout
entier naturel n d’où, par
récurrence sur n,
Vn=MnV0.
En adaptant le programme qui permet d’élever une matrice
carrée à la puissance n,
on peut utiliser cette relation de récurrence pour écrire
un programme qui calculera les n premiers
nombres de Fibonacci.
from math import*
# Coefficients de la matrice M
a,b,c,d=1,1,1,0
liste=[]
n=eval(input("Valeur de n ? "))
# Calcul de Mn et affichage des résultats
A1,B1,C1,D1=1,0,0,1
for i in range(0,n):
A2=A1*a+B1*c
B2=A1*b+B1*d
C2=C1*a+D1*c
D2=C1*b+D1*d
A1,B1,C1,D1=A2,B2,C2,D2 ...