Holonomic Approach

We compute an approximation of [Maple Math] using Apéry's recurrence. More precisely, we compute it as [Maple Math] . (Remember that [Maple Math] tends to [Maple Math] .)

> ti[0]:=time():

> N:=200:

To do so, we use the gfun package by Salvy and Zimmermann (Salvy, Bruno and Zimmermann, Paul (1994): Gfun: a Maple package for the manipulation of generating and holonomic functions in one variable, ACM Trans. Math. Software , 20 (2):163-177).

> with(gfun);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

The gfun package provides us with a routine for transforming a recurrence equation like

> [Maple Math]

into a procedure. Each of the following procedures encodes the calculation of a sequence [Maple Math] given by the equation [Maple Math] and its initial values [Maple Math] and [Maple Math] .

> A:=rectoproc({eq,u(0)=0,u(1)=6},u(n));

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> B:=rectoproc({eq,u(0)=1,u(1)=5},u(n));

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Compute [Maple Math] and [Maple Math] :

> a:=A(N);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> b:=B(N);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

A priori , it is not clear how many digits we can guarantee.

> P:=round(evalf(ln(a)/ln(10))*1.1);

[Maple Math]

> Z3[holonomy]:=evalf(a/b,P);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

The time used is

> ti[holonomy]:=time()-ti[0];

[Maple Math]