I. Une première série pour
Q1. Évaluation numérique
| > |
evalf([seq((-1)^(i-1)/binomial(2*i,i)/i^3,i=1..20)]); |
La somme est alternée et les termes décroissent en valeur absolue. On voit qu'on gagne environ une demi-décimale par terme.
| > |
Zeta(3)=5/2*Sum((-1)^(n-1)/binomial(2*n,n)/n^3,n=1..infinity); |
Par comparaison, le reste de la série tronquée au 1000e terme vaut :
| > |
evalf(Sum(1/n^3,n=1001..infinity)); |
Q2. Première utilisation de l'algorithme de Zeilberger
| > |
F:=(-1)^k*k!^2*(n-k-1)!/(n+k+1)!/(k+1); |
| > |
with(SumTools[Hypergeometric]): |
Il est utile de simplifier le membre droit pour s'éviter des difficultés de prises de limite plus bas.
| > |
G:=normal(simplify(-op(2,%))); |
Q3 et Q5. La sommation
On part de
| > |
eq:=f(n+1,k)-f(n,k)=g(n,k+1)-g(n,k); |
On somme d'abord sur
On somme ensuite en
Pour y voir plus clair dans la première somme, il suffit de regarder pour une valeur de
fixe :
L'expression se récrit donc
| > |
sum(f(N,k),k=0..N-2)-sum(f(n+1,n),n=0..N-1)=op(2,%%); |
Il s'agit maintenant de prendre la limite lorsque
Tout d'abord, chacun des sommants de la première somme est borné par le maximum sur
, qui est atteint lorsque
. Alors on a
| > |
asympt(%/(-1)^(N-2),N,4); |
Cette première somme tend donc vers 0. Pour réorganiser les termes, il suffit ensuite d'observer que la somme des
converge absolument :
| > |
G0:=normal(simplify(eval(G,k=0))); |
On a bien prouvé la validité de l'identité
| > |
Sum(g(n,0),n=0..infinity)=sum(g(n,n)+f(n+1,n),n=0..infinity); |
Q4. On en déduit la formule
La simplification effectuée sur
plus haut nous permet d'utiliser eval pour obtenir
.
| > |
eval(G+eval(F,n=n+1),k=n); |
Les factorielles se regroupent :
| > |
sum(G0,n=0..infinity)=Sum(%,n=0..infinity); |
Vérification numérique
II. Des séries plus rapides
Q6. La vitesse de la première série
| > |
term:=op([2,1],%%)/(-1)^n; |
Les termes se comportent donc à peu près comme du
.
Q7. Une série plus rapide
Le point de départ est
| > |
F:=(-1)^k*k!^2*(s*n-k-1)!/(s*n+k+1)!/(k+1); |
puis on effectue les mêmes étapes
| > |
Zeilberger(eval(F,s=2),n,k,Sn); |
Les factorielles se simplifient :
On y voit plus clair en décomposant en éléments simples
| > |
G0:=convert(%,parfrac,n); |
Le membre droit :
| > |
eval(G+eval(F,[s=2,n=n+1]),k=n); |
Les factorielles se simplifient
Résultat :
| > |
sum(G0,n=0..infinity)=Sum(%,n=0..infinity); |
Vérifiation numérique
| > |
term:=op([2,1],%%)/(-1)^n; |
Le comportement des sommants est accéléré :
| > |
asympt(expand(ln(term)),n,3) assuming n::posint; |
Q8. Et une autre encore plus rapide
| > |
Zeilberger(eval(F,s=3),n,k,Sn); |
| > |
G0:=convert(simplify(eval(G,k=0)),parfrac,n); |
On "voit" que la somme de
vaut
Membre droit :
| > |
normal(expand(eval(G+eval(F,[s=3,n=n+1]),k=n))); |
Résultat :
| > |
2*Zeta(3)=Sum(%,n=0..infinity); |
| > |
term:=op([2,1],%%)/(-1)^n; |
Accélération de la convergence :
| > |
asympt(expand(ln(term)),n,7); |
C'est donc maintenant du
.