On étudie un algorithme d’approximation de {\ln x} pour {x\gt0}. On pose {T(x)=\frac{x^2-1}{x^2+1},\quad S(x)=\frac{x^2-1}{2x}}puis {f(x)=\ln x-T(x)} et {g(x)=S(x)-\ln x}, de sorte que {f(1)=g(1)=0}.
I. Quelques inégalités
Dans cette partie, {x\geq1}.
I.1. Prouver {T(x)\leq2T(\sqrt x)} et {2S(\sqrt x)\leq S(x)}.
I.2. Prouver {0\leq f'(x)\leq(x-1)^2} et {0\leq g'(x)\leq\frac12(x-1)^2}.
I.3. En déduire {0\leq f(x)\leq(x-1)^3/3} et {0\leq g(x)\leq(x-1)^3/6}.
II. Convergence de deux suites
Dans la suite, sauf en III.6, {x\geq1} est fixé. On définit {u_0=x}, {u_{n+1}=\sqrt{u_n}}, puis {t_n=2^nT(u_n)} et {s_n=2^nS(u_n)}.
Les valeurs initiales sont {t_0=(x^2-1)/(x^2+1)} et {s_0=(x^2-1)/(2x)}.
II.1. Montrer que {0\leq u_n-1\leq2^{-n}(x-1)}. Que déduire pour la limite de {(u_n)} ?
II.2. Déterminer la monotonie de {(s_n)} et {(t_n)}.
II.3. Vérifier que {2^n\ln u_n} est constante.
II.4. Montrer que {t_n\leq\ln x\leq s_n} pour tout {n}.
II.5. Vérifier {s_{n+1}^2=s_nt_{n+1}}.
II.6. En déduire la limite de {(s_n)} et {(t_n)}.
III. Algorithme d’approximation de {\ln x}
Pour {x\gt1}, on pose {c_n=s_n/t_n}. Pour inclure {x=1} sans quotient {0/0}, on prolonge cette définition par {c_n=(u_n^2+1)/(2u_n)}. En particulier {c_0=(x^2+1)/(2x)}.
III.1. Exprimer {c_n} en fonction de {u_n} et montrer {c_{n+1}=\sqrt{\frac{1+c_n}2},\quad s_{n+1}=\frac{s_n}{c_{n+1}},\quad t_{n+1}=\frac{s_{n+1}}{c_{n+1}}}
III.2. Écrire une procédure Maple approxln, d’arguments {x\geq1} et entier {p\gt0}, renvoyant {[t_n,s_n],n}, où {n} est le premier indice tel que {0\leq s_n-t_n\lt10^{-p}}. Utiliser les relations III.1 et uniquement les variables locales {n,t,s,c}, sans vérifier les hypothèses sur les arguments.
III.3. Montrer {\ln x-t_n=2^nf(u_n)} et {s_n-\ln x=2^ng(u_n)}.
III.4. En déduire {\begin{array}{l}0\leq\ln x-t_n\leq\dfrac{(x-1)^3}{3\cdot4^n}\\[4pt]0\leq s_n-\ln x\leq\dfrac{(x-1)^3}{6\cdot4^n}\\[4pt]0\leq s_n-t_n\leq\dfrac{(x-1)^3}{2\cdot4^n}\end{array}}
III.5. Pour {x=2}, à partir de quel indice est-on certain que {[t_n,s_n]} a une longueur au plus {10^{-8}} ?
III.6. Proposer un algorithme pour {0\lt x\lt1} et indiquer comment adapter approxln pour traiter tout {x\gt0}.