Checks for triangulations
> | # check planar (oeis says ok)
seq(triFacesGenus(k,0),k=1..10); |
(4.2.1) |
> | # check projective plane (oeis says ok)
seq(triFacesGenus(k,1/2),k=1..10);; |
(4.2.2) |
> | # check torus+klein
#(oeis says kleinOEIS := [ 6, 174, 4236, 97134, 2163636, 47394444, 1027091736, 22094309934, 472740763236, 10074173087364]: torusOEIS := [1, 28, 664, 14912, 326496, 7048192, 150820608, 3208396800, 67968706048, 1435486650368, 30246600953856, 636154755940352, 13360333295173632, 280258138588839936, 5873204471357374464, 122980760637407232000, 2573349967992101142528, 53815038103588370907136]: seq(%[i]+%%[i],i=1..8); seq(triFacesGenus(k,1),k=1..8); |
(4.2.3) |
> | ### Check one-vertex triangulations (dual = one-face cubic)
# Known formulas for 1-face rooted precubic maps of genus g with m non-root leaves # ori: orientable, nori=not orientable # explicit formula from [Chapuy PTRF 2010] ori:=proc(g,m); if not g::integer then 0; else 1/2^g/g!*(m+3*g)!/(m)!/(3!)^g*eval(subs(N=m+3*g-1,1/(N+1)*binomial(2*N,N))): fi: end: # Main recurrence from [Bernardi Chapuy 2012] nori:=proc(g,m); if g<0 then return 0 fi: if g=1/2 then return 4^(m); fi: if g=0 then 0; else 1/(2*g-1)* (4*binomial(m+3,3)*nori(g-1,m+3)+3*binomial(m+3,3)*ori(g-1,m+3)); fi; end: seq(ori(g/2,0)+nori(g/2,0),g=1..12); seq(tri(2*g/2-1,g/2),g=1..12); |
(4.2.4) |
> | #Check: total number of maps of size n, regardless of genus or other parameters
# we make an exponential generating function add(triFaces(n)*t^(n)/12/n,n=1..15): series(exp(subs(u=1,z=1,%)),t=0,15); # This can be encoded by gluing matchings and we have an explicit formula: 1+add((6*n)!/(2*n)!/(3*n)!/4^n/3^(2*n)*t^(n),n=1..15): series(%-%%,t=0,48); |
(4.2.5) |