A325015 Array read by descending antidiagonals: T(n,k) is the number of achiral colorings of the facets of a regular n-dimensional orthoplex using up to k colors.
1, 2, 1, 3, 6, 1, 4, 18, 21, 1, 5, 40, 201, 308, 1, 6, 75, 1076, 34128, 180342, 1, 7, 126, 4025, 1056576, 2945136213, 366975285216, 1, 8, 196, 11901, 15303750, 2932338749408, 103863386269870076808, 10316179427644325573474464, 1
Offset: 1
Examples
Array begins with T(1,1): 1 2 3 4 5 6 7 8 ... 1 6 18 40 75 126 196 288 ... 1 21 201 1076 4025 11901 29841 66256 ... 1 308 34128 1056576 15303750 136236276 865711763 4296782848 ... ... For T(2,2)=6, two squares have all edges the same color, two have three edges the same color, one has opposite edges the same color, and one has opposite edges different colors.
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.
- Wikipedia, Cross-polytope
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[(CI1[#] 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.
T(n,k) = 2*A325013(n,k) - A325012(n,k) = A325012(n,k) - 2*A325014(n,k) = A325013(n,k) - A325014(n,k).
T(n,k) = Sum_{j=1..3*2^(n-2)} A325019(n,j) * binomial(k,j).
Comments