Procédure visant à accélérer la convergence d'une série
Bonjour
Je souhaite écrire une procédure sous Maple visant à accélérer la convergence d'une série, en l'occurence la somme des 1/n².
J'ai donc écrit ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
richardson:=proc(n)
local s0,s1,k,j,st,S,puiss;
st[0]:=0;
//calcul de la somme sans accélération//
for k from 1 to 2^n do
st[k]:=st[k-1]+1/k^2;od;
s0[n]:=st[2^n];
//calcul avec l'accélération de convergence//
for j from 1 to n do
s1[0]:=0;
s0[0]:=1;
s0[1]:=3/2;
puiss:=2^j;
for k from 1 to 2^(n-j) do
st[j]:=(puiss*st[2*k-1]-st[k-1])/(puiss-1);
od;
od;
print(evalf(s0[n]),evalf(st[n]));
end; |
Mon problème se situe dans la phase d'accélération, car je ne voit pas comment faire pour faire comprendre à Maple de réutiliser le terme st[j] dans le calcul du terme suivant.
Merci de votre aide.