A325012 Array read by descending antidiagonals: A(n,k) is the number of oriented colorings of the facets of a regular n-dimensional orthoplex using up to k colors.
1, 4, 1, 9, 6, 1, 16, 24, 23, 1, 25, 70, 333, 496, 1, 36, 165, 2916, 230076, 2275974, 1, 49, 336, 16725, 22456756, 965227578201, 800648638402240, 1, 64, 616, 70911, 795467350, 9607713956430560, 149031415906337877339236058, 1054942853799126580390222487977120, 1
Offset: 1
Examples
Array begins with A(1,1): 1 4 9 16 25 36 49 64 ... 1 6 24 70 165 336 616 1044 ... 1 23 333 2916 16725 70911 241913 701968 ... 1 496 230076 22456756 795467350 14697611496 173107727191 1466088119056 ... For A(1,2) = 4, the two achiral colorings use just one of the two colors for both vertices; the chiral pair uses one color for each vertex.
Links
- Robert A. Russell, Table of n, a(n) for n = 1..78
- E. M. Palmer and R. W. Robinson, Enumeration under two representations of the wreath product, Acta Math., 131 (1973), 123-143.
Crossrefs
Programs
-
Mathematica
a48[n_] := a48[n] = DivisorSum[NestWhile[#/2&,n,EvenQ], MoebiusMu[#]2^(n/#)&]/(2n); (* A000048 *) a37[n_] := a37[n] = DivisorSum[n,MoebiusMu[n/#]2^#&]/n; (* A001037 *) CI0[{n_Integer}] := CI0[{n}] = CI[Transpose[If[EvenQ[n], p2 = IntegerExponent[n, 2]; sub = Divisors[n/2^p2]; {2^(p2+1) sub, a48 /@ (2^p2 sub) }, sub = Divisors[n]; {sub, a37 /@ sub}]]] 2^(n-1);(* even perm. *) CI1[{n_Integer}] := CI1[{n}] = CI[sub = Divisors[n]; Transpose[If[EvenQ[n], {sub, a37 /@ sub}, {2 sub, a48 /@ sub}]]] 2^(n-1); (* odd perm. *) compress[x : {{, } ...}] := (s = Sort[x]; For[i = Length[s], i > 1, i -= 1, If[s[[i,1]]==s[[i-1,1]], s[[i-1,2]] += s[[i,2]]; s = Delete[s, i], Null]]; s) cix[{a_, b_}, {c_, d_}] := {LCM[a, c], (a b c d)/LCM[a, c]}; Unprotect[Times]; Times[CI[a_List], CI[b_List]] := (* combine *) CI[compress[Flatten[Outer[cix, a, b, 1], 1]]]; Protect[Times]; CI0[p_List] := CI0[p] = Expand[CI0[Drop[p, -1]] CI0[{Last[p]}] + CI1[Drop[p, -1]] CI1[{Last[p]}]] CI1[p_List] := CI1[p] = Expand[CI0[Drop[p, -1]] CI1[{Last[p]}] + CI1[Drop[p, -1]] CI0[{Last[p]}]] pc[p_List] := Module[{ci,mb},mb = DeleteDuplicates[p]; ci = Count[p, #] & /@ mb; n!/(Times @@ (ci!) Times @@ (mb^ci))] (* partition count *) row[n_Integer] := row[n] = Factor[(Total[(CI0[#] pc[#]) & /@ IntegerPartitions[n]])/(n! 2^(n - 1))] /. CI[l_List] :> j^(Total[l][[2]]) array[n_, k_] := row[n] /. j -> k Table[array[n, d-n+1], {d, 1, 10}, {n, 1, d}] // Flatten
Formula
The algorithm used in the Mathematica program below assigns each permutation of the axes to a partition of n. It then determines the number of permutations for each partition and the cycle index for each partition.
A(n,k) = A325013(n,k) + A325014(n,k) = 2*A325013(n,k) - A325015(n,k) = 2*A325014(n,k) + A325015(n,k).
A(n,k) = Sum_{j=1..2^n} A325016(n,j) * binomial(k,j).
Comments