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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.