|
|
A337888
|
|
Array read by descending antidiagonals: T(n,k) is the number of unoriented colorings of the square faces of a regular n-dimensional orthotope (hypercube) using k or fewer colors.
|
|
7
|
|
|
1, 2, 1, 3, 10, 1, 4, 56, 49127, 1, 5, 220, 740360358, 314824532572147370464, 1, 6, 680, 733776248840, 38491882660671134164965704408524083, 38343035259947576596859948806931124970404417593861154473053467181056, 1
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
2,2
|
|
COMMENTS
|
Each chiral pair is counted as one when enumerating unoriented arrangements. Each face is a square bounded by four edges. For n=2, the figure is a square with one face. For n=3, the figure is a cube with 6 faces. For n=4, the figure is a tesseract with 24 faces. The number of faces is 2^(n-2)*C(n,2).
Also the number of unoriented colorings of peaks of an n-dimensional orthoplex. A peak is an (n-3)-dimensional simplex.
|
|
LINKS
|
|
|
FORMULA
|
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).
|
|
EXAMPLE
|
Array begins with T(2,1):
1 2 3 4 5 6 ...
1 10 56 220 680 1771 ...
1 49127 740360358 733776248840 155261523065875 12340612271439081 ...
|
|
MATHEMATICA
|
m=2; (* dimension of color element, here a square face *)
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, n - m]];
FiSum[] := (Do[Fi2[k2] = Fi1[k2], {k2, Divisors[per]}]; DivisorSum[per, DivisorSum[d1 = #, MoebiusMu[d1/#] Fi2[#] &]/# &]);
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[]);
PartPol[p_List] := (cs = Count[p, #]&/@ Range[n]; Total[CCPol[#]&/@ Tuples[Range[0, cs]]]);
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[(PartPol[#] pc[#])&/@ IntegerPartitions[n]])/(n! 2^n)]
array[n_, k_] := row[n] /. b -> k
Table[array[n, d+m-n], {d, 6}, {n, m, d+m-1}] // Flatten
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|