%I #13 Mar 31 2023 14:42:11
%S 1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,7,15,1,1,1,1,10,71,105,1,1,1,1,42,
%T 280,1001,945,1,1,1,1,115,3660,15400,18089,10395,1,1,1,1,35,20365,
%U 614040,1401400,398959,135135,1,1
%N Square array read by antidiagonals upwards: T(n,k), n>=0, k>=0, is the number of ways of choosing nonnegative numbers for k indistinguishable A063008(n)-sided dice so that it is possible to roll every number from 0 to (A063008(n))^k-1.
%C The number of configurations depends on the number of sides on the dice only through its prime signature. A063008 provides a canonical representative of each prime signature.
%C Also the number of Krasner factorizations of (x^(A063008(n))^k)-1) / (x-1) into k polynomials each having A063008(n) nonzero terms all with coefficient +1. (Krasner and Ranulac, 1937)
%H M. Krasner and B. Ranulac, <a href="https://gallica.bnf.fr/ark:/12148/bpt6k31562/f397.item">Sur une propriété des polynomes de la division du cercle</a>, Comptes Rendus Académie des Sciences Paris, 240:397-399, 1937.
%H Matthew C. Lettington and Karl Michael Schmidt, <a href="https://arxiv.org/abs/1910.02455">Divisor Functions and the Number of Sum Systems</a>, arXiv:1910.02455 [math.NT], 2019.
%F T(n,k) = f(A063008(n),k), where f(n,k) is the table given by A360098.
%e A063008(2) = 4. There are 3 ways to assign numbers to two 4-sided dice:
%e {{0, 1, 2, 3}, {0, 4, 8, 12}},
%e {{0, 1, 8, 9}, {0, 2, 4, 6}},
%e {{0, 1, 4, 5}, {0, 2, 8, 10}}.
%e The table begins:
%e 1 1 1 1 1 1 1 ...
%e 1 1 1 1 1 1 1 ...
%e 1 1 3 15 105 945 10395 ...
%e 1 1 7 71 1001 18089 398959 ...
%e 1 1 10 280 15400 1401400 190590400 ...
%e 1 1 42 3660 614040 169200360 69444920160 ...
%e 1 1 115 20365 6891361 3815893741 3141782433931 ...
%e 1 1 35 5775 2627625 2546168625 4509264634875 ...
%e 1 1 230 160440 299145000 1175153779800 8396156461492800 ...
%e ...
%e The rows shown enumerate configurations for dice of 1, 2, 4, 6, 8, 12, 30, 16, and 24 sides, which represent the prime signatures {}, {1}, {2}, {1,1}, {3}, {2,1}, {1,1,1}, {4}, and {3,1}.
%o (SageMath)
%o @cached_function
%o def r(i,M):
%o kminus1 = len(M)
%o u = tuple([1 for j in range(kminus1)])
%o if i > 1 and M == u:
%o return(1)
%o elif M != u:
%o divList = divisors(i)[:-1]
%o return(sum(r(M[j],tuple(sorted(M[:j]+tuple([d])+M[j+1:])))\
%o for d in divList for j in range(kminus1)))
%o def f(n,k):
%o if n == 1 or k == 0:
%o return(1)
%o else:
%o return(r(n,tuple([n for j in range(k-1)]))) / factorial(k-1)
%o # The following function produces the top left corner of the table:
%o def TArray(maxn,maxk):
%o retArray = []
%o primesList = []
%o ptnSum = 0
%o ptnItr = Partitions(ptnSum)
%o ptn = ptnItr.first()
%o n = 0
%o while n <= maxn:
%o if ptn == None:
%o primesList.append(Primes()[ptnSum])
%o ptnSum = ptnSum + 1
%o ptnItr = Partitions(ptnSum)
%o ptn = ptnItr.first()
%o prdct = prod(primesList[j]^ptn[j] for j in range(len(ptn)))
%o retArray.append([f(prdct,k) for k in range(maxk+1)])
%o n = n + 1
%o ptn = ptnItr.next(ptn)
%o return(retArray)
%Y The concatenation of all prime signatures, listed in the order that corresponds to the rows of T(n,k), is A080577.
%Y T(3,k) is |A002119(k)]. Starting with k = 1, T(1,k), T(2,k), T(4,k), and T(7,k) are given by columns 1-4 of A060540.
%Y Row n is row A063008(n) of A360098.
%Y Cf. A273013, A131514.
%K nonn,tabl
%O 0,13
%A _William P. Orrick_, Feb 19 2023