ez:=proc(): print(` NZx(x,d), NZ(d), NoamZ(d) `): end:
read `W1D.txt`:
NZx:=proc(x,d) local gu,z,i,gu1,gu2:
gu:=z:
gu1:=x+z*(gu-subs(x=0,gu))^2+z*diff(gu,x):
gu1:=add(coeff(gu1,z,i)*z^i,i=0..2*d+2):
while gu<>gu1 do
gu2:=expand(x+z*(gu1-subs(x=0,gu1))^2+z*diff(gu1,x)):
gu2:=add(coeff(gu2,z,i)*z^i,i=0..2*d+2):
gu:=gu1:
gu1:=gu2:
od:
[seq(coeff(gu1,z,2*i+1),i=0..d)]:
end:
NZ:=proc(d) local x,gu:
gu:=NZx(x,d):
subs(x=0,[seq(coeff(gu1,z,2*i+1),i=0..d)]):
end:
NoamZ:=proc(d) local gu,ope,eq,z,lu,vu,P,i,N, n,lu1:
gu:=NZ(d):
print(`The first `, d+1, `terms in Noam Zeilberger's sequence counting closed indecomposable linear lambda terms, as well as`):
print(`closed bridgeless rooted trivalent maps (on oriented surfaces of arbitrary genus) are `):
lprint(gu):
ope:=Findrec(gu,n,N,14):
if ope=FAIL then
print(`no recurrence with ploynomial coefficients was found, we need more terms, or may be there is none`):
else
print(`a recurrence is`):
lprint(ope):
fi:
eq:=Empir(gu,z,P):
if eq=FAIL then
print(`no algebraic equation was found, we need more terms, or may be there is none`):
else
print(`an algebraic equation is`):
lprint(ope):
fi:
print(`Dividing the sequence by n! we get the new sequence `):
lu:=[seq(gu[i]/(i-1)!,i=1..nops(gu))]:
vu:=Zinn(lu):
print(`A heuristic asymptotic is mu^n*n^theta , where`):
print(`mu is approximately`, vu[2]):
print(`and theta is approximately`, vu[1]):
lu1:=[op(1..nops(lu)-2,lu)]:
print(`To see how good it is ,the analogous values for the sequence with two less terms is`, Zinn(lu1)):
end: