next up previous contents index
suivant: Traduction Xcas de l'algorithme monter: Déscription de 2 méthodes précédent: On fait presque une   Table des matières   Index

On utilise la suite de Fibonacci

Comment faire pour que l'une des valeurs de f déjà calculée serve à l'étape suivante ?
La solution se trouve dans la suite de Fibonacci, suite définie par :
u0 = 1, u1 = 2, un = un-2 + un-1 dont les premiers termes sont : 1, 2, 3, 5, 8, 13, 21, 34, 55, 89... Par exemple si on partage [a;b] en 89 parties égales si l = (b - a)/89, on choisit c = a + 34*l et d = a + 55*l et ainsi on a :
c - a = 34*l, d - c = 21*l, b - d = 34*l (car 89=55+34 et 34+21=55 puisque 21,34,55,89 sont des termes consécutifs de la suite de Fibonacci).
On calcule f (c) et f (d ) puis on réduit l'intervalle en un intervalle de longueur (b - a)*55/89, par exemple si l'intervalle suivant est [a;d] et, si on recommence le processus, le point c est le futur point d.
Donc à chaque étape il suffit de calculer une seule valeur de f pour passer de l'intervalle [a;b] (proportionnel à un) à l'intervalle [a;d] ou [c;b] (proportionnel à un-1). Il y a bien sûr le cas f (c) = f (d ) où il faut à l'étape suivante calculer deux valeurs de f, mais dans ce cas on gagne 3 étapes car on passe de l'intervalle [a;b] (proportionnel à un) à l'intervalle [c;d] (proportionnel à un-3).
Selon la valeur eps de la longueur de l'encadrement, on calcule k : = ceil (2*(b - a)/eps); et la première valeur t = un de la suite de Fibonacci supérieure à k. il faut alors diviser l'intervalle [a;b] en t parties égales. On applique alors plusieurs fois le processus et on s'arrête quand n = 1, c'est à dire quand l'intervalle a été réduit à un intervalle de longueur 2*(b - a)/t qui est, grace au choix de t ( t > k > 2*(b - a)/eps) inférieur à eps.
next up previous contents index
suivant: Traduction Xcas de l'algorithme monter: Déscription de 2 méthodes précédent: On fait presque une   Table des matières   Index
Documentation de giac écrite par Renée De Graeve