login
Number of permutations of [n] determined by their antidiagonal sums.
3

%I #20 Aug 30 2021 21:34:37

%S 1,1,2,4,9,20,49,114,277,665,1608,3875

%N Number of permutations of [n] determined by their antidiagonal sums.

%H C. Bebeacua, T. Mansour, A. Postnikov, and S. Severini, <a href="https://arxiv.org/abs/math/0506334">On the X-rays of permutations</a>, arXiv:math/0506334 [math.CO], 2005.

%H FindStat - Combinatorial Statistic Finder, <a href="http://www.findstat.org/St000886">The number of permutations with the same antidiagonal sums</a>.

%H Martin Rubey, <a href="https://cs.uwaterloo.ca/journals/JIS/VOL24/Rubey/rubey5.html">Alternating Sign Matrices Through X-Rays</a>, J. Int. Seq., Vol. 24 (2021), Article 21.6.5.

%t xray[perm_List] := Module[{P, n = Length[perm]}, P[_, _] = 0; Thread[perm -> Range[n]] /. Rule[i_, j_] :> Set[P[i, j], 1]; Table[Sum[P[i - j + 1, j], {j, Max[1, i - n + 1], Min[i, n]}], {i, 1, 2n - 1}]];

%t a[n_] := xray /@ Permutations[Range[n]] // Tally // Count[#, {_List, 1}]&;

%t Do[Print[n, " ", a[n]], {n, 0, 10}] (* _Jean-François Alcover_, Feb 28 2020 *)

%o (Sage)

%o def X_ray(pi):

%o P = Permutation(pi).to_matrix()

%o n = P.nrows()

%o return tuple(sum(P[k-1-j][j] for j in range(max(0, k-n), min(k,n)))

%o for k in range(1,2*n))

%o @cached_function

%o def X_rays(n):

%o return sorted(X_ray(pi) for pi in Permutations(n))

%o def statistic(pi): return X_rays(pi.size()).count(X_ray(pi))

%o [[statistic(pi) for pi in Permutations(n)].count(1) for n in range(7)]

%Y Cf. A019589, A002047, A290279, A290280.

%K nonn,more

%O 0,3

%A _Martin Rubey_, Jul 16 2017

%E a(8)-a(11) from _Alois P. Heinz_, Jul 24 2017