OFFSET
1,2
COMMENTS
We define a toroidal necklace to be an equivalence class of matrices under all possible rotations of the sequence of rows and the sequence of columns. Alternatively, a toroidal necklace is a matrix that is minimal among all possible rotations of its sequence of rows and its sequence of columns.
LINKS
Andrew Howroyd, Table of n, a(n) for n = 1..200
S. N. Ethier, Counting toroidal binary arrays, J. Int. Seq. 16 (2013) #13.4.7.
EXAMPLE
The a(3) = 10 toroidal necklaces:
[1 2 3] [1 3 2] [1 2 2] [1 1 2] [1 1 1]
.
[1] [1] [1] [1] [1]
[2] [3] [2] [1] [1]
[3] [2] [2] [2] [1]
MATHEMATICA
sps[{}]:={{}}; sps[set:{i_, ___}]:=Join@@Function[s, Prepend[#, s]&/@sps[Complement[set, s]]]/@Cases[Subsets[set], {i, ___}];
nrmmats[n_]:=Join@@Table[Table[Table[Position[stn, {i, j}][[1, 1]], {i, d}, {j, n/d}], {stn, Join@@Permutations/@sps[Tuples[{Range[d], Range[n/d]}]]}], {d, Divisors[n]}];
neckmatQ[m_]:=m==First[Union@@Table[RotateLeft[m, {i, j}], {i, Length[m]}, {j, Length[First[m]]}]];
Table[Length[Select[nrmmats[n], neckmatQ]], {n, 6}]
PROG
(PARI)
U(n, m, k) = (1/(n*m)) * sumdiv(n, c, sumdiv(m, d, eulerphi(c) * eulerphi(d) * k^(n*m/lcm(c, d))));
R(v)={sum(n=1, #v, sum(k=1, n, (-1)^(n-k)*binomial(n, k)*v[k]))}
a(n)={if(n < 1, n==0, R(vector(n, k, sumdiv(n, d, U(d, n/d, k))) ))} \\ Andrew Howroyd, Aug 18 2019
CROSSREFS
KEYWORD
nonn
AUTHOR
Gus Wiseman, Feb 04 2019
EXTENSIONS
Terms a(9) and beyond from Andrew Howroyd, Aug 18 2019
STATUS
approved