Documentation

Atlas.EllipticCurves.code.Lattice

@[reducible, inline]

A complex lattice is identified with a PeriodPair: a pair (ω₁, ω₂) of complex numbers that are linearly independent over , generating a rank-2 -lattice in .

Instances For
    def ComplexLattice.mk' (ω₁ ω₂ : ) (h : LinearIndependent ![ω₁, ω₂]) :

    Construct a complex lattice from two periods ω₁, ω₂ : ℂ together with a proof that they are linearly independent over .

    Instances For

      The two periods ω₁, ω₂ of a complex lattice are linearly independent over .

      theorem ComplexLattice.mem_lattice_iff (L : ComplexLattice) {x : } :
      x PeriodPair.lattice L ∃ (n₁ : ) (n₂ : ), n₁ * L.ω₁ + n₂ * L.ω₂ = x

      A complex number x lies in the lattice L iff it has an integer expression n₁ ω₁ + n₂ ω₂ in terms of the lattice's periods.

      The first period ω₁ belongs to the lattice L.

      The second period ω₂ belongs to the lattice L.

      The subgroup underlying a complex lattice carries the discrete topology induced from .

      A complex lattice is a -lattice in (viewed as an -vector space).

      The complex lattice has -rank equal to 2.

      A -basis of the lattice of size 2, given by the two periods of L.

      Instances For

        The -linear equivalence between the lattice L and ℤ × ℤ provided by the basis of periods.

        Instances For

          A complex lattice is a closed subset of .

          The complex lattice viewed as an additive subgroup of .

          Instances For
            theorem ComplexLattice.linearIndependent_int (L : ComplexLattice) (a b : ) :
            a L.ω₁ + b L.ω₂ = 0a = 0 b = 0

            The periods ω₁, ω₂ of a complex lattice are linearly independent over : the only integer combination summing to 0 is the trivial one.

            The lattice as a set: all complex numbers of the form a • ω₁ + b • ω₂ with a, b ∈ ℤ.

            Instances For

              A complex lattice L is normalized if ω₂ / ω₁ lies in the upper half plane, i.e. its imaginary part is positive.

              Instances For

                Two complex lattices L and L' are homothetic if there is a nonzero complex scalar c such that L' (as a set in ) equals c • L.

                Instances For

                  Homothety is reflexive: any lattice is homothetic to itself via the scalar 1.

                  Homothety is symmetric: if L and L' are homothetic via c, they are homothetic via c⁻¹ the other way.

                  theorem ComplexLattice.IsHomothetic.trans {L₁ L₂ L₃ : ComplexLattice} (h₁₂ : L₁.IsHomothetic L₂) (h₂₃ : L₂.IsHomothetic L₃) :
                  L₁.IsHomothetic L₃

                  Homothety is transitive: composing two homotheties yields a homothety.

                  Homothety of complex lattices is an equivalence relation.

                  The discriminant g₂³ - 27·g₃² of the Weierstrass cubic associated to the lattice.

                  Instances For
                    @[simp]

                    Definitional equation for the discriminant of a complex lattice.

                    The j-invariant of a complex lattice, given by 1728 g₂³ / Δ where Δ is the discriminant.

                    Instances For
                      @[simp]

                      Definitional equation for the j-invariant of a complex lattice.

                      The fundamental parallelogram translated by α: the image of the fundamental domain of L under translation by α.

                      Instances For
                        @[simp]

                        When the translation is 0, the fundamental parallelogram coincides with the standard fundamental domain of the lattice.

                        theorem ComplexLattice.basis_repr_omega (L : ComplexLattice) (t₁ t₂ : ) (i : Fin 2) :
                        ((PeriodPair.basis L).repr (t₁ L.ω₁ + t₂ L.ω₂)) i = ![t₁, t₂] i

                        The coordinates of t₁ ω₁ + t₂ ω₂ with respect to the basis (ω₁, ω₂) are exactly t₁ and t₂.

                        theorem ComplexLattice.mem_fundamentalParallelogram_iff (L : ComplexLattice) {α z : } :
                        z L.fundamentalParallelogram α ∃ (t₁ : ) (t₂ : ), 0 t₁ t₁ < 1 0 t₂ t₂ < 1 z = α + t₁ L.ω₁ + t₂ L.ω₂

                        A point z lies in the fundamental parallelogram based at α iff it can be written as α + t₁ ω₁ + t₂ ω₂ with 0 ≤ t₁, t₂ < 1.

                        The quotient ℂ / L is in bijection with the fundamental domain of the lattice: every coset has a unique representative in the fundamental parallelogram.

                        Instances For