Une suite exacte que la machine fait exploser
Exercice d'entraînement · niveau 3 (difficile) · mathématiques appliquées (ECG 1re année), chapitre 4 — Suites de nombres réels · Suites en Python
Énoncé
Soit définie par , et . Montrer que pour tout . Programmer ensuite la récurrence en Python et afficher les trente premiers termes : que constate-t-on, et pourquoi ?
Corrigé
L'expression exacte. L'équation caractéristique est , de racines et . Il existe donc et tels que ; les conditions initiales donnent et , d'où , et
Le programme.
def suite(N):
u, v = 1.0, 1.0 / 3.0 # u = u_n, v = u_{n+1}
for n in range(N):
print(n, u)
u, v = v, (10.0 / 3.0) * v - u
Ce qu'on constate. Les premiers termes sont conformes. Puis, vers à , les valeurs deviennent négatives et croissent comme : à , la machine affiche des milliers, là où .
Pourquoi. Le nombre n'a pas d'écriture exacte en base deux : la machine part de avec . Cette erreur donne un coefficient de l'ordre de , donc un terme parasite , multiplié par à chaque étape pendant que le terme voulu est divisé par . Les deux s'égalent lorsque , soit .
La leçon. Le programme est juste, la récurrence est juste, et le résultat est faux : une racine de module amplifie toute erreur. Ici, on calcule directement (1/3) ** n.
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.