Chapitre 2 La suite de Fibonacci et le nombre d’or
2.1 La suite de Fibonacci
2.1.1 La définition
La suite de Fibonacci est la suite u définie par :
u0=1
u1=1
un=un−1+un−2 pour n>1
2.1.2 Le programme avec Xcas
Il ne faut surtout pas écrire un programme récursif car sinon on calcule
les mêmes termes plusieurs fois :
Pour avoir un :
Fibonacci(n):={
local a,b,c;
si n==0 ou n==1 alors
retourne 1;
fsi;
a:=1;
b:=1;
pour k de 2 jusque n faire
c:=a+b;
a:=b;
b:=c;
fpour;
retourne c;
}:;
On tape :
Fibonacci(10)
On obtient :
89
Pour avoir les n premiers termes (le premier terme est u0):
Fibonasuite(n):={
local a,b,c,L;
L:=NULL;
si n<=0 alors retourne L;fsi;
L:=L,1;
si n==1 alors retourne L;fsi;
L:=L,1;
si n==2 alors retourne L; fsi;
a:=1;
b:=1;
pour k de 3 jusque n faire
c:=a+b;
L:=L,c;
a:=b;
b:=c;
fpour;
retourne L;
}:;
On tape :
Fibonasuite(11)
On obtient :
1,1,2,3,5,8,13,21,34,55,89
La suite de Fibonnacci vérifie :
En effet :
1*2−1=1, 3*1−22=−1, 5*2−32=1
et on a :
un+1.un−1−un2=un.un−1+un−12−un2=un(un−1−un)+un−12
Donc :
un+1.un−1−un2=−un.un−2+un−12.
On a par exemple :
5*13−82=1
Cela conduit au paradoxe suivant :
Soit un carré de côté 8 unités. 0n le découpe en 4 morceaux et on
dispose ces 4 morceaux comme ci dessous (on pourrait faire la même chose avec
un carré de côté un des termes un de la suite de Fibonacci puis faire
le découpage en utilisant les 2 termes précedents un−2 et un−1 ):
Le carré a comme surface 64 carrés alors que le rectangle est composé de
5*13=65 carrés. D’où vient le carré supplémentaire ?
Le carré supplémentaire est l’aire du parallélogramme bleu !!!!

En effet les bords des 4 morceaux ne suivent pas la diagonale du rectangle qui
a comme pente −5/13 ce qui est différent de -2/5 et de -3/8.
Selon la longueur du carré initial il peut soit y avoir un petit carré en
trop soit en manquer 1 puisque un+1.un−1−un2=(−1)n−1.
2.2 Le nombre d’or
Les quotients des termes successifs de la suite de Fibonnacci est la suite
vn=un+1/un pour n ≥ 0
Cette suite converge vers le
1+√5/2 : c’est le nombre d’or.
En effet, on a v0=1 et vn=1+un−1/un=1+1/vn−1 donc
v1=2, v2=3/2, v3=5/3.
Montrons par reécurrence que 1 ≤ vn ≤ 2 pour tout n :
1≤ v0=1<2
si 1 ≤ vn−1<2 alors 1/2≤ 1/vn−1≤ 1
donc 1≤ 1+1/2 ≤ vn≤ 1+1=2
Étude du signe de vn−vn−1 :
vn−vn−1=1/vn−1−1/vn−2=vn−2−vn−1/vn−1vn−2
Donc vn−vn−1 est du signe opposé à celui de vn−1−vn−2.
Donc v2n−v2n−2 a le mme signe que v2−v0=1/2>0 et
v2n+1−v2n−1 a le même signe que v3−v1=−1/3<0
La suite v2n est convergente vers 1≤ a≤ 2 car croissante et
majorée.
v2n+1 est convergente vers 1≤ b≤ 2 car décroissante et
minorée.
On doit avoir a=1+1/b et b=1+1/a donc ab=b+1=a+1 donc a=b
Donc v converge vers a=b=φ qui vérifie :
φ=1+1/φ ou encore φ2−φ−1=0 et 1≤ φ ≤ 2.
donc φ=1+√5/2
Le nombre d’or est :
2.2.1 Propriétés du nombre d’or
Si un réctangle est tel que le rapport de la longueur L à la largeur l
soit φ alors :
On tape :
spiror(a,b,n):={
local au,r,L;
L:=NULL;
si n==0 alors retourne L,segment(a,b);fsi;
au :=(1+sqrt(5))/2;
L:=L,rectangle(a,b,au-1);
r:=(b-a)*(au-1);
L:=L,affichage(cercle(a+r,r,pi/2,pi),1);
retourne L,spiror(a+r*(1+i),a+r,n-1);
}:;
puis on tape :
spiror(0,1/2+sqrt(5)/2,7)
On obtient :
2.3 Un exercice niveau terminale
On cosidère la fonction f definie sur ℝ* par :
On note f@@ n=f∘ f..∘ f (On compose f, n fois)
-
Calculer :
f@@ 2=f∘ f, f@@ 3=f∘ f∘ f, f@@ 4=f∘ f∘ f∘ f
- Trouver la valeur de f@@ n en fonction de n.
- Résoudre, lorsqu’on utilise n traits de fractions, l’équation
d’inconnue x :
- Touver la limite lorsque n tends vers +∞ de
lorsque a>0 et lorsqu’on utilise n traits de fractions.
2.3.2 La solution avec Xcas
-
On définit la fonction f, on tape :
f(x):=(x+1)/x
On calcule f@@ 2=f(f(x)), on tape :
normal((f@@2)(x))
On obtient :
(2*x+1)/(x+1)
On calcule f@@ 3=f(f(f(x))), on tape :
normal((f@@3)(x))
On obtient :
(3*x+2)/(2*x+1)
On calcule f@@ 4, on tape :
normal((f@@4)(x))
On obtient :
(5*x+3)/(3*x+2)
- On suppose que :
f@@ n=anx+bn/cnx+dn
On cherche une relation de récurrence entre les différents coefficients.
On définit la fonction g, on tape :
g(x,a,b,c,d):=(a*x+b)/(c*x+d)
On a :
(f@@ n+1)(x)=f(g(x,a,b,c,d))
On calcule f(g(x,a,b,c,d)) et on tape :
normal(f(g(x,a,b,c,d)))
On obtient :
(a*x+b+c*x+d)/(a*x+b)
donc :
cn+1=an, dn+1=bn
an+1=an+cn=an+an−1
bn+1=bn+dn=bn+bn−1
On sait que a1=1, b1=1 a0=c1=1 b0=d1=0
Donc si la suite de Fibonacci est la suite u définie par :
u0=1, u1=1
un=un−1+un−2 pour n>1:
Alors
f@@ n=anx+bn/cnx+dn
avec an=un, bn=cn=an−1, dn=an−2
- On résout l’équation d’inconnue x, avec 1 trait de fractions :
x=1+1/x
On tape :
normal(1+1/x)
On obtient : (x+1)/x
Donc f(x)=1+1/x
Il faut donc résoudre f(x)=x, on tape :
solve(x=f(x),x)
On obtient : [1/2*(1-sqrt(5)),1/2*(1+sqrt(5))]
On reconnait le nombre d’or et l’inverse de son opposé.
On résout l’équation d’inconnue x, avec 2 traits de fractions :
x=1+ 1/1+ 1/x
On tape :
normal(1+1/(1+1/x))
On obtient : (2*x+1)/(x+1)
On reconnait f(f(x)) ou bien
puisque f(x)=1+1/x, on a :
1+ 1/1+ 1/x=1+1/f(x)=f(f(x))
.
Il faut donc résoudre f(f((x))=x, on tape :
solve(f(f(x))=x,x)
On obtient :
[1/2*(1-sqrt(5)),1/2*(1+sqrt(5))]
qui sont les mêmes solutions qur f(x)=x.
On doit résoudre l’équation avec n traits de fractions :
(f@@ n)(x)=x
Comme (f@@ n) est une fonction homographique ( i.e.
(f@@ n)(x) est de la forme (a*x+b)/(c*x+d))),
cette équation est une équation du 2-nd degré donc admet au plus 2
solutions. Les 2 solutions de f(x)=x sont aussi solutions de
(f@@ n)(x)=x donc (f@@ n)(x)=x a les mêmes solutions que
f(x)=x.
- Chercher la limite lorsque le nombre de traits tend vers l’infini de :
revient à chercher la limite de la suite des itérées de f définit
par : u0=a>0, un=f(un−1) pour n>0.
On a en effet (avec n traits de fractions :
.
Avec Xcas, on tape dans un niveau de géométrie 2-d :
supposons(a=[6.0,0,9,0.1])
plotseq(1+1/x,[a,0,9],5)
On obtient :
Montrons que la suite un converge vers
φ=1+√5/2 qui est la
solution positive de l’équation f(x)=x.
Puisque a>0, on a u1=b=1+1/a>1>0 et pour tout n>0 un>1>0.
Si u0=a>φ alors b=u1=1+1/a<1+1/φ=φ et
si u0=a<φ alors b=u1=1+1/a>1+1/φ=φ
De même si c=un>φ alors d=un+1=1+1/c<φ et un+2=1+1/c>φ.
Suupposons par exemple que a=u0>φ
Alors pour tout n∈ ℕ on a u2n>φ et u2n+1<φ
On a :
un+1−un=f(un)−f(un−1)=1/un−1/un−1=(un−1−un)/(un−1un)
Comme (un−1un)>0 on en déduit que un+1−un et un−un−1−
sont de signe opposé donc que un+1−un et un−1−un−2 et sont de
même signe.
Ainsi u2n−u2n−2 a le même signe que u2−u0 et
u2n+1−u2n−1 a le même signe que u3−u1.
Signe de u2−u0 :
u2−u0=(2a+1)/(a+1)−a=(−a2+a+1)/(a+1)<0 puisque a>φ et que φ est la
plus grande racine de −x2+x+1
Signe de u3−u1 :
u3−u1=(2b+1)/(b+1)−b=(−b2+b+1)/(b+1)>0 puisque 0<b<φ et que φ est la
plus grande racine de −x2+x+1 et que 0 se trouve entre les racines.
On a donc montrer que u2n est décroissante et minorée donc est
convergente vers la solution positive de f(f(x))=x qui est φ
et que u2n+1 est croissante et majorée donc est convergente
vers la solution positive de f(f((x))=x qui est φ .
Donc un converge vers φ.
Remarque Lorsque a=1, un est le quotient de de 2 termes consécutifs
de la suite de Fibonacci.
2.4 Le nombre d’or et cos(π/5)
2.4.1 Calcul de cos(2π/5)
Soit z1=exp(i*2π/5).
z1=a+ib=cos(2π/5)+i*sin(2π/5) est la racine de
z5−1=0 qui vérifie a>0 et b>0.
Puisque z5−1=(z−1)(z4+z3+z2+z+1), z1=a+ib est la racine de
z4+z3+z2+z+1=(z+1/z)2+(z+1/z)−1=0.
On pose Z=z+1/z et on tape :
solve(Z^
2+Z-1,Z)
On obtient :
[1/2*(-1-sqrt(5)),1/2*(-1+sqrt(5))]
Comme z1=a+ib est de module 1, on a 1/z1=a−ib et donc
z1+1/z1=2a=2cos(2π/5).
On a donc :
On tape :
normal(expand((1/4*(-1+sqrt(5)))^
2))
On obtient :
(-sqrt(5)+3)/8
Donc :
2.4.2 Calcul de 2cos(π/5)
On a :
cos(2π/5)=2cos(π/5)2−1
Donc :
2cos(π/5)2=cos(2π/5)+1)=−1+√5/4+1
On tape :
normal(1/4*(-1+sqrt(5))+1)
On obtient :
(sqrt(5)+3)/4
Donc :
On tape :
normal(expand((1/4*(1+sqrt(5)))^
2))
On obtient :
(sqrt(5)+3)/8
Donc :
Le nombre d’or est :
Donc