A169816 Triangle read by rows: T(n,k) is the number of down-up permutations of {1,2,...,n} having genus k.
1, 1, 1, 1, 3, 2, 3, 12, 1, 11, 39, 11, 11, 116, 133, 12, 45, 449, 722, 169, 45, 996, 3857, 2832, 206
Offset: 1
Examples
T(3,1)=1 because 312 is the only down-up permutation of {1,2,3} with genus 1 (we have p=312=(132), cp'=231*231=312=(132) and so g(p) = (1/2)(3+1-1-1) = 1). Triangle starts: 1; 1; 1, 1; 3, 2; 3, 12, 1; 11, 39, 11; 11, 116, 133, 12;
Links
- S. Dulucq and R. Simion, Combinatorial statistics on alternating permutations, J. Algebraic Combinatorics, 8, 1998, 169-191.
Programs
-
Maple
n := 6: with(combinat): descents := proc (p) local A, i: A := {}: for i to nops(p)-1 do if p[i+1] < p[i] then A := `union`(A, {i}) else end if end do: A end proc: DU := proc (n) local du, P, j: du := {}: P := permute(n): for j to factorial(n) do if descents(P[j]) = {seq(2*k-1, k = 1 .. floor((1/2)*n))} then du := `union`(du, {P[j]}) else end if end do: du end proc: inv := proc (p) local j, q: for j to nops(p) do q[p[j]] := j end do: [seq(q[i], i = 1 .. nops(p))] end proc: nrcyc := proc (p) local nrfp, pc: nrfp := proc (p) local ct, j: ct := 0: for j to nops(p) do if p[j] = j then ct := ct+1 else end if end do; ct end proc: pc := convert(p, disjcyc): nops(pc)+nrfp(p) end proc: b := proc (p) local c; c := [seq(i+1, i = 1 .. nops(p)-1), 1]: [seq(c[p[j]], j = 1 .. nops(p))] end proc: gen := proc (p) options operator, arrow: (1/2)*nops(p)+1/2-(1/2)*nrcyc(p)-(1/ 2)*nrcyc(b(inv(p))) end proc: f[n] := sort(add(t^gen(DU(n)[j]), j = 1 .. nops(DU(n)))): seq(coeff(f[n], t, j), j = 0 .. ceil((1/2)*n)-1); # yields the entries of row n (specified at the start of the program)
Extensions
Edited by R. J. Mathar, Jun 08 2010
Comments