login
Array read by descending antidiagonals: T(n,k) is the number of chiral pairs of colorings of the edges of a regular n-dimensional orthotope (hypercube) using k or fewer colors.
9

%I #12 Aug 28 2020 06:05:39

%S 0,0,0,0,0,0,0,3,74,0,0,15,10704,11158298,0,0,45,345640,4825452718593,

%T 314824408633217132928,0,0,105,5062600,48038354542204960,

%U 38491882659952177472606694634030116,136221825854745676076981182469325427379054390050209792,0

%N Array read by descending antidiagonals: T(n,k) is the number of chiral pairs of colorings of the edges of a regular n-dimensional orthotope (hypercube) using k or fewer colors.

%C Each member of a chiral pair is a reflection, but not a rotation, of the other. For n=1, the figure is a line segment with one edge. For n=2, the figure is a square with 4 edges. For n=3, the figure is a cube with 12 edges. The number of edges is n*2^(n-1).

%C Also the number of chiral pairs of colorings of the regular (n-2)-dimensional simplexes in a regular n-dimensional orthoplex.

%H K. Balasubramanian, <a href="https://doi.org/10.33187/jmsm.471940">Computational enumeration of colorings of hyperplanes of hypercubes for all irreducible representations and applications</a>, J. Math. Sci. & Mod. 1 (2018), 158-180.

%F The algorithm used in the Mathematica program below assigns each permutation of the axes to a partition of n and then considers separate conjugacy classes for axis reversals. It uses the formulas in Balasubramanian's paper. If the value of m is increased, one can enumerate colorings of higher-dimensional elements beginning with T(m,1).

%F T(n,k) = A337407(n,k) - A337408(n,k) = (A337407(n,k) - A337410(n,k)) / 2 = A337408(n,k) - A337410(n,k).

%e Table begins with T(1,1):

%e 0 0 0 0 0 0 0 0 0 ...

%e 0 0 3 15 45 105 210 378 630 ...

%e 0 74 10704 345640 5062600 45246810 288005144 1430618784 5881281480 ...

%e For T(2,3)=3, the chiral arrangements are AABC-AACB, ABBC-ACBB, and ABCC-ACCB.

%t m=1; (* dimension of color element, here an edge *)

%t Fi1[p1_] := Module[{g, h}, Coefficient[Product[g = GCD[k1, p1]; h = GCD[2 k1, p1]; (1+2x^(k1/g))^(r1[[k1]] g) If[Divisible[k1, h], 1, (1+2x^(2 k1/h))^(r2[[k1]] h/2)], {k1, Flatten[Position[cs, n1_ /; n1 > 0]]}], x, n-m]];

%t FiSum[] := (Do[Fi2[k2] = Fi1[k2], {k2, Divisors[per]}]; DivisorSum[per, DivisorSum[d1 = #, MoebiusMu[d1/#] Fi2[#] &]/# &]);

%t CCPol[r_List] := (r1 = r; r2 = cs - r1; per = LCM @@ Table[If[cs[[j2]] == r1[[j2]], If[0 == cs[[j2]],1,j2], 2j2], {j2,n}]; If[EvenQ[Sum[If[EvenQ[j3], r1[[j3]], r2[[j3]]], {j3,n}]],1,-1]Times @@ Binomial[cs, r1] 2^(n-Total[cs]) b^FiSum[]);

%t PartPol[p_List] := (cs = Count[p, #]&/@ Range[n]; Total[CCPol[#]&/@ Tuples[Range[0,cs]]]);

%t pc[p_List] := Module[{ci, mb}, mb = DeleteDuplicates[p]; ci = Count[p, #]&/@ mb; n!/(Times@@(ci!) Times@@(mb^ci))] (*partition count*)

%t row[n_Integer] := row[n] = Factor[(Total[(PartPol[#] pc[#])&/@ IntegerPartitions[n]])/(n! 2^n)]

%t array[n_, k_] := row[n] /. b -> k

%t Table[array[n,d+m-n], {d,7}, {n,m,d+m-1}] // Flatten

%Y Cf. A337407 (oriented), A337408 (unoriented), A337410 (achiral).

%Y Rows 2-4 are A050534, A337406, A331360.

%Y Cf. A327085 (simplex edges), A337413 (orthoplex edges), A325014 (orthotope vertices).

%K nonn,tabl

%O 1,8

%A _Robert A. Russell_, Aug 26 2020