%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