{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![En tête general](img/En_tete_general.png)\n",
"\n",
"\n",
"*(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*\n",
"\n",
" Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Algorithme de Briggs pour le calcul du logarithme"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Le but de l'activité est d'obtenir des valeurs approchées de logarithmes népérien à l'aide des opérations élémentaires et de la racine carrée.*\n",
"\n",
"### Sommaire\n",
"\n",
"1. Principe de l'algorithme de Briggs
\n",
"2. Implémentation en langage Python
\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Principe de l'algorithme de Briggs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"__On considère un réel $a>0$, et on souhaite évaluer $ln(a)$.__\n",
"\n",
"
\n",
"__1.1. On pose $u_0=a$ et pour tout $n\\in\\mathbb{N}$, $u_{n+1}=\\sqrt{u_n}$.__
\n",
"__$\\quad\\;$a. Démontrer par récurrence que pour tout $n\\in\\mathbb{N}$, $u_n=e^{\\;ln(a)/2^n}$.__
\n",
"__$\\quad\\;$b. En déduire que $(u_n)_{n \\geq 0}$ converge et que $\\lim\\limits_{n \\to +\\infty}{u_n}=1$__
\n",
"\n",
"\n",
"__1.2.a. En calculant de deux façons le nombre dérivé de la fonction $ln$ en $1$, démontrer que $\\lim\\limits_{x \\to 1}\\frac{ln(x)}{x-1}=1$__
\n",
"$\\quad\\;$__b. En déduire que $\\lim\\limits_{n \\to +\\infty}\\frac{ln(u_n)}{u_n-1}=1$.__
\n",
"$\\quad\\;$__c. Justifier que $2^n ln(u_n)=ln(a)$, et en déduire que pour $n$ suffisamment grand, on a $ln(a) \\approx 2^n(u_n-1)$.__
\n",
"\n",
"\n",
"__1.3. Dans cette question, on pose $a=2$.__
\n",
"$\\quad\\;$__Recopier et compléter le tableau suivant jusqu'à obtenir une valeur $u_n$ telle que $\\lvert u_n-1 \\rvert<10^{-2}$ (c'est à dire $u_n$ \"proche\" de $1$).__
\n",
"$\\quad\\;$On pourra effectuer les calculs à la calculatrice ou à l'aide de la zone de saisie Python fournie plus bas.
\n",
"$\\quad\\;$__Quelle valeur approchée de $ln(2)$ peut-on en déduire ?__\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"| $n$ | | $u_n$ | | $\\lvert u_n-1\\rvert<10^{-2}$ |\n",
"| :------ |:--:|:------------------------:|:--:|:------------------------------:|\n",
"| 0 | | 2 | | Faux |\n",
"| 1 | | 1,414213562 | | |\n",
"| 2 | | | | |\n",
"|........ |... |......................... |... |............................... |\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"#Cette zone de saisie Python peut être utilisée pour le calcul des valeurs successives de la suite u\n",
"from math import sqrt #Cette syntaxe permet d'utiliser la fonction sqrt pour le calcul d'une racine carrée\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Implémentation en langage Python"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"__On considère un réel $a>0$ et un entier $m \\in\\mathbb{N}$, et on souhaite obtenir une valeur approchée de $ln(a)$ pour le rang $n$ tel que $\\lvert u_n-1 \\rvert<10^{-m}$.__
\n",
"\n",
"__2.1. Écrire une fonction Python Briggs qui reçoit en argument la valeur $a$ et l'entier $m$, et qui renvoie la valeur approchée de $ln(a)$ obtenue avec l'algorithme de Briggs.__
\n",
"La syntaxe from math import sqrt permet d'utiliser la fonction sqrt qui permet de calculer une racine carrée.
\n",
"On peut utiliser la fonction abs pour le calcul d'une valeur absolue.
"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#Écrire ici la fonction Python Briggs\n",
"from math import sqrt\n",
"\n",
"\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__2.2. Utiliser la fonction Briggs avec $m=9$ pour obtenir une valeur approchée de $ln(2)$.__"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6931471824645996"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Effectuer ici l'appel à la fonction Python Briggs\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__2.3. La syntaxe from math import log permet d'utiliser la fonction Python log qui correspond à la fonction mathématique $ln$.__
\n",
"$\\quad\\;$__Effectuer une saisie pour obtenir la valeur de $ln(2)$. Vérifier la cohérence avec le résultat de la question précédente.__"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.6931471805599453"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Effectuer ici la saisie pour calculer ln(2)\n",
"from math import log\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Table_logarithme](img/Table_log.png)\n",
"\n",
"