Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 11 · Exercice de TD

Quantité conjuguée et annulation catastrophique

La représentation des nombres · niveau 2

Énoncé

Montrer que l'évaluation naïve de la différence de racines pour est imprécise et proposer une formulation stable.

Corrigé

import math
x = 1e12
naive = math.sqrt(x + 1) - math.sqrt(x)
stable = 1 / (math.sqrt(x + 1) + math.sqrt(x))
  • Version naïve : 5.00003807246685e-07
  • Version stable : 4.99999999999875e-07 Les deux racines ont pour valeur approchée . La soustraction directe de ces valeurs très proches élimine les 13 premiers chiffres de la mantisse, ne laissant subsister que le bruit d'arrondi. En multipliant par la quantité conjuguée, on élimine la soustraction au profit d'une somme stable, garantissant 16 chiffres significatifs.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre