%I #25 Jul 24 2023 04:53:42
%S 1,3,2,6,10,6,10,28,54,24,15,60,214,402,120,21,110,594,2348,3810,720,
%T 28,182,1334,8556,32808,43776,5040,36,280,2614
%N Table T(n,k) read by upward antidiagonals. T(n,k) is the minimum value of Sum_{i=1..n} Product_{j=1..k} r[(i-1)*k+j] among all permutations r of {1..kn}.
%C k 1 2 3 4 5 6 7 8 9 10 11 12
%C ---------------------------------------------------------------------------------
%C n 1| 1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600
%C 2| 3 10 54 402 3810 43776
%C 3| 6 28 214 2348 32808
%C 4| 10 60 594 8556
%C 5| 15 110 1334
%C 6| 21 182 2614
%C 7| 28 280
%C 8| 36 408
%C 9| 45 570
%C 10| 55 770
%H Chai Wah Wu, <a href="https://arxiv.org/abs/2002.10514">On rearrangement inequalities for multiple sequences</a>, arXiv:2002.10514 [math.CO], 2020-2022.
%F T(n,k) >= ceiling(n*((kn)!)^(1/n)).
%F T(n,1) = n*(n+1)/2 = A000217(n).
%F T(1,k) = k! = A000142(k).
%F T(n,3) = A072368(n).
%F T(n,2) = n*(n+1)*(2*n+1)/3 = A006331(n).
%o (Python)
%o from itertools import combinations, permutations
%o from sympy import factorial
%o def T(n,k): # T(n,k) for A331889
%o if k == 1:
%o return n*(n+1)//2
%o if n == 1:
%o return int(factorial(k))
%o if k == 2:
%o return n*(n+1)*(2*n+1)//3
%o nk = n*k
%o nktuple = tuple(range(1,nk+1))
%o nkset = set(nktuple)
%o count = int(factorial(nk))
%o for firsttuple in combinations(nktuple,n):
%o nexttupleset = nkset-set(firsttuple)
%o for s in permutations(sorted(nexttupleset),nk-2*n):
%o llist = sorted(nexttupleset-set(s),reverse=True)
%o t = list(firsttuple)
%o for i in range(0,k-2):
%o itn = i*n
%o for j in range(n):
%o t[j] *= s[itn+j]
%o t.sort()
%o v = 0
%o for i in range(n):
%o v += llist[i]*t[i]
%o if v < count:
%o count = v
%o return count
%Y Cf. A000142, A000217, A006331, A072368.
%K nonn,more,tabl
%O 1,2
%A _Chai Wah Wu_, Mar 20 2020