Aller au contenu

Un mot pour Fahmio

Tu écris. Tu continues.

Un problème, une idée — assez pour qu’on comprenne, puis tu retournes à ta copie.

On lit. Tu n’as rien d’autre à faire.

Où veux-tu aller ?

↑ ↓ pour parcourir · Entrée pour ouvrir · Échap pour fermer

Fahmio
Fahmio
Bac Tunisie
AP-DAlgorithmes d’approximation

Approximation d'une valeur par suite convergente (Héron / série de π)

Idée directrice

L'énoncé demande d'approcher une valeur (a\sqrt{a}, π\pi, ee…) par une suite convergente définie par récurrence ou par sommation partielle d'une série. Pour a\sqrt{a}, la méthode de Héron donne xn+1=12(xn+axn)x_{n+1} = \dfrac{1}{2}\left(x_n + \dfrac{a}{x_n}\right) avec x0>0x_0 > 0. Pour π\pi, la série de Leibniz donne π=4∑k=0∞(−1)k2k+1\pi = 4\sum_{k=0}^{\infty} \dfrac{(-1)^k}{2k+1}. Dans les deux cas, on écrit une boucle TantQue sur un critère ∣xn+1−xn∣<ε|x_{n+1} - x_n| < \varepsilon ou sur un nombre d'itérations fixé.

Ce qui aide à reconnaître la démarche

« Écrire un algorithme qui approche a\sqrt{a} par la méthode de Héron » ; « Vérifier que si la suite converge, elle converge vers a\sqrt{a} » ; « Écrire un algorithme qui approche π\pi à ε\varepsilon près par la série de Leibniz » ; « Donner la trace pour les premières itérations » ; « Quel est le critère d'arrêt de l'algorithme ? »

Besoin d’un point de départ ? Voir la méthode
  • Méthode de Héron : convergence quadratique, x0=ax_0 = a est un choix simple et sûr pour a>0a > 0.
  • Toujours vérifier a>0a > 0 et x0≠0x_0 \neq 0 pour éviter la division par zéro dans la formule de récurrence.
  • Série de Leibniz : signe alternant géré avec une variable signe initialisée à 1 et multipliée par −1-1 à chaque tour.
  • Critère d'arrêt sur une série alternante : s'arrêter quand ∣terme∣<ε/4|\text{terme}| < \varepsilon/4 (pour obtenir π\pi à ε\varepsilon près après multiplication par 4).
  • Comparer les vitesses : quadratique (Héron, Newton) >> linéaire (dichotomie) >> sous-linéaire (Leibniz).
Les pièges à vérifier dans ta démarche

Pièges fréquents : (1) Oublier de tester a>0a > 0 avant d'appliquer Héron — division par zéro si a=0a=0. (2) Dans la série de Leibniz, initialiser k ← 1 au lieu de k ← 0 : on saute le premier terme et le résultat est faux. (3) Confondre le critère d'arrêt sur ∣xn+1−xn∣|x_{n+1}-x_n| (Héron) avec ∣xn−a∣|x_n - \sqrt{a}| (non calculable sans connaître a\sqrt{a}).

Sujet principal

Exercice — dans l'esprit des sujets du bac

5 questionsCorrigé masqué

Partie A — Méthode de Héron pour a\sqrt{a}.

  1. On pose x0=ax_0 = a et xn+1=12(xn+axn)x_{n+1} = \dfrac{1}{2}\left(x_n + \dfrac{a}{x_n}\right). Vérifier que si la suite converge vers ℓ\ell, alors ℓ=a\ell = \sqrt{a}.
  2. Écrire un algorithme qui calcule a\sqrt{a} à ε\varepsilon près par la méthode de Héron.
    1. Préciser les données et le résultat.
    2. Quelle précaution faut-il prendre sur la valeur de aa ?
  3. Donner la trace pour a=5a = 5, x0=5x_0 = 5, ε=10−3\varepsilon = 10^{-3} (3 premières itérations).

Partie B — Approximation de π\pi par la série de Leibniz.

  1. On admet que π4=1−13+15−17+⋯=∑k=0∞(−1)k2k+1\dfrac{\pi}{4} = 1 - \dfrac{1}{3} + \dfrac{1}{5} - \dfrac{1}{7} + \cdots = \sum_{k=0}^{\infty} \dfrac{(-1)^k}{2k+1}. Écrire un algorithme qui calcule π\pi à ε\varepsilon près en s'arrêtant quand le terme courant ∣(−1)k2k+1∣<ε4\left|\dfrac{(-1)^k}{2k+1}\right| < \dfrac{\varepsilon}{4}.
  2. Comparer la vitesse de convergence de la série de Leibniz et de la méthode de Héron. Laquelle préférer en pratique ?
Voir la correction commentéeAprès avoir posé votre démarche

A.1. Limite de Héron. Si xn→ℓx_n\to\ell et xn+1=12(xn+a/xn)x_{n+1}=\dfrac12(x_n+a/x_n), alors ℓ=12(ℓ+a/ℓ)\ell=\dfrac12(\ell+a/\ell), soit 2ℓ2=ℓ2+a2\ell^2=\ell^2+a, d'où ℓ2=a\ell^2=a et ℓ=a\ell=\sqrt{a} car ℓ>0\ell>0.

A.2. Algorithme. TDOL : x, xnew réels (itérés). Type/Nature : a, eps réels avec a > 0.

DEF PROC Heron(a, eps : réel)
Variables x, xnew : réel
Début
  Si a <= 0 alors
    Écrire("Erreur : a doit être strictement positif")
  Sinon
    x ← a
    xnew ← (x + a/x) / 2
    TantQue ABS(xnew - x) > eps faire
      x ← xnew
      xnew ← (x + a/x) / 2
    FinTantQue
    Écrire(xnew)
  FinSi
Fin

A.3. Trace pour a=5a=5, x0=5x_0=5, ε=10−3\varepsilon=10^{-3} :

  • it.1 : xnew = (5+1)/2 = 3
  • it.2 : xnew = (3+5/3)/2 ≈ 2,3333
  • it.3 : xnew ≈ (2,3333+5/2,3333)/2 ≈ 2,2381

On retourne une approximation de 5≈2,236\sqrt{5}\approx 2{,}236. Contrainte : a dans ]0..+∞[ ; ne pas utiliser ∣xn−a∣|x_n-\sqrt{a}| comme critère (racine inconnue).

B. Approximation de π\pi par Leibniz. π=4∑k=0∞(−1)k2k+1\pi=4\sum_{k=0}^{\infty}\dfrac{(-1)^k}{2k+1}.

DEF PROC Leibniz(eps : réel)
Variables s, terme, signe : réel ; k : entier
Début
  s ← 0 ; signe ← 1 ; k ← 0
  terme ← 1
  TantQue ABS(terme) > eps/4 faire
    s ← s + terme
    signe ← -signe
    k ← k + 1
    terme ← signe / (2*k + 1)
  FinTantQue
  Écrire(4*s)
Fin

TDOL pour Leibniz : s, terme, signe réels ; k entier. Type/Nature : accumulateur et terme courant. On retourne 4s4s comme approximation de π\pi. Le terme est recalculé après avoir été ajouté, de sorte que le test porte sur le prochain terme : on s'arrête dès que celui-ci passe sous ε/4\varepsilon/4 et il n'est pas sommé.
B.2. Comparaison. Pour Leibniz, le terme courant 12k+1\frac{1}{2k+1} majore l'erreur : atteindre ε=10−3\varepsilon=10^{-3} sur π\pi demande k≈2000k\approx2000 termes, 10−610^{-6} en demanderait deux millions — convergence très lente (linéaire). Héron double le nombre de décimales exactes à chaque itération : 5\sqrt5 à 10−310^{-3} en quatre itérations. En pratique on préfère les méthodes de type Newton/Héron ; la série de Leibniz n'a qu'un intérêt pédagogique.

Équivalent Python (extrait).
def heron(a, eps):
    x = a
    xnew = (x + a/x) / 2
    while abs(xnew - x) > eps:
        x = xnew
        xnew = (x + a/x) / 2
    return xnew
print(heron(5.0, 1e-3))

Changer d’énoncé, garder le raisonnement

Choisis un seul transfert après le sujet principal. Qu’est-ce qui change ? Quel résultat ou quelle méthode peux-tu réutiliser ? Les autres exercices restent disponibles pour une prochaine séance.

Variantes rencontrées : Calcul de e=∑k=0∞1/k!e = \sum_{k=0}^{\infty} 1/k! par sommation partielle. Calcul de ln⁡(2)=∑k=1∞(−1)k+1/k\ln(2) = \sum_{k=1}^{\infty} (-1)^{k+1}/k (série harmonique alternée). Suite de Babylone généralisée pour la racine nn-ième. Parfois l'énoncé fixe le nombre d'itérations au lieu de ε\varepsilon.

Exercices d'entraînement — une nuance à la fois

1 Drill AP-D.1 — méthode du point fixe
Entraînement 01 / 04

Drill AP-D.1 — méthode du point fixe

1 questionCorrigé masqué

Pour résoudre f(x)=0reˊeˊcritenx=g(x),donnerlescheˊmaiteˊratifetlaconditiondeconvergencef(x) = 0 réécrit en x=g(x), donner le schéma itératif et la condition de convergence.

Voir la correction commentéeAprès avoir posé votre démarche

Point fixe xn+1=g(xn)x_{n+1}=g(x_n) si ∣g′∣<1|g'|<1. TDOL : x, xnew. Type/Nature : itérés.

DEF PROC PointFixe(x0, eps : réel)
Variables x, xnew : réel
Début
  x ← x0 ; xnew ← g(x)
  TantQue ABS(xnew-x) > eps faire
    x ← xnew ; xnew ← g(x)
  FinTantQue
  Écrire(xnew)
Fin

On retourne l'approx. ; eps dans ]0..1].

2 Transfert — suite de Héron : le critère d'arrêt absolu échoue pour une petite racine, et a=0a = 0 divise par zéro
Entraînement 02 / 04

Transfert — suite de Héron : le critère d'arrêt absolu échoue pour une petite racine, et a=0a = 0 divise par zéro

4 questionsCorrigé masquéEn cours de relecture

Pour approcher a\sqrt a (a≥0a \geq 0 réel), on utilise la suite de Héron U0=aU_0 = a, Un=12(Un−1+aUn−1)U_{n} = \dfrac{1}{2}\left(U_{n-1} + \dfrac{a}{U_{n-1}}\right), dont la convergence vers a\sqrt a est admise pour a>0a > 0. Deux critères d'arrêt sont envisagés pour une approximation à eps=10−4eps = 10^{-4} près : le critère absolu ∣Un−Un−1∣≤eps|U_n - U_{n-1}| \leq eps et le critère relatif ∣Un−Un−1∣Un−1≤eps\dfrac{|U_n - U_{n-1}|}{U_{n-1}} \leq eps.

  1. Donner la trace de la suite pour a=0,25a = 0{,}25 (colonnes nn, UnU_n) jusqu'à ce que le critère absolu soit vérifié. Pourquoi le choix U0=aU_0 = a ne gêne-t-il pas la convergence alors que U0<aU_0 < \sqrt a ?
  2. Pour a=10−8a = 10^{-8} (racine exacte 10−410^{-4}), le critère absolu arrête le calcul à U14≈1,078×10−4U_{14} \approx 1{,}078\times10^{-4} tandis que le critère relatif l'arrête à U17≈1,0000×10−4U_{17} \approx 1{,}0000\times10^{-4}. Calculer l'erreur relative de la première approximation et expliquer pourquoi le critère absolu s'est déclenché trop tôt. Lequel des deux critères garantit un nombre de chiffres significatifs corrects indépendamment de l'ordre de grandeur de a\sqrt a ?
  3. Que se passe-t-il si l'on appelle la fonction avec a=0a = 0 ? Écrire l'algorithme d'une fonction RacineU(a, eps : réel) : réel utilisant le critère relatif et traitant ce cas, puis son TDOL.
  4. Traduire RacineU en Python et indiquer, pour a=2a = 2, a=0,25a = 0{,}25 et a=0a = 0, la valeur retournée et le nombre d'itérations effectuées.

Cet exercice et sa correction sont en cours de relecture. Tu peux les consulter ; l’exercice n’est pas encore proposé en séance.

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : dérouler la récurrence et observer le premier terme qui saute au-dessus de la racine.

nnUnU_n∣Un−Un−1∣\lvert U_n - U_{n-1}\rvert
00,25—
10,6250,375
20,51250,1125
30,500150,0123
40,50000001,5×10−41{,}5\times10^{-4}
50,50000002×10−82\times10^{-8}


Le critère absolu ≤10−4\leq 10^{-4} est vérifié à n=5n = 5 : la fonction retourne U5=0,5000000\boxed{U_5 = 0{,}5000000}, valeur exacte à 10−710^{-7} près. Le point de départ U0=a=0,25U_0 = a = 0{,}25 est inférieur à a=0,5\sqrt a = 0{,}5, mais dès la première itération U1=12(U0+a/U0)≥aU_1 = \tfrac12(U_0 + a/U_0) \geq \sqrt a (moyenne arithmétique de deux nombres de produit aa, supérieure ou égale à leur moyenne géométrique). À partir de U1U_1 la suite décroît vers a\sqrt a : quel que soit U0>0U_0 > 0, un seul terme suffit à se placer du bon côté.

2. Idée : un écart de 10−410^{-4} est énorme quand la racine vaut elle-même 10−410^{-4}.

Erreur relative de l'approximation absolue : 1,078×10−4−1,000×10−41,000×10−4≈7,8 %\dfrac{1{,}078\times10^{-4} - 1{,}000\times10^{-4}}{1{,}000\times10^{-4}} \approx \boxed{7{,}8\,\%}, alors que le critère relatif donne une valeur exacte à 10−410^{-4} près relativement (moins de 0,01 %0{,}01\,\%).

Pourquoi trop tôt : avec U0=10−8U_0 = 10^{-8}, U1≈0,5U_1 \approx 0{,}5 puis la suite est à peu près divisée par deux à chaque itération tant que Un≫aU_n \gg \sqrt a (a/Una/U_n étant négligeable). L'écart ∣Un−Un−1∣≈Un/2|U_n - U_{n-1}| \approx U_n/2 passe sous 10−410^{-4} dès que UnU_n lui-même approche 2×10−42\times10^{-4}, c'est-à-dire alors que UnU_n est encore loin de a\sqrt a en valeur relative : le test absolu confond « les termes bougent peu » et « la racine est atteinte ». Le critère relatif compare l'écart à la taille du terme : il exige la même précision relative pour 10−8\sqrt{10^{-8}}, 2\sqrt 2 ou 106\sqrt{10^{6}}, donc il garantit un nombre de chiffres significatifs corrects indépendant de l'ordre de grandeur. C'est lui qu'il faut choisir quand aa n'est pas connu d'avance.

3. Idée : a=0a = 0 est le seul cas où la formule divise par U0=0U_0 = 0 ; on le traite avant la boucle.

Avec a=0a = 0 et U0=a=0U_0 = a = 0, le calcul de a/U0a/U_0 est une division par zéro : erreur d'exécution. Or 0=0\sqrt 0 = 0 est connu : on retourne 00 sans itérer. (Pour a<0a < 0 il n'y a pas de racine réelle ; on suppose la saisie contrôlée en amont : a≥0a \geq 0.)

0) DEF FN RacineU (a, eps : réel) : réel
1) Si a = 0 alors
      r ← 0
   Sinon
      u ← a
      Répéter
         v ← (u + a / u) / 2
         ecart ← abs(v - u) / u
         u ← v
      Jusqu'à ecart ≤ eps
      r ← u
   FinSi
2) RacineU ← r
3) Fin RacineU


TDOL
ObjetType / NatureRôle
uréelterme précédent Un−1U_{n-1}
vréelterme courant UnU_n
ecartréelécart relatif entre deux termes successifs
rréelrésultat à retourner


Le dénominateur uu n'est jamais nul dans la boucle : pour a>0a > 0, tous les termes sont strictement positifs.

4. Idée : même logique en Python, avec un compteur pour observer le coût.

def racine_u(a, eps):
    if a == 0:
        return 0.0, 0
    u = a
    n = 0
    while True:
        n += 1
        v = (u + a / u) / 2
        if abs(v - u) / u <= eps:
            return v, n
        u = v


print(racine_u(2, 1e-4)) affiche (1,41421356…, 4)(1{,}41421356\ldots,\ 4) : quatre itérations pour 2\sqrt2. racine_u(0.25, 1e-4) retourne (0,5, 5)(0{,}5,\ 5) : cinq itérations, comme la trace. racine_u(0, 1e-4) retourne (0,0, 0)(0{,}0,\ 0) : aucune itération, aucune division par zéro. Le nombre d'itérations dépend surtout de la distance entre U0=aU_0 = a et a\sqrt a ; pour a=10−8a = 10^{-8} il monte à 17 avec le critère relatif, prix d'une approximation dont tous les chiffres affichés sont fiables.
3 Transfert — Rectangles ou trapèzes : ce que gagne vraiment un pas divisé par deux
Entraînement 03 / 04

Transfert — Rectangles ou trapèzes : ce que gagne vraiment un pas divisé par deux

4 questionsCorrigé masquéEn cours de relecture

On approche l'intégrale I=∫121x dxI = \displaystyle\int_1^2 \dfrac{1}{x}\,dx, dont la valeur exacte est ln⁡2=0,69314718…\ln 2 = 0{,}69314718\ldots, en découpant [1,2][1, 2] en nn parts égales de largeur h=1nh = \dfrac{1}{n}. Deux méthodes d'approximation : les rectangles à gauche, Rn=h∑i=0n−1f(1+ih)R_n = h\displaystyle\sum_{i=0}^{n-1} f(1 + ih), et les trapèzes, Tn=h(f(1)+f(2)2+∑i=1n−1f(1+ih))T_n = h\left(\dfrac{f(1) + f(2)}{2} + \displaystyle\sum_{i=1}^{n-1} f(1 + ih)\right), avec f(x)=1xf(x) = \dfrac{1}{x}.

  1. Pour n=4n = 4 : donner hh, les valeurs f(1)f(1), f(1,25)f(1{,}25), f(1,5)f(1{,}5), f(1,75)f(1{,}75), f(2)f(2), puis calculer R4R_4 et T4T_4 et l'erreur de chacun par rapport à ln⁡2\ln 2.
  2. On divise le pas par deux (n=8n = 8). Prévoir ce que devient chaque erreur avant de regarder les valeurs, puis vérifier sur R8=0,72537185R_8 = 0{,}72537185 et T8=0,69412185T_8 = 0{,}69412185. Quel facteur de division observe-t-on pour chaque méthode, et que dit-il de l'ordre de chacune ?
  3. Pour gagner un chiffre décimal exact (erreur divisée par 1010), combien de fois faut-il diviser le pas par deux avec chaque méthode ? En déduire le nombre de sous-intervalles nécessaire dans chaque cas en partant de n=4n = 4, et choisir la méthode lorsque chaque évaluation de ff est coûteuse.
  4. Écrire l'algorithme d'une fonction Integrale (a, b, eps : réel) : réel qui part de n=1n = 1, double nn à chaque étape en appelant une fonction Trapeze (a, b, n) déjà écrite, et s'arrête quand deux approximations successives diffèrent de moins de epseps. Donner le TDOL, puis expliquer pourquoi ce test est une estimation de l'erreur et non une preuve.

Cet exercice et sa correction sont en cours de relecture. Tu peux les consulter ; l’exercice n’est pas encore proposé en séance.

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : les deux méthodes partagent les mêmes évaluations de ff ; seule la façon de les pondérer change.

h=2−14=0,25h = \dfrac{2-1}{4} = 0{,}25 et f(1)=1f(1) = 1, f(1,25)=0,8f(1{,}25) = 0{,}8, f(1,5)=0,666666667f(1{,}5) = 0{,}666666667, f(1,75)=0,571428571f(1{,}75) = 0{,}571428571, f(2)=0,5f(2) = 0{,}5.

Rectangles à gauche : la somme des quatre premières valeurs vaut 3,0380952383{,}038095238, donc R4=0,25×3,038095238=0,759523810R_4 = 0{,}25 \times 3{,}038095238 = \boxed{0{,}759523810} ; erreur R4−ln⁡2=+6,64×10−2R_4 - \ln 2 = +6{,}64\times10^{-2}.

Trapèzes : f(1)+f(2)2=0,75\dfrac{f(1)+f(2)}{2} = 0{,}75 auquel on ajoute 0,8+0,666666667+0,5714285710{,}8 + 0{,}666666667 + 0{,}571428571, soit 2,7880952382{,}788095238, donc T4=0,25×2,788095238=0,697023810T_4 = 0{,}25 \times 2{,}788095238 = \boxed{0{,}697023810} ; erreur +3,88×10−3+3{,}88\times10^{-3}.

Les mêmes points d'évaluation (le trapèze ajoute seulement f(2)f(2)) donnent une erreur 1717 fois plus petite : le trapèze remplace la marche d'escalier par la corde, qui épouse la courbe.

2. Idée : l'ordre d'une méthode se lit sur le facteur de division de l'erreur quand on divise le pas par deux.

Prévision : l'erreur des rectangles est proportionnelle à hh (ordre 1), celle des trapèzes à h2h^2 (ordre 2) ; diviser hh par 22 doit donc diviser la première par 22 et la seconde par 44.

Vérification : erreur de R8=0,72537185−ln⁡2=3,22×10−2R_8 = 0{,}72537185 - \ln 2 = 3{,}22\times10^{-2}, et 6,64×10−23,22×10−2=2,06\dfrac{6{,}64\times10^{-2}}{3{,}22\times10^{-2}} = 2{,}06. Erreur de T8=0,69412185−ln⁡2=9,75×10−4T_8 = 0{,}69412185 - \ln 2 = 9{,}75\times10^{-4}, et 3,88×10−39,75×10−4=3,98\dfrac{3{,}88\times10^{-3}}{9{,}75\times10^{-4}} = 3{,}98.

Les facteurs 2\boxed{2} et 4\boxed{4} sont bien ceux annoncés, et ils se stabilisent quand nn grandit (de n=32n = 32 à n=64n = 64 : 2,0082{,}008 et 4,0004{,}000).

3. Idée : « gagner une décimale » se traduit en nombre de doublements, donc en nombre d'évaluations — c'est là que se décide le choix.

Rectangles : chaque doublement divise l'erreur par 22, il faut 2k≥102^k \geq 10, soit k=4k = 4 doublements, donc n=4×24=64n = 4 \times 2^4 = \boxed{64} sous-intervalles. Trapèzes : chaque doublement divise par 44, il faut 4k≥104^k \geq 10, soit k=2k = 2, donc n=4×22=16n = 4 \times 2^2 = \boxed{16}.

Vérification numérique : erreur de R64=3,92×10−3R_{64} = 3{,}92\times10^{-3}, inférieure au dixième de l'erreur de R4R_4, soit 6,64×10−36{,}64\times10^{-3}, alors que R32R_{32} (7,87×10−37{,}87\times10^{-3}) n'y suffit pas ; erreur de T16=2,44×10−4T_{16} = 2{,}44\times10^{-4}, inférieure au dixième de celle de T4T_4, soit 3,88×10−43{,}88\times10^{-4}, alors que T8T_8 (9,75×10−49{,}75\times10^{-4}) n'y suffit pas.

6464 évaluations contre 1616 pour le même gain : dès que ff coûte cher (mesure, simulation, appel réseau), on prend les trapèzes. L'unique cas où les rectangles se défendent est celui où ff n'est connue qu'aux extrémités gauches des sous-intervalles.

4. Idée : on ne connaît pas II, donc on surveille ce qu'on peut voir — l'écart entre deux approximations successives.

0) DEF FN Integrale (a, b, eps : réel) : réel
1) n ← 1
   S ← FN Trapeze (a, b, n)
   Répéter
      Sp ← S
      n ← n * 2
      S ← FN Trapeze (a, b, n)
   Jusqu'à abs(S - Sp) ≤ eps
2) Integrale ← S
3) Fin Integrale


TDOL
ObjetType / NatureRôle
nentiernombre de sous-intervalles, doublé à chaque étape
Sréelapproximation courante
Spréelapproximation précédente
Trapezefonctioncalculer l'approximation par les trapèzes pour nn donné


∣S−Sp∣|S - Sp| mesure l'écart entre deux approximations, pas l'écart à II : c'est un indice, pas une preuve. Il est fiable parce que l'erreur est divisée par 44 — on a alors I−S≈S−Sp3I - S \approx \dfrac{S - Sp}{3}. L'exécution le confirme : pour eps=10−4eps = 10^{-4} la boucle s'arrête à n=64n = 64 (6 doublements) avec S=0,693162439S = 0{,}693162439, S−Sp=−4,577×10−5S - Sp = -4{,}577\times10^{-5} et une erreur réelle de 1,53×10−51{,}53\times10^{-5}, très proche du tiers annoncé. Ce raisonnement suppose ff deux fois dérivable sur [a,b][a, b] : sur une fonction irrégulière, deux approximations peuvent coïncider sans que II soit approchée.

4 Transfert — « le terme est devenu petit » : preuve pour la série alternée, illusion pour la série harmonique
Entraînement 04 / 04

Transfert — « le terme est devenu petit » : preuve pour la série alternée, illusion pour la série harmonique

4 questionsCorrigé masquéEn cours de relecture

Deux sommations partielles, un même critère d'arrêt. La série alternée An=∑k=1n(−1)k+1k=1−12+13−⋯A_n = \displaystyle\sum_{k=1}^{n} \dfrac{(-1)^{k+1}}{k} = 1 - \dfrac12 + \dfrac13 - \cdots converge vers ln⁡2=0,69314718…\ln 2 = 0{,}69314718\ldots ; la série harmonique Hn=∑k=1n1kH_n = \displaystyle\sum_{k=1}^{n} \dfrac1k additionne les mêmes valeurs absolues. Dans les deux cas le terme uku_k tend vers 00, et un élève arrête sa boucle dès que ∣uk∣≤eps|u_k| \leq eps. Ces deux sommations relèvent du même chapitre d'approximation que la suite de Héron, mais leur critère d'arrêt ne se justifie pas de la même façon.

  1. Calculer A1A_1, A2A_2, A3A_3, A4A_4 et situer ln⁡2\ln 2 par rapport à ces valeurs. Énoncer la propriété d'encadrement d'une série alternée dont les termes décroissent en valeur absolue vers 00, et la majoration de l'erreur qui en découle.
  2. En déduire le nombre de termes nécessaires pour garantir une erreur ≤10−2\leq 10^{-2}, puis ≤10−4\leq 10^{-4}. Le critère « ∣uk∣≤eps|u_k| \leq eps » est-il ici une preuve de précision ? Que vaut alors la convergence de cette série comparée à celle de la suite de Héron ?
  3. Le même code appliqué à HnH_n avec eps=10−2eps = 10^{-2} s'arrête à k=100k = 100 et affiche 5,1873785{,}187378. De quoi cette valeur est-elle l'approximation ? Justifier en s'appuyant sur H1000=7,485471H_{1000} = 7{,}485471 et H106=14,392727H_{10^6} = 14{,}392727.
  4. Écrire l'algorithme d'une fonction SommeAlt (eps : réel) : réel qui rend ln⁡2\ln 2 à epseps près par la série alternée, donner son TDOL, et énoncer l'hypothèse sur les termes qui rend son critère d'arrêt légitime — hypothèse que la série harmonique ne vérifie pas.

Cet exercice et sa correction sont en cours de relecture. Tu peux les consulter ; l’exercice n’est pas encore proposé en séance.

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : dans une série alternée, chaque nouveau terme fait passer la somme de l'autre côté de la limite.

A1=1A_1 = 1 ; A2=1−0,5=0,5A_2 = 1 - 0{,}5 = 0{,}5 ; A3=0,5+13=0,833333333A_3 = 0{,}5 + \dfrac13 = 0{,}833333333 ; A4=0,833333333−0,25=0,583333333A_4 = 0{,}833333333 - 0{,}25 = 0{,}583333333.

On lit A2<A4<ln⁡2<A3<A1A_2 < A_4 < \ln 2 < A_3 < A_1 : les sommes de rang pair croissent, celles de rang impair décroissent, et ln⁡2\ln 2 est pris entre deux sommes consécutives. D'où la majoration : ∣ln⁡2−An∣≤∣un+1∣=1n+1\boxed{|\ln 2 - A_n| \leq |u_{n+1}| = \dfrac{1}{n+1}} — l'erreur est majorée par le premier terme négligé.

2. Idée : ici le critère d'arrêt est adossé à un théorème, donc il prouve quelque chose — mais il coûte cher.

Pour une erreur ≤10−2\leq 10^{-2} : 1n+1≤10−2\dfrac{1}{n+1} \leq 10^{-2} donne n≥99n \geq 99, soit 99 termes\boxed{99 \text{ termes}} (A99=0,698172A_{99} = 0{,}698172, erreur réelle 5,03×10−35{,}03\times10^{-3}). Pour 10−410^{-4} : n≥9999n \geq 9999, soit 9999 termes\boxed{9999 \text{ termes}} (A9999=0,693197A_{9999} = 0{,}693197, erreur réelle 5,00×10−55{,}00\times10^{-5}). La boucle « tant que ∣uk∣>eps|u_k| > eps » s'arrête en fait à k=100k = 100 (resp. 10410^4) : un terme de plus que le minimum, ce qui ne nuit pas à la garantie.

Oui, c'est une preuve — non parce que le terme est petit, mais parce qu'un théorème majore le reste par ce terme. Le prix est une convergence très lente : il faut de l'ordre de 10p10^{p} termes pour une erreur ≤10−p\leq 10^{-p}, là où la suite de Héron double le nombre de décimales exactes à chaque itération — pour 2\sqrt2 à 10−410^{-4} près elle s'arrête en 4 itérations, contre 10410^4 termes ici.

3. Idée : un terme qui tend vers 00 ne dit rien sur la somme.

D'aucune valeur : HnH_n ne converge pas — H100=5,187378H_{100} = 5{,}187378, H1000=7,485471H_{1000} = 7{,}485471, H106=14,392727H_{10^6} = 14{,}392727 — la somme continue de croître sans borne (elle se comporte comme ln⁡n+γ\ln n + \gamma avec γ≈0,5772\gamma \approx 0{,}5772 ; pour n=106n = 10^6, ln⁡(106)+γ=14,392727\ln(10^6) + \gamma = 14{,}392727, ce que le calcul retrouve).

La boucle s'arrête uniquement parce que le terme 1k\dfrac1k est devenu petit, ce qui arrive aussi pour une série divergente. La valeur rendue ne dépend que de epseps : avec eps=10−4eps = 10^{-4} le même code s'arrête à k=104k = 10^4 et affiche 9,7876069{,}787606. Deux « approximations » d'une même quantité qui diffèrent de 4,64{,}6 : le critère n'approche rien du tout. Remarquons aussi que ∣Ak−Ak−1∣=∣uk∣|A_k - A_{k-1}| = |u_k| exactement : le test « deux sommes successives diffèrent peu » est le même test, il hérite donc de la même faiblesse.

4. Idée : l'hypothèse qui justifie l'arrêt doit être écrite à côté de l'algorithme, sinon le module est juste par accident.

0) DEF FN SommeAlt (eps : réel) : réel
1) s ← 0
   k ← 0
   signe ← 1
   Répéter
      k ← k + 1
      u ← signe / k
      s ← s + u
      signe ← -signe
   Jusqu'à (1 / k) ≤ eps
2) SommeAlt ← s
3) Fin SommeAlt


TDOL
ObjetType / NatureRôle
sréelsomme partielle courante
kentierrang du terme courant
uréelterme courant (−1)k+1k\dfrac{(-1)^{k+1}}{k}
signeentieralternance +1/−1+1 / -1


L'exécution donne s=0,688172179s = 0{,}688172179 en 100100 tours pour eps=10−2eps = 10^{-2} (erreur 4,98×10−34{,}98\times10^{-3}) et s=0,693097183s = 0{,}693097183 en 10410^4 tours pour eps=10−4eps = 10^{-4} (erreur 5,00×10−55{,}00\times10^{-5}) : dans les deux cas l'erreur reste sous epseps, comme annoncé.

L'hypothèse est double : les termes alternent de signe et leur valeur absolue décroît vers 00. La série harmonique vérifie la décroissance vers 00 mais pas l'alternance : tous ses termes s'ajoutent, aucun reste n'est majoré par le premier terme négligé, et le même code y perd toute valeur.

Relier ce raisonnement au bac

Choisis une filière pour voir les sujets qui étayent ce scénario.