Example7-1-AutomatedApery.mw

Example 7.1 (Automated Apéry Asymptotics)
This worksheet requires the DiagonalAsymptotics/Kronecker package available at http://diagasympt.gforge.inria.fr 

> # Import Kronecker package
read "Kronecker.mpl";

# Define the rational function
F := 1/(1-w*(1+x)*(1+y)*(1+z)*(1+y+z+y*z+x*y*z));

# Compute dominant asymptotics of the main power series diagonal
A, U := DiagonalAsymptotics(numer(F),denom(F),[w,x,y,z],u,n):
 

Typesetting:-mprintslash([F := `/`(1, `*`(`+`(1, `-`(`*`(w, `*`(`+`(1, x), `*`(`+`(1, y), `*`(`+`(1, z), `*`(`+`(`*`(x, `*`(y, `*`(z))), `*`(y, `*`(z)), y, z, 1))))))))))], [`/`(1, `*`(`+`(1, `-`(`*`(... (1)
 

> # Asymptotics are represented by the symbolic expression
A;
 

`+`(`/`(`*`(`/`(1, 4), `*`(`^`(`/`(`*`(`+`(`*`(4, `*`(u)), 2580)), `*`(`+`(`*`(68, `*`(u)), 1476))), n), `*`(`^`(2, `/`(1, 2)), `*`(`^`(`/`(`*`(`+`(`*`(4, `*`(u)), 2580)), `*`(`+`(`-`(`*`(192, `*`(u))... (2)
 

> # When u takes the following value
# Note 1: The large numeric precision was used to verify minimality
# Note 2: Random choices are used to output this result. Rerun the code to get
#         different expressions! (which yield the same asymptotic behaviour, of course)
U;
 

[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
[RootOf(`+`(`*`(2, `*`(`^`(_Z, 2))), `*`(2580, `*`(_Z)), 52361), -20.62471221227853595405442826141829831148986702107742569249589567709161075897974234755390359434624563749138688905222086349568488134189...
(3)
 

> # Because u is an algebraic number of degree two in this example, we can express asymptotic behaviour exactly
evala(allvalues(subs(u=U[1],A)));
 

`+`(`/`(`*`(`/`(1, 4), `*`(`^`(`+`(17, `*`(12, `*`(`^`(2, `/`(1, 2))))), n), `*`(`^`(883, `/`(1, 2)), `*`(`^`(`+`(`/`(12, 883), `*`(`/`(17, 1766), `*`(`^`(2, `/`(1, 2))))), `/`(1, 2)))))), `*`(`^`(n, ... (4)
 

>