Commentaires - Justification de l’algorithme CORDIC :
3ln 10 −
i=p
X
i=1
ln(αi)est le terme général d’une suite décroissante qui converge vers ln x. L’algo-
rithme CORDIC donne donc des approximations par excès. Elles sont d’autant meilleures que
pest grand.
3Pour calculer une approximation de ln xà l’aide de (7), xappartenant à [1 ,10[, il suffit donc
d’avoir en mémoire ln 10, de déterminer k1, . . . , kp, ce qui donnera ln(1 + 10−k1),...,ln(1 +
10−kp), et d’avoir aussi mis en mémoire les nombres de la forme ln(1 + 10−i),16i6kp.
3Il est possible de déterminer la précision avec laquelle le résultat est obtenu.
II - Mise en œuvre de l’algorithme CORDIC
5 - Supposons que x= 4.0913182 et p= 4. Pour calculer l’approximation de ln(4.0913182) donnée
par (7), on pose
b0= ln 10, b1=b0−ln α1, b2=b1−ln α2, b3=b2−ln α3, b4=b3−ln α4(8)
b4est la valeur approchée de ln(4.0913182) que nous voulons calculer. Compléter, à l’aide d’une
calculatrice, le tableau suivant, qui constitue une disposition pratique de l’algorithme CORDIC.
n αnxn=xn−1·αnln(αn)bn=bn−1−ln(αn)
0×××××××× x0= 4.0913182 ×××××××× 2.302585093
1
2
3
4
Comparer b4à la valeur de ln(4.0913182) fournie par la calculatrice.
6 - Algorithmique : À l’aide d’un logiciel de calcul formel ou de calcul numérique, construire un pro-
gramme permettant de calculer une approximation de ln(4.0913182), si possible la meilleure possible,
à l’aide de l’algorithme CORDIC, lorsque sont pré-enregistrées les valeurs de ln 10,ln 2,ln (1 + 10−1),
. . . , ln (1 + 10−8).
III - Prolongement de l’algorithme CORDIC
Nous voulons maintenant calculer le logarithme népérien de tout nombre strictement positif.
7 - Écriture scientifique d’un nombre strictement positif.
Soit Xun nombre réel strictement positif. On pose
k= [log X] (kest la partie entière du logarithme décimal de X)(9)
Démontrer que Xpeut s’écrire sous la forme
X=x.10koù 16x < 10 (10)
x.10ks’appelle l’écriture scientifique de X. Les relations (10) équivalent à
ln X= ln x+k. ln 10 où 16x < 10 (11)
Commentaires : on voit que pour calculer ln X, il suffit de savoir calculer ln xpour tout nombre x
de l’intervalle [1 ,10[, ce que l’on sait faire, et de calculer k. Pour cela, on écrira un algorithme qui
n’utilise pas log X, évidemment.
8 - Donner une valeur approchée de ln 4091.3182 déduite de la question (5).