Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #33 Sep 27 2024 05:43:13
%S 1,1,2,2,4,3,6,4,8,7,8,6,14,7,12,10,16,9,20,10,18,16,18,12,30,13,20,
%T 20,28,15,30,16,32,24,26,20,46,19,30,26,38,21,48,22,42,33,36,24,62,29,
%U 38,34,46,27,60,30,60,40,44,30,70,31,48,52,64,33,72,34,60,48,60
%N Number of inequivalent sublattices of index n in a square lattice, where two sublattices are considered equivalent if one can be rotated to give the other.
%C If reflections are allowed, we get A054346. If only rotations that preserve the parent square lattice are allowed, we get A145392. The analog for a hexagonal lattice is A054384.
%H Andrey Zabolotskiy, <a href="/A054345/b054345.txt">Table of n, a(n) for n = 0..1000</a>
%H Daejun Kim, Seok Hyeong Lee, and Seungjai Lee, <a href="https://arxiv.org/abs/2409.05625">Zeta functions enumerating subforms of quadratic forms</a>, arXiv:2409.05625 [math.NT], 2024. See section 6.2 for the Dirichlet g.f. zeta^SL_{x^2+y^2}(s).
%H John S. Rutherford, <a href="https://doi.org/10.1107/S010876730804333X">Sublattice enumeration. IV. Equivalence classes of plane sublattices by parent Patterson symmetry and colour lattice group type</a>, Acta Cryst. (2009). A65, 156-163. - From _N. J. A. Sloane_, Feb 23 2009
%H Andrey Zabolotskiy, <a href="/A145392/a145392.pdf">Sublattices of the square lattice</a> (illustrations for n = 1..6, 15, 25).
%H <a href="/index/Su#sublatts">Index entries for sequences related to sublattices</a>
%H <a href="/index/Sq#sqlatt">Index entries for sequences related to square lattice</a>
%e For n = 1, 2, 3, 4 the sublattices are generated by the rows of:
%e [1 0] [2 0] [2 0] [3 0] [3 0] [4 0] [4 0] [2 0] [2 0]
%e [0 1] [0 1] [1 1] [0 1] [1 1] [0 1] [1 1] [0 2] [1 2].
%o (SageMath)
%o # see A159842 for the definitions of dc, fin, u, N
%o def ff(m, k1, minus = True):
%o def f(n):
%o if n == 1: return 1
%o r = 1
%o for (p, k) in factor(n):
%o if p % 4 != m or k1 and k > 1: return 0
%o if minus: r *= (-1)**k
%o return r
%o return f
%o f1, f2, f3 = ff(1, True), ff(1, True, False), ff(3, False)
%o def a_SL(n):
%o return (dc(u, N, f1)(n) + dc(u, f3)(n)) / 2
%o print([a_SL(n) for n in range(1, 100)]) # _Andrey Zabolotskiy_, Sep 22 2024
%Y Cf. A003051, A001615, A054346, A054384, A145392.
%K nonn,easy,nice
%O 0,3
%A _N. J. A. Sloane_, May 06 2000