OFFSET
1,2
COMMENTS
T(n, k) is the number of n-ary necklaces of length k (see Ruskey, Savage and Wang). - Peter Luschny, Aug 12 2012, comment corrected at the suggestion of Petros Hadjicostas, Peter Luschny, Sep 10 2018
From Petros Hadjicostas, Sep 12 2018: (Start)
The programs by Peter Luschny below can generate all n-ary necklaces of length k (and all k-ary necklaces of length n) for any positive integer values of n and k, not just for 1 <= k <= n.
From the examples below, we see that the number of 4-ary necklaces of length 3 equals the number of 3-ary necklaces of length 4. The question is whether there are other pairs (n, k) of distinct positive integers such that the number of n-ary necklaces of length k equals the number of k-ary necklaces of length n.
(End)
REFERENCES
D. E. Knuth, Generating All Tuples and Permutations. The Art of Computer Programming, Vol. 4, Fascicle 2, Addison-Wesley, 2005.
LINKS
Peter Luschny, Rows 1..45, flattened
H. Fredricksen and I. J. Kessler, An algorithm for generating necklaces of beads in two colors, Discrete Math. 61 (1986), 181-188.
H. Fredricksen and J. Maiorana, Necklaces of beads in k colors and k-ary de Bruijn sequences, Discrete Math. 23(3) (1978), 207-210. Reviewed in MR0523071 (80e:05007).
Peter Luschny, Implementation of the FKM algorithm in SageMath and Julia.
F. Ruskey, C. Savage, and T. M. Y. Wang, Generating necklaces, Journal of Algorithms, 13(3), 1992, 414-430.
FORMULA
T(n,n) = A056665(n). - Peter Luschny, Aug 12 2012
T(n,k) = (1/k)*Sum_{i=1..k} n^gcd(i, k). - Peter Luschny, Sep 10 2018
EXAMPLE
Triangle starts:
1;
2, 3;
3, 6, 11;
4, 10, 24, 70;
5, 15, 45, 165, 629;
6, 21, 76, 336, 1560, 7826;
The 24 necklaces over {0,1,2} of length 4 are:
0000,0001,0002,0011,0012,0021,0022,0101,0102,0111,0112,0121,
0122,0202,0211,0212,0221,0222,1111,1112,1122,1212,1222,2222.
The 24 necklaces over {0,1,2,3} of length 3 are:
000,001,002,003,011,012,013,021,022,023,031,032,
033,111,112,113,122,123,132,133,222,223,233,333.
MAPLE
T := (n, k) -> add(n^igcd(i, k), i=1..k)/k:
seq(seq(T(n, k), k=1..n), n=1..10); # Peter Luschny, Sep 10 2018
MATHEMATICA
T[n_, k_] := 1/k Sum[EulerPhi[d] n^(k/d), {d, Divisors[k]}];
Table[T[n, k], {n, 1, 10}, {k, 1, n}] // Flatten (* Jean-François Alcover, Jul 30 2018 *)
PROG
(Sage)
def A054630(n, k): return (1/k)*add(euler_phi(d)*n^(k/d) for d in divisors(k))
for n in (1..9):
print([A054630(n, k) for k in (1..n)]) # Peter Luschny, Aug 12 2012
(Julia)
A054630(n::Int, k::Int) = div(sum(n^gcd(i, k) for i in 1:k), k)
for n in 1:6
println([A054630(n, k) for k in 1:n])
end # Peter Luschny, Sep 10 2018
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
N. J. A. Sloane, Apr 16 2000, revised Mar 21 2007
STATUS
approved