login
Array read by descending antidiagonals: T(n,k) is the number of unoriented colorings of the edges of a regular n-dimensional orthoplex (cross polytope) using k or fewer colors.
9

%I #15 Aug 28 2020 06:05:20

%S 1,2,1,3,6,1,4,21,144,1,5,55,12111,49127,1,6,120,358120,740360358,

%T 293122232,1,7,231,5131650,733776248840,3168520600399659,

%U 25174334733080,1,8,406,45528756,155261523065875,314848558732420555904,920040738175691418086226,30035285091978202824,1

%N Array read by descending antidiagonals: T(n,k) is the number of unoriented colorings of the edges of a regular n-dimensional orthoplex (cross polytope) using k or fewer colors.

%C Each chiral pair is counted as one when enumerating unoriented arrangements. 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 an octahedron with 12 edges. The number of edges is 2n*(n-1) for n>1.

%C Also the number of unoriented colorings of the regular (n-2)-dimensional orthotopes (hypercubes) in a regular n-dimensional orthotope.

%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) = A337411(n,k) - A337413(n,k) = (A337411(n,k) + A337414(n,k)) / 2 = A337413(n,k) + A337414(n,k).

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

%e 1 2 3 4 5 6 7 8 9 ...

%e 1 6 21 55 120 231 406 666 1035 ...

%e 1 144 12111 358120 5131650 45528756 288936634 1433251296 5887880415 ...

%e For T(2,2)=6, the arrangements are AAAA, AAAB, AABB, ABAB, ABBB, and BBBB.

%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 + 2 x^(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, m+1]];

%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}]; 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[m]=b;

%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,8}, {n,m,d+m-1}] // Flatten

%Y Cf. A337411 (oriented), A337413 (chiral), A337414 (achiral).

%Y Rows 1-4 are A000027, A002817, A199406, A331355.

%Y Cf. A327084 (simplex edges), A337408 (orthotope edges), A325005 (orthoplex vertices).

%K nonn,tabl

%O 1,2

%A _Robert A. Russell_, Aug 26 2020