Calcul formel : Mode d'emploi - Exemples en Maple
Claude Gomez, Bruno Salvy, Paul Zimmermann
Masson, 1995
Chapitre VIII, section 1.4, exercice 4, page 203.
Philippe.Dumas@inria.fr
http://algo.inria.fr/dumas/Maple/
|
|
Le calcul se déroule de la même façon dans les versions V.3, V.4 et V.5. Nous utilisons Maple V.3. Notons d'abord que la série converge parce que le terme général a un comportement en 1/n^2.
L'énoncé suggère de tenter quelques expériences en calculant des sommes partielles. Cependant le système ne propose pas de procédure de transformation d'expression liées à l'arc tangente. Il convient donc de traduire d'abord l'arc tangente en logarithme, ce qui permet d'employer symplify/ln ou combine/ln.
> convert(arctan(x),ln);
À dire vrai, il ne semble pas que l'expérimentation par cette voie mène bien loin. Nous abordons donc la question par un autre chemin, en fait équivalent mais plus adapté. L'arc tangente de x est un argument du nombre complexe 1+i*x. Son double est donc un argument du quotient (1+i*x)/(1-i*x). C'est exactement ce que dit la formule ci-dessus qui exprime l'arc tangente en terme de logarithmes. Ceci nous amène à considérer l'expression suivante.
> normal(evalc((n^2+n+1+I)/(n^2+n+1-I)));
L'avantage qu'il y a à user de cette expression est qu'elle est rationnelle en n et un système de calcul formel n'excelle jamais tant que dans la manipulation d'expressions rationnelles. La factorisation de cette expression nous donne la clé du problème. Nous voyons que dans le produit apparaît une simplification entre les termes d'indice n et n+1.
> factor(");
D'ailleurs le produit indéfini se calcule explicitement.
> product((n^2+n+1+I)/(n^2+n+1-I),n);
Cependant le produit défini offre un peu de résistance.
> product((n^2+n+1+I)/(n^2+n+1-I),n=0..infinity);
Ici nous employons Maple V.3. Avec Maple V.5, la réponse est la même.
> product((n^2+n+1+I)/(n^2+n+1-I),n=0..infinity);
product: "Cannot show that (n^2+n+1+I)/(n^2+n+1-I) is continuous
on [0,infinity]"
Il faut tenir la main au logiciel.
> P:=product((n^2+n+1+I)/(n^2+n+1-I),n):
> limit(P,n=infinity)/subs(n=0,P);
Lui tenir la main avec plus de fermeté.
> P:=simplify(P,GAMMA);
> limit(P,n=infinity)/subs(n=0,P);
Le produit infini converge vers -1. La moitié de l'argument de -1 est Pi/2. La somme de la série considérée vaut donc Pi/2 à Pi près. Il suffit donc d'encadrer la somme de la série avec un relatif soin pour conclure. Son premier terme vaut Pi/4. La somme à partir du rang 2 est majorée par la somme suivante.
> sum(1/(n^2+n+1),n=1..infinity);
> combine(",Psi);
> convert(evalf("/Pi),confrac,r);
On obtient environ Pi/4 (le dénominateur suivant, 59, est relativement grand), donc la somme globale est de l'ordre de Pi/2. Finalement la somme de la série proposée est exactement Pi/2.