Adloun

Un seuil sur une suite récurrente

Exercice d'entraînement · niveau 2 · mathématiques appliquées (ECG 1re année), chapitre 11 — Informatique et algorithmique · Dichotomie et approximation numérique

Énoncé

Soit et . Écrire seuil(eps) renvoyant le premier rang tel que , ainsi que la valeur atteinte. L'exécuter pour et comparer à .

Corrigé

Le code.

def seuil(eps):
    u = 3.0
    n = 0
    v = 0.5 * (u + 6 / u)
    while abs(v - u) >= eps:
        u = v
        v = 0.5 * (u + 6 / u)
        n = n + 1
    return n, v

print(seuil(1e-10))        # (4, 2.449489742783178)
print(6 ** 0.5)            #      2.449489742783178

Pourquoi la suite converge vers . Si avec , le passage à la limite dans la relation de récurrence donne , soit , donc et (la suite reste positive, et la relation conservant la positivité).

Les premiers termes, à la main.

puis et . La valeur exacte est .

Pourquoi si peu de tours. Le nombre de décimales exactes double à chaque étape : , puis , puis , puis . Trois ou quatre tours suffisent donc à atteindre la précision maximale d'un flottant, là où une dichotomie sur en demanderait une trentaine — chaque tour n'y gagnant qu'un facteur , c'est-à-dire environ un tiers de décimale.

Le test d'arrêt porte sur l'écart entre deux termes, pas sur l'écart à : la limite est justement ce qu'on ignore. C'est le test disponible en pratique, et il n'est légitime que parce que la convergence est rapide — sur une suite qui avance très lentement, deux termes consécutifs peuvent être proches alors que la limite est encore loin.

Un garde-fou à ne pas oublier. Si l'on choisit eps plus petit que la précision des flottants (environ en valeur relative), l'écart peut ne jamais descendre sous le seuil et la boucle tourner sans fin. En pratique on borne aussi le nombre de tours.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.