OFFSET
1,2
COMMENTS
When transposed, displayed as an upper right triangle, the first line g = 0 of the table gives the number of immersions of a circle with n double points in a sphere (spherical curves) starting with n=1, the second line g = 1 gives immersions in a torus, etc.
Row g=0 is A008987 starting with n = 1.
For g > 0 the immersions are understood up to stable geotopy equivalence (the counted curves cannot be immersed in a surface of smaller genus). - Robert Coquereaux, Nov 23 2015
LINKS
R. Coquereaux and J.-B. Zuber, Maps, immersions and permutations, arXiv:1507.03163 [math.CO], 2015, Table 9.
EXAMPLE
The transposed triangle starts:
1 2 6 21 99 588 3829 27404 206543
1 6 64 559 5656 56528 581511 6020787
1 36 772 14544 246092 3900698 58838383
0 108 7222 277114 8180123 203964446
0 0 34680 3534038 198551464
0 0 0 22521600
0 0 0
0 0
PROG
(Magma) /* Example n := 6 */
n:=6;
n; // n: number of crossings
G:=Sym(2*n);
doubleG := Sym(4*n);
genH:={};
for j in [1..(n-1)] do v := G!(1, 2*j+1)(2, 2*j+2); Include(~genH, v) ; end for;
H := PermutationGroup< 2*n |genH>; // The H=S(n) subgroup of S(2n)
cardH:=#H;
cardH;
rho:=Identity(G); for j in [0..(n-1)] do v := G!(2*j+1, 2*j+2) ; rho := rho*v ; end for;
cycrho := PermutationGroup< 2*n |{rho}>; // The cyclic subgroup Z2 generated by rho (mirroring)
Hcycrho:=sub<G|[H, cycrho]>; // The subgroup generated by H and cycrho
cardZp:= Factorial(2*n-1);
beta:=G!Append([2..2*n], 1); // A typical circular permutation
Cbeta:=Centralizer(G, beta);
bool, rever := IsConjugate(G, beta, beta^(-1));
cycbeta := PermutationGroup< 2*n |{rever}>;
Cbetarev := sub<G|[Cbeta, cycbeta]>;
psifct := function(per);
perinv:=per^(-1);
res:= [IsOdd(j) select (j+1)^per else j-1 + 2*n : j in [1..2*n] ];
resbis := [IsOdd((j-2*n)^perinv) select (j-2*n)^perinv +1 +2*n else ((j-2*n)^perinv -1)^per : j in [2*n+1..4*n] ];
res cat:= resbis;
return doubleG!res;
end function;
numberofcycles := function(per); ess := CycleStructure(per); return &+[ess[i, 2]: i in [1..#ess]]; end function;
supernumberofcycles := function(per); return numberofcycles(psifct(per)) ; end function;
// result given as a list genuslist (n+2-2g)^^multiplicity where g is the genus
// Case UO
dbl, dblsize := DoubleCosetRepresentatives(G, H, Cbetarev); #dblsize;
genuslist := {* supernumberofcycles(beta^(dbl[j]^(-1))) : j in [1..#dblsize] *}; genuslist;
quit;
# Robert Coquereaux, Nov 23 2015
CROSSREFS
KEYWORD
AUTHOR
Robert Coquereaux, Aug 01 2015
STATUS
approved