The case of maps via the quadrangulation approach (Thm 1.1 and Thm 5.2)
> | # This is the explicit (non-polynomial) recurrence to compute the numbers of maps by edges and genus
# obtained from BKP with shifts. This is Thm 1.1 in the paper. Hng:= proc(N,G) option remember; # Initial conditions if N<0 or G<0 or 2*G>N then return 0: elif G=0 and N=0 then return 1; elif G=0 and N=1 then return 2; elif G=0 and N=2 then return 9; elif G=1/2 and N=1 then return 1; elif G=1/2 and N=2 then return 10; elif G=1 and N=2 then return 5; # main case else return 2/(N+1)/(N-2) * ( N*(2*N-1)*( 2*Hng(N-1,G) + Hng(N-1,G-1/2) ) +(2*N-3)*(2*N-2)*(2*N-1)*(2*N)/2*Hng(N-2,G-1) +12*add(add(((2*(N-n1)-1)/2*Hng(N-n1-1,(2*G-G1)/2)*(2*n1-1)*(2*n1)/2*Hng(n1-1,G1/2)),G1=0..2*G),n1=0..N) -add(add(add(binomial(n1+2-2*G0/2,n1-2*G1/2)*(2)^(2+2*(G1/2-G0/2))*(1+(-1)^(2*(G0/2-G1/2)))/2*Hng(n1,G0/2) ,G0=0..G1)* ((2*(N-n1)-1)*(2*(N-n1)-2)*(2*(N-n1)-3)/2*Hng((N-n1)-2,(G-G1/2)-1) ###### the term on the next line has to be excluded from the sum if n1=0 and G1=2 so we use Hngexclude +((n1-N-1)/4*Hngexclude((N-n1),(G-G1/2),N,G) ) -3*(2*(N-n1)-1)/6*( - 2*Hng((N-n1)-1,(G-G1/2)) - Hng((N-n1)-1,(G-G1/2)-1/2) ) +6*add(add( (2*n3-1)*Hng(n3-1,G3/2)/2*(2*((N-n1)-n3)-1)/2*Hng(((N-n1)-n3)-1,(2*(G-G1/2)-G3)/2) ,n3=0..N-n1), G3=0..2*(G-G1/2))) ,G1=0..2*G),n1=0..N-1)) ; fi: end: # needed to exclude the top term from the sum corresponds to the term with Kronecker symbol in the paper Hngexclude:=proc(N,G,Nexclude, Gexclude) if N=Nexclude and G=Gexclude then return 0; else return Hng(N,G); fi; end: |
> | # Example: maps of genus 7/2 with 14 edges
Hng(14,7/2); |
(2.1.1) |
> | # This is the explicit (non-polynomial) recurrence to compute the numbers of maps by edges and genus
# and with a weight u/z per vertices/faces. This is Thm 5.2 in the paper. HngW:= proc(N,G) option remember; # Initial conditions if N<0 or G<0 or 2*G>N then return 0: elif G=0 and N=0 then return u*z; elif G=0 and N=1 then return (u+z)*u*z; elif G=0 and N=2 then return u*z*(u+2*z)*(2*u+z); elif G=1/2 and N=1 then return u*z; elif G=1/2 and N=2 then return 5*u*z*(u+z); elif G=1 and N=2 then return 5*u*z; # Main case else return factor(2/(N^2-N-2) *( N*(2*N-1)*( (u+z)*HngW(N-1,G) + HngW(N-1,G-1/2) ) + (2*N-3)*(2*N-2)*(2*N-1)*(2*N)/2*HngW(N-2,G-1) + 12*add(add( (2*(N-n1)-1)/2*HngW(N-n1-1,(2*G-G1)/2)*(2*n1-1)*(2*n1)/2*HngW(n1-1,G1/2) ,G1=0..2*G),n1=0..N) -add(add(add(add(Qijg(p,n1-2*G0/2+2-p,G0/2)*(2^(2+2*G1/2-2*G0/2)*phi(p,n1-2*G0/2+2-p,n1-2*G1/2,r,s))*(1+(-1)^(G1-G0))/2 ,p=1..n1-2*G0/2+2-1),G0=0..G1) *( (2*(N-n1)-1)*(2*(N-n1)-2)*(2*(N-n1)-3)/2*HngW((N-n1)-2,(G-G1/2)-1) ###### (**) the term on the next line has to be excluded in certain cases so we use Qngexclude +( (n1-N-1)/4*HngWexclude((N-n1),(G-G1/2),N,G) ) -3*(2*(N-n1)-1)/6*( - (u+z)*HngW((N-n1)-1,(G-G1/2)) - HngW((N-n1)-1,(G-G1/2)-1/2) ) +6*add(add( (2*n3-1)*HngW(n3-1,G3/2)/2*(2*((N-n1)-n3)-1)/2*HngW(((N-n1)-n3)-1,(2*(G-G1/2)-G3)/2),n3=0..N-n1),G3=0..2*(G-G1/2)) ) ,G1=0..2*G),n1=0..N-1) )); fi: end: # needed to exclude the top term from the sum HngWexclude:=proc(N,G,Nexclude, Gexclude) if N=Nexclude and G=Gexclude then return 0; else return HngW(N,G); fi; end: # maps by vertices/faces/genus Qijg:=proc(i,j,G) option remember; return coeff(coeff(HngW(i+j+2*G-2,G),u,i),z,j); end: #auxiliary function phi:=proc(p,q,m,r,s) option remember; return add(binomial(p,i)*binomial(q,m-i)*u^i*z^(m-i),i=0..m); end: |
> | # Example: maps of genus 7/2 with 14 edges, by vertices and faces
HngW(14,7/2); subs(u=1,z=1,%); |
(2.1.2) |