%I #24 Jun 14 2020 03:50:12
%S 1,1,1,1,2,1,1,9,9,3,1,16,72,48,12,1,25,200,600,300,60,1,36,450,2400,
%T 5400,2160,360,1,49,882,7350,29400,52920,17640,2520,1,64,1568,18816,
%U 117600,376320,564480,161280,20160,1,81,2592,42336,381024,1905120,5080320,6531840,1632960,181440
%N Triangle read by rows: T(n,k) (0 <= k <= n) = number of elements of alternating semigroup A_n of height k.
%C T(n,1) = A000290(n) for n>0, except T(2,1) which equals 2. - _Indranil Ghosh_, Mar 16 2017
%H Indranil Ghosh, <a href="/A283321/b283321.txt">Rows 0..100, flattened</a>
%H G. N. Bakare, S. O. Makanjuola, <a href="http://kwsman.com/articles/Revised%20Bakare.pdf">Some Results on Properties of Alternating Semigroups</a>, Nigerian Journal of Mathematics and Applications Volume 24,(2015), 184-192.
%F Bakare et al. give a formula, see Theorem 3.2.
%e Triangle begins:
%e 1,
%e 1,1,
%e 1,2,1,
%e 1,9,9,3,
%e 1,16,72,48,12,
%e 1,25,200,600,300,60,
%e 1,36,450,2400,5400,2160,360,
%e ...
%t T[n_, k_]:=If[k==n, (n!/2), If[k==n - 1, n^2*(n - 1)!/2, Binomial[n,k]^2 * k!]]; Column[Table[If[n<2, 1, T[n, k]], {n, 0, 10}, {k, 0, n}]] (* _Indranil Ghosh_, Mar 16 2017 *)
%o (PARI) T(n,k) = if(k==n, (n!/2), if(k==n - 1, n^2*(n - 1)!/2, binomial(n, k)^2 * k!));
%o tabl(nn) = {for(n=0, nn, for(k=0, n, print1(if(n<2, 1, T(n,k)),", ");); print(););};
%o tabl(10); \\ _Indranil Ghosh_, Mar 16 2017
%o (Python)
%o from sympy import binomial, factorial
%o def T(n,k):
%o if k==n: return factorial(n)//2
%o elif k==n-1: return n**2 * factorial(n - 1) // 2
%o else: return binomial(n, k)**2 * factorial(k)
%o i = 0
%o for n in range(10):
%o for k in range(n + 1):
%o if n < 2: print("1")
%o else: print(T(n, k))
%o i += 1 # _Indranil Ghosh_, Mar 16 2017
%Y Cf. A000290, For row sums see A283322.
%K nonn,tabl
%O 0,5
%A _N. J. A. Sloane_, Mar 15 2017
|