Home

 Logithèque

TI82

Calcul de la constante d'Euler


Code

Input "NB DE G=",N:{.5}->L1:N->dim(L1)

For(I,2,N)

If 0=fPart(I/2)

Then

((I+1)^-1-sum(seq(I nCr (K-1)*L1(K),K,1,I-1)))/I->L1(I)

Else

0->L1(I):End

End

Disp "Gi",L1

Prompt M:0->C

For(I,1,M)

I^-1+C->C:End

C-sum(seq(L1(I)/M^I,I,1,N))-ln(M)->C

Disp "C=",C

Les signes "^-1" à la 5ème et 12ème lignes représentent l'opérateur "inverse" (1/x).


Mode d'emploi

Exécuter le programme. Un nombre de termes est demandé, saisir une valeur entre 2 et 20. Une liste est affichée, puis le programme demande un point d'application de la formule mise en oeuvre, saisir un nombre entre 10 et 100 typiquement.

La valeur calculée de la constante d'Euler est affichée avec le libellé "C=".

Exemple :

Saisie Réponse
prgmEULERCST NB DE G=
10

{.5 -.0833...

M=?

10

C=

0.5772156649


Mathématiques à l'oeuvre

On sait que Somme(1/i)(i=1 à m) est équivalent à log(m) lorsque m tend vers + l'infini.

La différence entre ces deux fonctions de m tend même vers une constante, dénommée constante d'Euler, valant environ 0,577.

On peut alors trouver un développement selon les puissances de 1/m de la différence entre la somme et le logarithme. Si on note C la constante d'Euler, on se rend assez facilement compte que la différence :

Somme(1/i)(i=1 à m) - log(m) - C - 1/(2m) a un développement ne contenant que des puissances paires de 1/m.

On calcule alors les coefficients, et on obtient une approximation de C en faisant :

C = Somme(1/i)(i=1 à m) - log(m) - [dévelopement asymptotique en 1/m]

Cette formule marche d'autant mieux que l'on prend m grand, mais comme il faut calculer la somme des inverses des entiers jusqu'à m on a plutôt intérêt à le choisir pas trop grand, et à calculer "suffisamment" de termes du développement.

Par exemple, si on prend m=20, pour avoir 10 chiffres exacts on calcule n termes avec (1/20)^n < 10^(-10), soit n=7,6 soit 8 termes à calculer.

Les termes du développements (poétiquement appellés Gi) suivent une propriété de récurrence qui est visible en ligne 5 du programme, je vous laisse le plaisir de la démontrer, ou de la simplifier.


Fonctionnement du programme

Voici l'utilisation des variables :

C Constante d'Euler
I Indice de boucles, pointeur sur L1
K Indice de vecteur
M Point d'évaluation de la fonction
N Nombre de termes du développement
L1 Liste des coefficients

Le programme ne contient rigoureusement aucune astuce. Cependant, on a calculé la somme des inverses par une boucle plutôt qu'un sum(seq( car les termes sont plutôt nombreux, le raisonnement étant inverse pour les termes du développement limité.