Documentation

TauCeti.Algebra.Module.ZLattice.Shell

Shells and representation numbers of a lattice #

For a ℤ-submodule L of a real normed space E and a real number t, the shell of squared norm t is the set of lattice vectors

shell L t = {v ∈ L | ‖v‖² = t},

and the representation number r_L(t) is its cardinality. More generally, for γ : E the shell of the translate γ + L is cosetShell L γ t = {v ∈ L | ‖γ + v‖² = t}, with cardinality r_{γ+L}(t). In a real inner product space these are the counts that the theta series Θ_L(τ) = ∑_{v ∈ L} e^{π i ‖v‖² τ} and the coset theta series θ_{γ+L} expand: grouping the terms by squared norm, r_L(t) is the coefficient of e^{π i t τ}. That identification is made in TauCeti.NumberTheory.ModularForms.ThetaSeries.QExpansion.

The shells are sets with a finiteness theorem rather than Finsets, since membership is not decidable and the finiteness is the content: for a discrete L in a proper space, such as a finite-dimensional real normed space, every shell lies in a closed ball, which meets L in finitely many points.

This file proves that every shell is finite and that only finitely many squared norms up to any bound are represented, that r_L(0) = 1 and that negative numbers are not represented; that the representation numbers of a translate depend only on its coset (and so descend to DiscriminantGroup L), are unchanged by γ ↦ -γ, and are invariant under linear isometries; that an even lattice represents only even natural numbers and an integral lattice only natural numbers, and that for an even lattice L and γ ∈ L^∨ the translate γ + L represents only numbers congruent to ‖γ‖² modulo 2; and that for a full lattice L in a real normed space of dimension n the representation numbers grow at most like t^{n/2}, from the count of lattice points in a ball, which is O(R^n) (ZLattice.ncard_closedBall_inter_isBigO).

Main definitions #

Main statements #

References #

Shells and representation numbers #

def ZLattice.shell {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (t : ℝ) :
Set E

The shell of squared norm t of L: the vectors v ∈ L with ‖v‖² = t. It is finite when L is discrete in a proper space (ZLattice.finite_shell).

Instances For
    noncomputable def ZLattice.representationNumber {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (t : ℝ) :

    The representation number r_L(t): the number of vectors of L of squared norm t. For a discrete L in a proper space every shell is finite, so this is a genuine count.

    Instances For
      def ZLattice.cosetShell {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) (t : ℝ) :
      Set E

      The shell of squared norm t of the translate γ + L: the vectors v ∈ L with ‖γ + v‖² = t. For γ in the dual lattice these are the vectors of the coset γ + L of squared norm t, translated back into L.

      Instances For
        noncomputable def ZLattice.cosetRepresentationNumber {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) (t : ℝ) :

        The representation number r_{γ+L}(t) of the translate γ + L: the number of vectors v ∈ L with ‖γ + v‖² = t.

        Instances For
          @[simp]
          theorem ZLattice.mem_shell {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} {v : E} :
          v ∈ shell L t ↔ v ∈ L ∧ ‖v‖ ^ 2 = t
          @[simp]
          theorem ZLattice.mem_cosetShell {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} {γ v : E} :
          v ∈ cosetShell L γ t ↔ v ∈ L ∧ ‖γ + v‖ ^ 2 = t
          theorem ZLattice.shell_subset {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (t : ℝ) :
          shell L t ⊆ ↑L
          theorem ZLattice.cosetShell_subset {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) (t : ℝ) :
          cosetShell L γ t ⊆ ↑L
          @[simp]
          theorem ZLattice.cosetShell_zero_left {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (t : ℝ) :
          cosetShell L 0 t = shell L t

          The shells of the translate 0 + L are the shells of L.

          @[simp]
          theorem ZLattice.shell_zero {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) :
          shell L 0 = {0}

          The only lattice vector of squared norm 0 is 0.

          @[simp]

          A lattice represents 0 exactly once: r_L(0) = 1.

          theorem ZLattice.cosetShell_eq_empty_of_neg {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) {t : ℝ} (γ : E) (ht : t < 0) :

          No translate of a lattice has a vector of negative squared norm.

          theorem ZLattice.shell_eq_empty_of_neg {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) {t : ℝ} (ht : t < 0) :
          shell L t = ∅

          A lattice has no vector of negative squared norm.

          theorem ZLattice.cosetShell_subset_closedBall {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) (t : ℝ) :
          cosetShell L γ t ⊆ Metric.closedBall (-γ) √t ∩ ↑L

          The shell of squared norm t of γ + L lies in the closed ball of radius √t about -γ.

          theorem ZLattice.shell_subset_closedBall {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (t : ℝ) :
          shell L t ⊆ Metric.closedBall 0 √t ∩ ↑L

          The shell of squared norm t of L lies in the closed ball of radius √t about 0.

          Dependence on the coset #

          theorem ZLattice.cosetShell_add_mem {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) {w : E} (hw : w ∈ L) (t : ℝ) :
          cosetShell L (γ + w) t = (fun (x : E) => x - w) '' cosetShell L γ t

          Translating γ by a lattice vector w translates the shells of γ + L by -w.

          theorem ZLattice.cosetRepresentationNumber_add_mem {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) {w : E} (hw : w ∈ L) (t : ℝ) :

          The representation numbers of γ + L depend only on the coset of γ modulo L.

          Translates by vectors congruent modulo L have the same representation numbers.

          theorem ZLattice.cosetShell_neg {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) (γ : E) (t : ℝ) :
          cosetShell L (-γ) t = -cosetShell L γ t

          Negating γ negates the shells of γ + L.

          @[simp]

          The translates γ + L and -γ + L have the same representation numbers.

          The integer lattice represents zero once, each positive square twice, and no other natural number. These are the coefficients for the period-two expansion.

          Invariance under isometries #

          theorem ZLattice.cosetShell_comap {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedAddCommGroup F] (L : Submodule ℤ E) [NormedSpace ℝ E] [NormedSpace ℝ F] (e : F ≃ₗᵢ[ℝ] E) (γ : F) (t : ℝ) :

          A linear isometry equivalence e carries the shells of the pull-back of L along e to the shells of L.

          @[simp]

          Representation numbers of translates are invariant under linear isometry equivalences.

          A linear isometry equivalence e carries the shells of the pull-back of L along e to the shells of L.

          @[simp]

          Representation numbers are invariant under linear isometry equivalences.

          Finiteness #

          theorem ZLattice.finite_cosetShell {E : Type u_1} [NormedAddCommGroup E] (L : Submodule ℤ E) [ProperSpace E] [DiscreteTopology ↥L] (γ : E) (t : ℝ) :

          The shells of a translate of a discrete subgroup of a proper space are finite.

          The shells of a discrete subgroup of a proper space are finite.

          r_{γ+L}(t) vanishes exactly when the shell is empty.

          r_L(t) vanishes exactly when no lattice vector has squared norm t.

          The represented squared norms up to a bound #

          The squared norms s ≤ t represented by L: the real numbers s ≤ t whose shell in L is nonempty. It is finite when L is discrete in a proper space (ZLattice.finite_representedNormsLE).

          Instances For
            @[simp]

            L represents s ≤ t exactly when some vector of L has squared norm s.

            theorem ZLattice.norm_sq_mem_representedNormsLE {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} {v : E} (hv : v ∈ L) (ht : ‖v‖ ^ 2 ≤ t) :

            The squared norm of a lattice vector of squared norm at most t is represented.

            A discrete subgroup of a proper space represents only finitely many squared norms up to any bound.

            The represented numbers of even and integral lattices #

            theorem ZLattice.IsEven.shell_eq_empty {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} (h : IsEven L) (ht : ¬∃ (m : ℕ), t = 2 * ↑m) :
            shell L t = ∅

            An even lattice only represents even natural numbers.

            theorem ZLattice.IsEven.representationNumber_eq_zero {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} (h : IsEven L) (ht : ¬∃ (m : ℕ), t = 2 * ↑m) :
            theorem ZLattice.IsIntegral.shell_eq_empty {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} [InnerProductSpace ℝ E] (h : IsIntegral L) (ht : ¬∃ (m : ℕ), t = ↑m) :
            shell L t = ∅

            An integral lattice only represents natural numbers.

            theorem ZLattice.IsEven.cosetShell_eq_empty {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} [InnerProductSpace ℝ E] (h : IsEven L) {γ : E} (hγ : γ ∈ dual L) (ht : ¬∃ (j : ℤ), t = ‖γ‖ ^ 2 + 2 * ↑j) :

            For an even lattice L and γ ∈ L^∨, the translate γ + L only represents numbers congruent to ‖γ‖² modulo 2: the half-norm ‖γ‖² / 2 is well defined modulo ℤ on the coset.

            theorem ZLattice.IsEven.cosetRepresentationNumber_eq_zero {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} {t : ℝ} [InnerProductSpace ℝ E] (h : IsEven L) {γ : E} (hγ : γ ∈ dual L) (ht : ¬∃ (j : ℤ), t = ‖γ‖ ^ 2 + 2 * ↑j) :

            For an even lattice L and γ ∈ L^∨, the representation number r_{γ+L}(t) vanishes unless t ∈ ‖γ‖² + 2ℤ.

            theorem ZLattice.IsEven.cosetRepresentationNumber_div_eq_zero_of_not_modEq {E : Type u_1} [NormedAddCommGroup E] {L : Submodule ℤ E} [InnerProductSpace ℝ E] (h : IsEven L) {γ : E} (hγ : γ ∈ dual L) {N : ℕ} (hN : 0 < N) {n : ℤ} (hn : ↑N * ‖γ‖ ^ 2 = 2 * ↑n) {m : ℤ} (hm : ¬m ≡ n [ZMOD ↑N]) :
            cosetRepresentationNumber L γ (2 * ↑m / ↑N) = 0

            For an even lattice L, γ ∈ L^∨ and a positive integer N with N ‖γ‖² = 2 n, the representation number r_{γ+L}(2m / N) vanishes unless m ≡ n (mod N).

            Coset representation numbers on the discriminant group #

            The representation number r_γ(t) = r_{x+L}(t) of a class γ of the discriminant group L^∨ ⧸ (L ∩ L^∨): the number of vectors v ∈ L with ‖x + v‖² = t, for any representative x ∈ L^∨ of γ (cosetRepresentationNumberClass_mk).

            Instances For
              @[simp]

              At the zero class of DiscriminantGroup L, the coset representation number is r_L(t).

              A nonzero class in DiscriminantGroup L does not represent squared norm 0.

              @[simp]

              Opposite classes in DiscriminantGroup L have the same representation numbers.

              No class of DiscriminantGroup L represents a negative squared norm.

              Growth of the representation numbers #

              The representation numbers of a full lattice in a real normed space of dimension n grow at most like t^{n/2}: r_L(t) = O(t^{n/2}) as t → ∞.