Documentation

TauCeti.NumberTheory.ModularForms.LevelOne.TraceFormula.ExplicitElement.Basic

Popa–Zagier's explicit Hecke element #

Popa and Zagier prove the Eichler–Selberg trace formula with an explicit element of ℛₙ = ℚ[ℳₙ] (written Tₙ with a tilde in their paper), given by their eq. (15) as T₁ - T₂ - T₃ - T₄ with

Here ⟨#⟩ is the sum of the classes of the integral matrices M = (a b; c d) of determinant n satisfying the inequalities #, written in two lines (separated here by ;), each counted with a coefficient c(M) fixed by the inequalities of the first line that are equalities for M: it is 1 if there are none, 1/2 if there is one, and 1/4, 1/3 or 1/6 if there are two and they are independent (A ≤ B, C ≤ D), overlapping (A ≤ B, A ≤ C) or nested (A ≤ B ≤ C). Popa and Zagier represent classes by matrices with c ≥ 0. Every matrix occurring in (15) has c > 0, or c = 0 < a, so at most one of the representatives ±M of a class occurs, and the coefficient of the class of M is the sum of the weights of M and -M.

Main definitions #

Main results #

Implementation notes #

Popa and Zagier define their element by eq. (14) and prove that it equals (15) (Lemma 4(b)); we define it by (15).

The weights are integers, twelve times Popa–Zagier's coefficients, so that identities between them are statements of integer linear arithmetic. Their definitions are exposed (@[expose]) so that other modules can unfold them in such identities and evaluate them by decide +kernel.

The element popaZagierElement k n is 12⁻¹ times the element TauCeti.TraceFormulaMatrixModule.ofWeight built from the integer weight cast to k; when 12 is invertible in k, for instance for k = ℚ, its coefficients are Popa–Zagier's.

References #

The weights #

Twelve times Popa–Zagier's coefficient c(M) for a first line x ≤ y ≤ z: 12, 6 or 2 according as none, one or both of the two (nested) inequalities are equalities, and 0 if the line fails.

Instances For

    Twelve times Popa–Zagier's coefficient c(M) for a first line w ≤ x ≤ y ≤ z: 12 or 6 according as none or one of the three inequalities is an equality, 3 if the outer two are (independent), 2 if two adjacent ones are (nested), and 0 if the line fails. The value when all three are equalities is not covered by the rule; it does not occur in (15).

    Instances For

      A first line x ≤ y ≤ z of nonzero weight holds.

      theorem TauCeti.PopaZagier.le_of_chainWeight₄_ne_zero {w x y z : ℤ} (h : chainWeight₄ w x y z ≠ 0) :
      w ≤ x ∧ x ≤ y ∧ y ≤ z

      A first line w ≤ x ≤ y ≤ z of nonzero weight holds.

      Twelve times the coefficient of (a b; c d) in T₁ = ⟨a - d ≤ -b ≤ c; 0 ≤ c < a⟩.

      Instances For

        Twelve times the coefficient of (a b; c d) in T₂ = ⟨-b ≤ a - d ≤ c; b < d ≤ 0⟩.

        Instances For

          Twelve times the coefficient of (a b; c d) in T₃ = ⟨0 ≤ a - d ≤ c ≤ -b; a ≤ 0 < c⟩.

          Instances For

            Twelve times the coefficient of (a b; c d) in T₄ = ⟨0 ≤ a - d ≤ -b ≤ c; d ≤ 0 < -b⟩.

            Instances For

              Twelve times the coefficient of the matrix M in Popa–Zagier's eq. (15), T₁ - T₂ - T₃ - T₄.

              Instances For
                theorem TauCeti.PopaZagier.weight₂_eq_weight₁ (a b c d : ℤ) :
                weight₂ a b c d = weight₁ (-b) (a + b) (-d) (c + d)

                T₂ = T₁·U: the weight of M = (a b; c d) in T₂ is the weight of M U⁻¹ = (-b, a + b; -d, c + d) in T₁, where U = T S = (1 -1; 1 0).

                Invariance under scaling #

                theorem TauCeti.PopaZagier.weight₃_mul {r : ℤ} (hr : 0 < r) (a b c d : ℤ) :
                weight₃ (r * a) (r * b) (r * c) (r * d) = weight₃ a b c d

                The weight of a matrix in T₃ is invariant under scaling it by a positive integer.

                theorem TauCeti.PopaZagier.weight₄_mul {r : ℤ} (hr : 0 < r) (a b c d : ℤ) :
                weight₄ (r * a) (r * b) (r * c) (r * d) = weight₄ a b c d

                The weight of a matrix in T₄ is invariant under scaling it by a positive integer.

                theorem TauCeti.PopaZagier.weight_smul {r : ℤ} (hr : 0 < r) (M : Matrix (Fin 2) (Fin 2) ℤ) :
                weight (r • M) = weight M

                The coefficient c(M) of eq. (15) only depends on which of its linear inequalities hold and which of them are equalities, so it is invariant under scaling M by a positive integer.

                Finiteness #

                theorem TauCeti.PopaZagier.abs_le_of_weightᵢ_ne_zero {M : Matrix (Fin 2) (Fin 2) ℤ} (h : weight₁ (M 0 0) (M 0 1) (M 1 0) (M 1 1) ≠ 0 ∨ weight₂ (M 0 0) (M 0 1) (M 1 0) (M 1 1) ≠ 0 ∨ weight₃ (M 0 0) (M 0 1) (M 1 0) (M 1 1) ≠ 0 ∨ weight₄ (M 0 0) (M 0 1) (M 1 0) (M 1 1) ≠ 0) (i j : Fin 2) :
                |M i j| ≤ 2 * M.det

                Every matrix of nonzero weight in one of the four sums T₁, ..., T₄ of (15) has entries at most twice its determinant in absolute value.

                Popa–Zagier, Lemma 4(a), positivity: every matrix of nonzero weight has positive determinant.

                theorem TauCeti.PopaZagier.abs_le_of_weight_ne_zero {M : Matrix (Fin 2) (Fin 2) ℤ} (h : weight M ≠ 0) (i j : Fin 2) :
                |M i j| ≤ 2 * M.det

                Popa–Zagier, Lemma 4(a), finiteness: every matrix of nonzero weight has entries at most twice its determinant in absolute value.

                Only finitely many matrices of trace t and determinant n have nonzero weight: their entries are at most 2 n in absolute value (abs_le_of_weight_ne_zero).

                theorem TauCeti.PopaZagier.pos_or_eq_zero_and_pos_of_weight_ne_zero {M : Matrix (Fin 2) (Fin 2) ℤ} (h : weight M ≠ 0) :
                0 < M 1 0 ∨ M 1 0 = 0 ∧ 0 < M 0 0

                Every matrix M = (a b; c d) of nonzero weight has c > 0, or c = 0 < a.

                @[simp]
                theorem TauCeti.PopaZagier.weight_neg_eq_zero {M : Matrix (Fin 2) (Fin 2) ℤ} (hM : 0 < M 1 0 ∨ M 1 0 = 0 ∧ 0 < M 0 0) :
                weight (-M) = 0

                With Popa–Zagier's representatives, c > 0 or c = 0 < a, the matrix -M = (-a -b; -c -d) has weight zero: at most one of the representatives ±M of a class occurs in (15).

                The element #

                theorem TauCeti.TraceFormulaMatrixModule.abs_le_of_intCast_ne_zero {k : Type u_1} {n : ℤ} [AddGroupWithOne k] {w : Matrix (Fin 2) (Fin 2) ℤ → ℤ} (hw : ∀ (M : Matrix (Fin 2) (Fin 2) ℤ), w M ≠ 0 → PopaZagier.weight M ≠ 0) (A : TraceFormulaMatrix n) (h : ↑(w ↑A) ≠ 0) (i j : Fin 2) :
                |↑A i j| ≤ 2 * n

                An integer weight w that vanishes wherever Popa–Zagier's weight does, cast to an additive group with one k, satisfies the bound hypothesis of ofWeight with B = 2 n: a determinant-n matrix whose weight is nonzero in k has entries at most 2 n in absolute value (Popa–Zagier, Lemma 4(a)).

                Popa–Zagier's explicit Hecke element of k[ℳₙ] (written Tₙ with a tilde in their paper), their eq. (15): T₁ - T₂ - T₃ - T₄ (see TauCeti.PopaZagier.weight), that is, 12⁻¹ times the element with the integer weights. Its coefficients are given by coeff_popaZagierElement_mk. It is Popa–Zagier's element when 12 ≠ 0 in k, that is, when k has characteristic other than 2 and 3; otherwise it is 0.

                Instances For

                  Popa–Zagier's element is 12⁻¹ times the element with the integer weights.

                  @[simp]

                  The coefficient of the class of A in Popa–Zagier's element is (weight A + weight (-A)) / 12.

                  theorem TauCeti.TraceFormulaMatrixModule.coeff_popaZagierElement_mk_of_pos {k : Type u_1} {n : ℤ} [DivisionRing k] (A : TraceFormulaMatrix n) (hA : 0 < ↑A 1 0 ∨ ↑A 1 0 = 0 ∧ 0 < ↑A 0 0) :

                  With Popa–Zagier's representatives, c > 0 or c = 0 < a, the coefficient of the class of A = (a b; c d) is weight A / 12.