delta(u,p,n):={ local val,k,s; val:=0; s:=1; for (k:=p;k>=0;k--) { val:=val+comb(p,k)*u(n+k)*s; s:=s*-1; } return val; };
On écrit la transforpmation d'Euler :
trans_euler(u,N,M) qui approche
sum((-1)^
n*u(n),n,0,infinity) et vaut :
sum((-1)^
n*u(n),n,0,N-1)+
(-1)^
N*sum((-1/2)^
p*delta(u,p,N)/2,p,0,M).
trans_euler(u,N,M):={ local S,T,k,s; S:=0; s:=1; for (k:=0;k<N;k++) { S:=S+u(k)*s; s:=s*-1; } T:=0; s:=s*1/2; for (k:=0;k<=M;k++) { T:=T+delta(u,k,N)*s; s:=s*-1/2; }; return evalf(normal(S+T)); };Par exemple pour u(n) = 1/(n + 1) avec 20 digits, on tape :