Suite de Fibonacci

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

La suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent. Elle commence généralement par les termes 0 et 1 (parfois 1 et 1) et ses premiers termes sont :

0, 1, 1, 2, 3, 5, 8, 13, 21, etc. (suite A000045 de l'OEIS)

Elle doit son nom à Leonardo Fibonacci, dit Leonardo Pisano, un mathématicien italien du XIIIe siècle qui, dans un problème récréatif posé dans un de ses ouvrages, le Liber Abaci, publié en 1202, décrit la croissance d'une population de lapins :

« Un homme met un couple de lapins dans un lieu isolé de tous les côtés par un mur. Combien de couples obtient-on en un an si chaque couple engendre tous les mois un nouveau couple à compter du troisième mois de son existence ? »

Cette suite est fortement liée au nombre d'or, φ (phi). Ce nombre intervient dans l'expression du terme général de la suite. Inversement, la suite de Fibonacci intervient dans l'écriture des réduites de l'expression de φ (phi) en fraction continue : les quotients de deux termes consécutifs de la suite de Fibonacci sont les meilleures approximations[1] du nombre d'or.

Croissance de population des lapins selon une suite de Fibonacci

Présentation mathématique[modifier | modifier le code]

Formule de récurrence[modifier | modifier le code]

Le problème de Fibonacci est à l'origine de la suite dont le n-ième terme correspond au nombre de paires de lapins au n-ème mois. Dans cette population (idéale), on suppose que :

  • au (début du) premier mois, il y a juste une paire de lapereaux ;
  • les lapereaux ne procréent qu'à partir du (début du) troisième mois ;
  • chaque (début de) mois, toute paire susceptible de procréer engendre effectivement une nouvelle paire de lapereaux ;
  • les lapins ne meurent jamais (donc la suite de Fibonacci est croissante).

Notons \mathcal F_n le nombre de couples de lapins au début du mois n. Jusqu’à la fin du deuxième mois, la population se limite à un couple (ce qu'on note : \mathcal F_1=\mathcal F_2=1).

Dès le début du troisième mois, le couple de lapins a deux mois et il engendre un autre couple de lapins ; on note alors \mathcal F_3=2.

Plaçons-nous maintenant au mois n\, et cherchons à exprimer ce qu'il en sera deux mois plus tard, soit au mois n + 2 : \mathcal F_{n+2} désigne la somme des couples de lapins au mois n + 1 et des couples nouvellement engendrés.

Or, n'engendrent au mois (n + 2) que les couples pubères, c'est-à-dire ceux qui existent deux mois auparavant. On a donc, pour tout entier n strictement positif :

\mathcal F_{n+2}=\mathcal F_{n+1}+\mathcal F_n

On choisit alors de poser \mathcal F_0=0, de manière que cette équation soit encore vérifiée pour n=0.

On obtient ainsi la forme récurrente de la suite de Fibonacci : chaque terme de cette suite est la somme des deux termes précédents ; pour obtenir chacun de ces deux termes, il faut faire la somme de leurs termes précédents… et ainsi de suite, jusqu'à ce que ces deux termes soient les deux termes initiaux, \mathcal F_1 et \mathcal F_0, qui sont connus.

Nombres de Fibonacci[modifier | modifier le code]

Les termes de cette suite sont appelés nombres de Fibonacci (suite A000045 de l'OEIS) :

\mathcal F_0 \mathcal F_1 \mathcal F_2 \mathcal F_3 \mathcal F_4 \mathcal F_5 \mathcal F_6 \mathcal F_7 \mathcal F_8 \mathcal F_9 \mathcal F_{10} \mathcal F_{11} \mathcal F_{12} \mathcal F_{13} \mathcal F_{14} \mathcal F_{15} \mathcal F_{16} \mathcal F_{17} \mathcal F_{18} \mathcal F_{19} \mathcal F_{20} \mathcal F_{21} \mathcal F_{22} \mathcal F_{23} \mathcal F_{24} \mathcal F_{25} \mathcal F_n
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 \mathcal F_{n-1}+\mathcal F_{n-2}

Expression fonctionnelle[modifier | modifier le code]

On souhaite établir une expression fonctionnelle de la suite de Fibonacci, c'est-à-dire une expression telle que le calcul du nombre de couples pour une valeur de n\, donnée ne présuppose la connaissance d’aucun nombre de couples pour une quelconque autre valeur de n\,, ce que ne permet pas la formule de récurrence. Comme la suite de Fibonacci est linéairement récurrente d’ordre deux, on peut écrire son équation caractéristique. On obtient une équation du second degré :

x^2 - x - 1 =0.~

Le calcul du discriminant de cette équation donne les deux solutions du polynôme :

x_1=\varphi=\frac{1+\sqrt5}2\qquad\text{et}\qquad x_2=\varphi'=-\frac1\varphi=\frac{1-\sqrt5}2,

\varphi est le nombre d'or.

Les suites (\varphi^n) et (\varphi'^n) engendrent alors l'espace vectoriel des suites vérifiant u_{n+2}=u_{n+1}+u_n. Il en résulte que :

\mathcal F_n = \alpha{}\varphi^n+\beta\varphi'^n (\alpha et \beta sont des constantes à déterminer à partir de \mathcal F_0 et \mathcal F_1.)

Les conditions initiales \mathcal F_0=0 et \mathcal F_1=1 conduisent au système suivant :

\left\{\begin{matrix}\alpha+\beta=0\\ \alpha-\beta=\frac2{\sqrt5}\end{matrix}\right.

ce qui donne :

\alpha=\frac1{\sqrt5}\qquad\text{et}\qquad\beta=-\frac1{\sqrt5}.

Nous obtenons finalement l'expression fonctionnelle recherchée, qui porte le nom de formule de Binet :

\mathcal F_n=\frac1{\sqrt5}(\varphi^n-\varphi'^n),\qquad\text{avec}\qquad\varphi=\frac{1+\sqrt5}2\qquad\text{et}\qquad \varphi'=-\frac1\varphi.

Quand n tend vers l'infini, \mathcal F_n est équivalent à \frac{\varphi^n}{\sqrt5}. Plus précisément, \varphi^n tend vers l'infini et \varphi'^n tend vers zéro car |\varphi'|<1<\varphi.

En fait, dès le rang n=1, le deuxième terme {\varphi'^n \over\sqrt5} est assez petit pour que les nombres de Fibonacci puissent être obtenus uniquement à partir du premier terme :

\mathcal F_n est l'entier le plus proche de \frac{\varphi^n}{\sqrt5} (et il lui est supérieur ou inférieur, selon la parité de n).

Il existe d'autres démonstrations de la formule de Binet, telles que la transformation en Z et la technique des fonctions génératrices.

Remarquons qu'une fois découverte, cette formule se démontre aussi par récurrence, y compris pour n entier négatif quand la suite est prolongée comme ci-dessous.

La suite pour les nombres négatifs[modifier | modifier le code]

En général, on n'étudie pas les nombres de Fibonacci pour des valeurs négatives de n, bien qu'ils existent et soient facilement déterminables avec la formule récurrente. Il existe ainsi une règle très simple pour calculer ces nombres quand n<0 :

  • si n est pair alors \mathcal F_{-n} = -\mathcal F_n
  • si n est impair alors \mathcal F_{-n} = \mathcal F_n

ou plus généralement : \forall n\in\N,\ \mathcal F_{-n}=(-1)^{n+1}\mathcal F_n.

Ainsi, autour de 0, la séquence est :

\ldots,\;-8,\;5,\;-3,\;2,\;-1,\;1,\;0,\;1,\;1,\;2,\;3,\;5,\;8,\;\ldots

Limite des quotients[modifier | modifier le code]

Comme l'avait déjà remarqué Johannes Kepler[2], le taux de croissance des nombres de Fibonacci, c'est-à-dire \frac{\mathcal F_{n+1}}{\mathcal F_n}, converge vers le nombre d'or, noté \varphi.

En effet, puisque la suite \mathcal F_n est équivalente à \frac{\varphi^n}{\sqrt5} (cf. supra, section Expression fonctionnelle), la suite \frac{\mathcal F_{n+1}}{\mathcal F_n} est équivalente à \frac{\frac{\varphi^{n+1}}{\sqrt5}}{\frac{\varphi^n}{\sqrt5}}=\varphi, qui est donc sa limite.

En fait plus généralement, toutes les suites vérifiant la même relation de récurrence que la suite de Fibonacci (cf. infra, section Suites de Fibonacci généralisées) satisfont cette propriété.

Bases et espaces vectoriels[modifier | modifier le code]

  • La dénomination de « suite de Fibonacci généralisée » est attribuée plus généralement à toute fonction \mathcal G définie sur {}^\N vérifiant pour tout entier naturel n, \mathcal G_{n+2}=\mathcal G_{n+1}+\mathcal G_n. Ces fonctions sont précisément celles pour lesquelles il existe des nombres a et b, tels que pour tout entier naturel n, \mathcal G_n = a{}\cdot{}\mathcal F_n+b{}\cdot{}\mathcal F_{n+1}. Ainsi, l'ensemble des suites de Fibonacci est un espace vectoriel, et les suites (\mathcal F_n) et (\mathcal F_{n+1}) en forment une base.
  • Le nombre d'or est la racine positive de l'équation du second degré x^2 - x - 1 = 0\,, ainsi \varphi^2 = \varphi + 1\,. Si on multiplie les deux côtés par \varphi^n\,, on obtient \varphi^{n+2} = \varphi^{n+1} + \varphi^n\,, donc la fonction n\mapsto \varphi^n est une suite de Fibonacci. La racine négative de l'équation du second degré, \varphi'=1-\varphi\,, possède les mêmes propriétés, et les deux fonctions linéairement indépendantes n\mapsto \varphi^n et n\mapsto \left(1-\varphi\right)^n, forment une autre base de l'espace vectoriel.

Algorithmes de calcul des nombres de Fibonacci[modifier | modifier le code]

Avec la formule de Binet[modifier | modifier le code]

Calculer les nombres de Fibonacci à partir du nombre d'or est une possibilité très pratique. Néanmoins, la précision de calcul de la racine carrée génère des erreurs d'arrondis pour des valeurs assez grandes dépendant du système utilisé. En général, on obtient les bonnes valeurs jusqu’à \mathcal F_{71} = 308 061 521 170 129, sur ordinateur ou sur calculatrice.

Notons qu’au-delà de \mathcal F_{79}, les calculs dépassent les possibilités de calcul en notation entière, et sont alors représentés en notation scientifique. Les premiers chiffres significatifs sont alors de nouveau bien représentés par cette formule.

Détail d’un exemple d'application faisable à partir d'une calculatrice : calcul de \mathcal F_{50}.

Le nombre d’or vaut \varphi=\frac{1+\sqrt5}2\ \approx1,61803398874989…, et d'après la formule de Binet, \mathcal F_{50} est l'entier le plus proche du réel \frac{\varphi^{50}}{\sqrt 5}, qui le dépasse à peine. Compte tenu de l'ordre de grandeur de ce réel, le théorème des accroissements finis permet de s'assurer que pour le calculer à 0,5 près par défaut, 1,61803398874989 est une approximation suffisante de \varphi.

On trouve que le réel (1,61803398874989)50/5 est à peine inférieur à l'entier 12 586 269 025, d'où

\mathcal F_{50}\approx\frac{\varphi^n}{\sqrt5}\approx 12586269025~,

si bien que

\mathcal F_{50} = 12586269025~.

Algorithme récursif naïf[modifier | modifier le code]

La mise en œuvre récursive naïve qui suit la définition de la suite de Fibonacci est immédiate en appliquant la fonction donnée par l'algorithme suivant :

fonction fibo(n): 
// entrée : un nombre entier n
// sortie : le terme de rang n de la suite de Fibonacci
//
// deux premiers cas : fibo(0) est égal à 0 et fibo(1) est égal à 1
si (n ≤ 1)
  retourner n 
// récurrence à partir du terme de rang 2  
sinon 
  retourner fibo(n - 1) + fibo(n - 2)
fin de la fonction

Ce n'est cependant pas une façon judicieuse de calculer la suite de Fibonacci, car on calcule de nombreuses fois les mêmes valeurs (à moins d'employer une technique de mémoïsation). Le temps de calcul s'avère exponentiel.

Voici un exemple de code, en Java, gardant les valeurs en mémoire :

 private static Map<Integer, Long> map = new HashMap<Integer, Long>();
 
 public Long fibonacci(Integer n)
   {
      if (n <= 0 )
      {
        return 0L;
      }
 
      if (n == 1 || n == 2)
      {
        return 1L;
      }
 
      Long valeur = map.get(n);
      if (valeur != null) 
      {
        return valeur;
      }
 
      valeur = fibonacci(n - 1) + fibonacci(n - 2);
      map.put(n, valeur);
 
      return valeur;
 }

Algorithme linéaire[modifier | modifier le code]

Un moyen bien plus efficace de calculer la suite de Fibonacci consiste à calculer simultanément deux valeurs consécutives de la suite, c'est-à-dire en commençant avec les deux premières valeurs 0 et 1, et en remplaçant répétitivement le premier nombre par le second, et le second nombre par la somme des deux.

En Python, un tel algorithme itératif donne :

def fibo(n):
    f_n_1 = 1  # F_{-1} = 1
    f_n = 0    # F_0 = 0
    for i in range(n):  # n fois
        (f_n_1, f_n) = (f_n, f_n + f_n_1)
    return f_n

De manière équivalente, on peut écrire une fonction récursive terminale :

def fibo(n, f_n_1 = 1, f_n = 0):  # (n, F_{n-1}, F_n)
    if (n == 0):  # cas de base
        return f_n
    else:         # récurrence
        return fibo(n - 1, f_n, f_n + f_n_1)

Ou en Scala

def fibo(n:Int, fn_1:Int=1, fn:Int=0):Int =  if (n==0) fn else fibo(n-1,fn,fn+fn_1)

Le temps de calcul est à chaque fois proportionnel à n mais l'espace mémoire occupé n'est pas constant dans le second cas pour les langages n’optimisant pas la récursion terminale (comme Python).

Algorithme logarithmique[modifier | modifier le code]

En utilisant la relation matricielle suivante, que l'on montre par récurrence :

\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}^n =
       \begin{pmatrix} \mathcal F_{n+1} & \mathcal F_n \\
                       \mathcal F_n   & \mathcal F_{n-1} \end{pmatrix}

ou avec les propriétés de la suite de Fibonacci, on obtient :

\mathcal F_{2k} = 2\mathcal F_{k-1} \mathcal F_k + \mathcal F_k^2
= (2 \mathcal F_{k-1} + \mathcal F_k) \mathcal F_k
\mathcal F_{2k+1} = \mathcal F_{k+1}^2 + \mathcal F_k^2

En prenant bien soin de ne pas calculer deux fois les mêmes éléments, on obtient alors un algorithme dont le temps de calcul est proportionnel au logarithme de n. Voici un exemple de programme en Python :

def fibo2(n):
    """Renvoie F_{n-1}, F_n"""
    if (n == 0):  # cas de base
        return 1, 0  # F_{-1}, F_0
    else:         # récurrence
        f_k_1, f_k = fibo2(n//2)        # F_{k-1}, F_k   avec k = n/2
        f2_k = f_k**2                   # F_k^2
        if n%2 == 0:  # n pair
            return f2_k + f_k_1**2,    f_k*f_k_1*2 + f2_k       # F_{2k-1}, F_{2k}
        else:         # n impair
            return f_k*f_k_1*2 + f2_k, (f_k + f_k_1)**2 + f2_k  # F_{2k},   F_{2k+1}
 
def fibo(n):
    """Renvoie F_n"""
    return fibo2(n)[1]

En retravaillant les relations de récurrence pour le cas pair on obtient :

\mathcal F_{2k} = \mathcal F_{2k+1} - \mathcal F_{2k-1} = (\mathcal F_{k+1}^2 + \mathcal F_k^2) - (\mathcal F_k^2 + \mathcal F_{k-1}^2) = \mathcal F_{k+1}^2 - \mathcal F_{k-1}^2

Et donc :

\forall n\in\Z,~\mathcal F_n=\mathcal F_{\lfloor\frac{n}{2}\rfloor+1}^2-(-1)^n\mathcal F_{\lfloor\frac{n-1}2\rfloor}^2.

Curiosité algorithmique[modifier | modifier le code]

Le programme FRACTRAN défini par la liste de fractions [23/95, 57/23, 17/39, 130/17, 11/14, 35/11, 19/13, 1/19, 35/2, 13/7, 7] et appliqué à l'entier 3 génère une suite qui contient tous les termes de la forme 2^a3^b, où a et b sont deux termes consécutifs de la suite de Fibonacci.

Propriétés de la suite de Fibonacci[modifier | modifier le code]

La suite de Fibonacci présente de remarquables propriétés. En voici quelques-unes, démontrées à partir de la formule de Binet ou par récurrence (pour certaines, on peut aussi utiliser le calcul matriciel et les identités données au paragraphe précédent). Nous donnons également quelques propriétés liant la suite de Fibonacci et la suite des nombres de Lucas \mathcal L_n définie par la même relation de récurrence mais avec pour initialisation \mathcal L_0=2 et  \mathcal L_1=1, et pour laquelle l'analogue de la formule de Binet est : \mathcal L_n=\varphi^n+\varphi'^n.

Propriété 1 : \forall(p,q,r)\in\Z^3,\mathcal F_p\mathcal F_{q+r}-(-1)^r\mathcal F_{p-r}\mathcal F_q=\mathcal F_{p+q}\mathcal F_r, ou encore : \mathcal F_p\mathcal F_{r+q}-\mathcal F_r\mathcal F_{p+q}=(-1)^r\mathcal F_{p-r}\mathcal F_q.

Propriété 2 : \forall(p,q)\in\Z^2,\mathcal F_p\mathcal F_{q+1}+\mathcal F_{p-1}\mathcal F_q=\mathcal F_{p+q}.

C'est le cas r=1 de la propriété 1.

Propriété 3 : \forall p\in\Z,\mathcal F_{2p-1}=\mathcal F_{p-1}^2+\mathcal F_p^2.

C'est le cas q=p-1 de la propriété 2.

Propriété 4 : \forall(p,r)\in\Z^2,\mathcal F_p\mathcal F_{r+1}-\mathcal F_r\mathcal F_{p+1}=(-1)^r\mathcal F_{p-r}.

C'est le cas q=1 de la propriété 1.

Propriété 5 : \forall(p,q)\in\Z^2,\mathcal F_p^2-\mathcal F_{p-q}\mathcal F_{p+q}=(-1)^{p-q}\mathcal F_q^2 (identité de Catalan) et \mathcal F_{p+1}\mathcal F_{p-1}-\mathcal F_p^2=(-1)^p (identité de Cassini).

L'identité de Catalan est le cas r=p-q de la propriété 1. L'identité de Cassini est le cas q=1 de celle de Catalan (c'est donc aussi le cas r=p-1 de la propriété 4).
Corollaire 1 : \forall p\in\Z, \mathcal F_p=\frac{\mathcal F_{p-1}+\sqrt{5\mathcal F_{p-1}^2-4(-1)^p}}2~\text{et}~\sqrt{5\mathcal F_p^2+4(-1)^p}\in\N.
Corollaire 2 : \forall p\in\Z,\mathcal F_{p+2}\mathcal F_{p+1}\mathcal F_{p-1}\mathcal F_{p-2}-\mathcal F_p^4+1=0.

Propriété 6 : \forall (k,n)\in\Z^2,\mathcal F_n{}|{}\mathcal F_{nk}, en particulier \mathcal F_{2n}=\mathcal F_n\mathcal L_n.

Propriété 7 : Pour tout entier naturel n différent de 4, si \mathcal F_n est premier, alors n est premier.

Ou par contraposée : si n est composé alors \mathcal F_n aussi. En effet, supposons n=mk avec m et k entiers strictement supérieurs à 1. Comme n est supposé différent de 4, l'un au moins des deux facteurs est strictement supérieur à 2 : par exemple m>2. D'après la propriété 6, \mathcal F_m est alors un diviseur propre de \mathcal F_n, qui n'est donc pas premier.
La réciproque est fausse, car 2 est premier alors que \mathcal F_2 ne l'est pas ; de façon moins triviale, \mathcal F_{19}=4181=37\times 113.

Propriété 8 : \forall(a,b)\in\Z\times\Z^*,~\mathcal F_a\land\mathcal F_b=\mathcal F_{a\land b},\land désigne le PGCD de nombres entiers.

En particulier, \forall n\in\Z,\mathcal F_n\land\mathcal F_{n+1}=1 c.-à-d. que \mathcal F_n et \mathcal F_{n+1} sont premiers entre eux.

Propriété 9 : \forall(n,k)\in\Z^2,\mathcal F_{n+k}-(-1)^k\mathcal F_{n-k}=\mathcal F_k\mathcal L_n. En particulier :

\mathcal F_{n+1}+\mathcal F_{n-1}=\mathcal L_n,\quad\mathcal F_{n+2}-\mathcal F_{n-2}=\mathcal L_n,\quad\mathcal F_{n+3}+\mathcal F_{n-3}=2\mathcal L_n.

Propriété 10 : \forall n\in\Z,\varphi^n=\mathcal F_n\varphi+\mathcal F_{n-1}~\text{et}~\varphi'^n=\mathcal F_n\varphi'+\mathcal F_{n-1}.

Propriété 11 : \forall n\in\N,\quad\sum_{0\le i<n}\mathcal F_{2i+1}=\mathcal F_{2n},\quad1+\sum_{0\le i<n}\mathcal F_{2i}=\mathcal F_{2n-1}\quad\text{et}\quad1+\sum_{0\le i<n}\mathcal F_i=\mathcal F_{n+1}.

La somme des diagonales ascendantes du triangle de Pascal forme la suite de Fibonacci.

Propriété 12 : \forall n\in\N,~\mathcal F_{n+1}=\sum_{k=0}^\infty{n-k\choose k} où les n-k\choose k sont des coefficients binomiaux.

Cela signifie que, dans un triangle de Pascal, les nombres de Fibonacci s'obtiennent en sommant les termes situés sur une diagonale (du bas vers la droite).

Bestiaire de formules[modifier | modifier le code]

  • \forall N\ge1,~\mathcal F_{2N+1}=4^N\cdot\prod_{n=1}^N\left(\cos^2\left(\frac{n\pi}{2N+1}\right)+\frac14\right).

Série génératrice[modifier | modifier le code]

La série génératrice de la suite de Fibonacci donne une série entière dont le rayon de convergence vaut 1/φ (d'après le théorème de Cauchy-Hadamard ou plus simplement, la règle de d'Alembert). Pour tout complexe z de module strictement inférieur à 1/φ, la série correspondante (absolument convergente) est égale à \sum_{n\in\N}\mathcal F_nz^n=\frac z{1-z-z^2}.

En particulier, pour tout réel k > φ, \frac1{k^2-k-1}=\sum_{n=1}^{\infty}\mathcal F_n\times k^{-(n+1)}.

Divisibilité des nombres de Fibonacci[modifier | modifier le code]

Une première approche de la question de la divisibilité de \mathcal F_n par un entier a consiste à étudier la suite des restes de \mathcal F_n modulo a : cette suite (rn) vérifie (dans Z/aZ) la même récurrence (rn+2 = rn+1 + rn) et est donc périodique de période au plus a2 (les longueurs des périodes en fonction de a forment la suite des périodes de Pisano suite A001175 de l'OEIS) ; on en déduit que pour tout a, il existe n inférieur ou égal à a2 tel que \mathcal F_n (et donc \mathcal F_{kn}) soit divisible par a. Plus précisément, l'étude de cette récurrence dans le corps Z/pZ (où p est un nombre premier) amène à des formules analogues à la formule de Binet, d'où l'on déduit finalement (selon que 5 est ou n'est pas un carré modulo p ; voir la loi de réciprocité quadratique) que \mathcal F_{5n} est divisible par 5, et que si p est premier autre que 5, \mathcal F_{(p-1)n} est divisible par p si p est de la forme 5m + 1 ou 5m + 4, et \mathcal F_{(p+1)n} est divisible par p sinon (des résultats un peu plus précis peuvent être obtenus ; ainsi, dans le premier cas, \mathcal F_{(p-1)/2} est divisible par p si (p – 1)/2 est pair). Enfin, si p > 2 est premier et divise \mathcal F_n, pk divise \mathcal F_{p^{k-1}n}, et 2k+1 divise \mathcal F_{3.2^{k-1}} ; ces derniers résultats sont des conséquences du lemme de Hensel[3],[4].

Primalité des nombres de Fibonacci[modifier | modifier le code]

On ignore s'il existe une infinité de nombres de Fibonacci premiers. On sait que \mathcal F_n divise \mathcal F_{kn} (voir Propriétés, Propriété 6), et donc que, pour tout n >4\, , si \mathcal F_n est premier, alors n\, est premier, mais la réciproque est fausse (\mathcal F_{19}=4181=37\times 113 est le premier contre-exemple non trivial ; on remarquera que 37+1 et 113+1 sont divisibles par 19). En août 2011, le plus grand nombre premier de Fibonacci connu est \mathcal F_{81~839}[5] et le plus grand nombre de Fibonacci probablement premier connu est \mathcal F_{1~636~007}[6], qui possède 341 905 chiffres.

En 1964, Ronald Graham a donné une méthode pour construire des suites sans nombres premiers (en), c'est-à-dire des suites (\mathcal T_n) vérifiant en même temps les trois conditions suivantes :

  • \mathcal T_{n+2}=\mathcal T_{n+1}+\mathcal T_n
  • \mathcal T_n et \mathcal T_{n+1} sont premiers entre eux (ils n'ont aucun diviseur commun).
  • \forall n\in\N,\; \mathcal T_n n'est pas premier.

Dans la suite qu'il proposait (suite A083103 de l'OEIS), les deux termes initiaux comportaient 34 chiffres décimaux[7]. En affinant sa méthode, on a réussi à construire de telles suites avec deux termes initiaux plus petits :

Applications[modifier | modifier le code]

  • En poésie, un fib est un petit poème, sorte de haïku, dont le nombre de pieds des premiers vers correspond aux premiers nombres de la suite (1, 1, 2, 3, 5, 8).
  • La suite de Fibonacci apparaît dans de nombreux problèmes de dénombrement. Par exemple, le terme d'indice n (pour n supérieur ou égal à 2) de la suite de Fibonacci permet de dénombrer le nombre de façons de parcourir un chemin de longueur n-1 en faisant des pas de 1 ou 2. Ce problème apparaît d'aillleurs très tôt en Inde, sous le nom maatraameru (montagne de cadence), dans le travail du grammairien de sanskrit Pingala, le Chhandah-shastra, (l'art de la Prosodie), 450 ou 200 av. J.-C.). Le mathématicien indien Virahanka (en) en a donné des règles explicites au VIIIe siècle. Le philosophe indien Acharya Hemachandra (c. 1150) (et aussi Gopala, c. 1135) ont revisité le problème de manière assez détaillée. En sanskrit en effet, les voyelles peuvent être longues (L) ou courtes (C), et Hemachandra a souhaité calculer combien on peut former de cadences différentes d'une longueur donnée, chaque cadence étant définie par les longueurs des voyelles qui la constituent. Si la voyelle longue est deux fois plus longue que la courte, les solutions sont, en fonction de la longueur totale de la cadence :
1 C → 1
2 CC,L → 2
3 CCC, CL, LC → 3
4 CCCC, CCL, CLC, ,LCC, LL → 5
5 CCCCC, CCCL, CCLC, CLCC, LCCC, CLL, LCL, LLC → 8
Le nombre de cadences fait apparaître les termes de la suite de Fibonacci. En effet, une cadence de longueur n peut être constituée en ajoutant C à une cadence de longueur n-1, ou L à une cadence de longueur n-2. Ainsi le nombre de cadences de longueur n est la somme des deux nombres précédents de la série. Ce problème est également équivalent au dénombrement des emballages de longueur n donnée, constitué d'articles de longueur 1 ou 2, tel qu'on le trouve par exemple dans The Art of Computer Programming de Donald Knuth.
  • Les nombres de Fibonacci interviennent dans l'étude de l'exécution de l'algorithme d'Euclide qui détermine le plus grand commun diviseur de deux entiers.
  • Matiyasevich a montré que les nombres de Fibonacci pouvaient être définis par une équation diophantienne, ce qui a conduit à la résolution du dixième problème de Hilbert. En 1975, Jones en a déduit que, pour des valeurs de x et y entières positives ou nulles, les valeurs positives du polynôme 2xy^4 + x^2y^3 - 2x^3y^2 - y^5 - x^4y + 2y étaient exactement les nombres de Fibonacci. Ces valeurs positives s'obtiennent d'ailleurs en attribuant pour valeurs à x et y deux nombres de Fibonacci successifs.
  • Les nombres de Fibonacci apparaissent dans la formule des diagonales du triangle de Pascal (voir Propriétés, Propriété 12).
Carrés de Fibonacci en spirale.
  • Une bonne approximation d'un rectangle d'or peut être construite à l'aide de carrés dont les côtés sont égaux aux nombres de Fibonacci.
Une approximation de la spirale d'or créée en dessinant des arcs de cercle reliant les coins opposés de carrés dans un pavage Fibonacci, celui-ci utilise des carrés de tailles 1, 1, 2, 3, 5, 8, 13, 21, et 34.
  • Une spirale logarithmique peut être approchée de la manière suivante : on commence à l'origine d'un repère cartésien, on se déplace de \mathcal F_1 unités vers la droite, puis de \mathcal F_2 unités vers le haut, on se déplace de \mathcal F_3 unités vers la gauche, ensuite de \mathcal F_4 unités vers le bas, puis de \mathcal F_5 unités vers la droite, etc. Cela ressemble à la construction mentionnée dans l'article sur le nombre d'or.
  • Les nombres de Fibonacci apparaissent souvent dans la nature lorsque des spirales logarithmiques sont construites à partir d'une unité discrète, telles que dans les tournesols ou dans les pommes de pin. Le nombre de pétales de la marguerite (et d'autres fleurs composées comme le tournesol) appartient à la suite de Fibonacci : souvent 34, 55 ou 89. Cela s'explique par le mécanisme de développement de la plante. Voir ici une explication et le lien avec le nombre d'or dans la nature.
  • La plupart des êtres vivants sexués sont issus de deux parents, de sorte que leurs ancêtres à la ne génération, supposés distincts, sont au nombre de 2n. Mais les hyménoptères sont tels que les femelles sont issues de deux parents, et les mâles sont issus d'une mère seulement. Il en résulte que leurs ancêtres à la ne génération sont constitués :pour les femelles, de \mathcal F_n mâles et \mathcal F_{n+1} femelles,pour les mâles, de \mathcal F_{n-1} mâles et \mathcal F_n femelles. Cette forme de reproduction asexuée décrit exactement la reproduction des abeilles. Récemment, une analyse mathématique et historique du contexte de Fibonacci et sa proximité de la ville de Béjaïa, un grande source de cire à l'époque (la version française du nom de cette ville est Bougie), a suggéré que c'était en fait les apiculteurs de Bejaia et la connaissance de la reproduction des abeilles qui ont vraiment inspiré les nombres de Fibonacci plutôt que la reproduction des lapins[9].
  • Le nombre de façons différentes de paver un rectangleN au moyen de dominos 2×1 est \mathcal F_{N+1}.

Généralisations[modifier | modifier le code]

Il existe plusieurs voies pour généraliser la suite de Fibonacci : on peut modifier les valeurs initiales, modifier les coefficients de la relation de récurrence ou modifier le nombre de termes (ou ordre) de la relation de récurrence.

Suites de Fibonacci généralisées[modifier | modifier le code]

On appelle suite de Fibonacci généralisée toute suite définie par la même relation de récurrence que la suite de Fibonacci, mais dont les termes initiaux sont différents de 0 et 1. Sur le modèle de la démonstration donnée plus haut (voir section Expression fonctionnelle), une telle suite u_n est encore de la forme \alpha\varphi^n+\beta\varphi'^n\varphi est le nombre d'or et \varphi'=-1/\varphi. Elle est donc équivalente à \alpha\varphi^n, si bien que (comme la suite des quotients de la suite de Fibonacci) la suite \frac{u_{n+1}}{u_n} converge vers \varphi.

Parmi ces suites de nombres, il faut signaler les nombres de Lucas obtenus en choisissant comme initialisation : \mathcal L_0=2 et \mathcal L_1=1. Cela donne la suite 2, 1, 3, 4, 7, 11, 18, 29,… On trouve parfois une initialisation \mathcal L_0 =1 et \mathcal L_1=3 qui ne consiste qu'à décaler la suite d'un rang. Ces nombres interviennent dans la résolution d'équations diophantiennes. Ils sont très liés à la suite de Fibonacci, en particulier par la relation suivante : \mathcal L_n=\mathcal F_{n+1}+\mathcal F_{n-1}\, pour tout entier n > 0 (voir Propriétés, Propriété 9).

Suites de Lucas[modifier | modifier le code]

Ce sont les suites où la relation de récurrence a changé : elle est devenue

 U_{n+2} = P \cdot U_n + Q \cdot U_{n+1}

Elles sont de deux types selon que l'initialisation est de  u_0 =0 et u_1=1 ou qu'elle est  v_0 =2 et v_1=P.

La suite de Fibonacci est alors une suite u de Lucas de paramètres P = 1 et Q = 1. La suite des nombres de Lucas est alors une suite v de Lucas de paramètres P = 1 et Q = 1.

Articles détaillés : Suite de Lucas et Nombre de Lucas.

Suites de k-bonacci[modifier | modifier le code]

Ce sont des suites dont la relation de récurrence est d'ordre k. Un terme est la somme des k termes qui le précèdent

 u_{n+k} \, = \, u_n + u_{n+1} + u_{n+2} + \dots +u_{n+k - 1}

Parmi ces suites, on distingue la suite de Tribonacci (récurrence d'ordre 3) et la suite de Tetranacci (récurrence d'ordre 4). Selon ce nouveau classement de suites, la suite de Fibonacci est une suite de 2-bonacci.

Si on modifie tout à la fois (initialisation, récurrence, ordre) on arrive à l'ensemble très général des suites à récurrence linéaire.

Dans la culture populaire[modifier | modifier le code]

Littérature[modifier | modifier le code]

Cinéma[modifier | modifier le code]

Cette section ne cite pas suffisamment ses sources. Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}} ou {{Référence souhaitée}} sur les passages nécessitant une source.

Télévision[modifier | modifier le code]

Musique[modifier | modifier le code]

  • Le groupe de metal progressif Tool structure le rythme de certaines parties du morceau Lateralus selon une suite de Fibonacci[12].
  • La chanteuse suisse pour enfants Sonia Grimm a publié sur son album Un petit lapin une chanson intitulée Le lapin de Fibonacci. Cette chanson présente aux enfants le nombre d'or et la suite de Fibonacci à travers l'exemple de la croissance d'une population de lapins[13].

Architecture[modifier | modifier le code]

Le Corbusier et son Modulor, une mesure harmonique à l'échelle humaine applicable universellement à l'Architecture et à la mécanique.


Mario Merz, Suite de Fibonacci, commande publique artistique, 1994, Strasbourg.

Jeux vidéo[modifier | modifier le code]

Dans le jeu Metal Gear Solid 4, la suite de Fibonacci apparaît en tant que petite comptine chantée par la petite Sunny.

Dans le jeu Watch Dogs, la suite de Fibonacci est introduit dans l'algorithme de Bellwether, capable de transmettre un message subliminal à travers le système ctOS.

Notes et références[modifier | modifier le code]

  1. On dit que a/b est une des meilleures approximations d'un nombre x si pour toute fraction c/d dont le dénominateur d est plus petit que le dénominateur b, on a l'inégalité |dx - c| > |bx - a|
  2. (la) J. Kepler, Strena seu de nive sexangula, 1611
  3. (en) Paulo Ribenboim, The New Book of Prime Number Records, New York, Springer, 1996 (ISBN 0-387-94457-5), p. 64.
  4. (en) Franz Lemmermeyer (de), Reciprocity Laws, New York, Springer, 2000 (ISBN 3-540-66957-4), ex. 2.25-2.28, p. 73-74.
  5. (en) Fibonacci Number, sur le site Prime Pages
  6. suite A001605 de l'OEIS
  7. On ne sait en fait pas si tous les termes de cette suite sont effectivement composés, à cause d'une erreur de calcul. La suite A083104 en est la version rectifiée en 1990 par Knuth.
  8. (en) M. Vsemirnov, « A New Fibonacci-like Sequence of Composite Numbers », Journal of Integer Sequences, vol. 7, no 04.3.7,‎ 2004 (lire en ligne)
  9. (en)T.C. Scott et P. Marketos, « On the Origin of the Fibonacci Sequence », MacTutor History of Mathematics archive, University of St Andrews,‎ mars 2014 (lire en ligne)
  10. Seligman, qui recueille l’héroïne, est adepte de pêche à la ligne, de Bach et de la suite de Fibonacci selon Liberation
  11. Détails et explications dans l'article «Nymphomaniac», un film fourré aux mathématiques de Thomas Messias sur Slate
  12. (en) Christopher diCarlo, Interview with Maynard James Keenan [lire en ligne]
  13. Voir la liste des chansons de l'album sur la boutique en ligne de l'artiste

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

N. Vorobiev, Caractères de Divisibilité, Suite de Fibonacci, coll. Initiation aux Mathématiques, Éditions Mir, Moscou, 1973

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]