theorem
proved
hpOperator_eigenvector_pos
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.NumberTheory.HilbertPolyaFunctionField on GitHub at line 68.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
65roots `±θ`. We exhibit eigenvectors directly. -/
66
67/-- The vector `(1, 1)` is an eigenvector with eigenvalue `+θ`. -/
68theorem hpOperator_eigenvector_pos (q : ℕ) (a : ℤ) :
69 (hpOperator q a).mulVec ![1, 1] = frobeniusAngle q a • ![1, 1] := by
70 ext i
71 fin_cases i <;>
72 simp [hpOperator, Matrix.mulVec, Matrix.cons_val', Matrix.empty_val',
73 Matrix.cons_val_fin_one, Matrix.cons_val_zero, Matrix.cons_val_one,
74 Matrix.head_cons, Matrix.head_fin_const,
75 Matrix.cons_dotProduct, Matrix.dotProduct_empty, Fin.sum_univ_two] <;>
76 ring
77
78/-- The vector `(1, -1)` is an eigenvector with eigenvalue `-θ`. -/
79theorem hpOperator_eigenvector_neg (q : ℕ) (a : ℤ) :
80 (hpOperator q a).mulVec ![1, -1] = (-frobeniusAngle q a) • ![1, -1] := by
81 ext i
82 fin_cases i <;>
83 simp [hpOperator, Matrix.mulVec, Matrix.cons_val', Matrix.empty_val',
84 Matrix.cons_val_fin_one, Matrix.cons_val_zero, Matrix.cons_val_one,
85 Matrix.head_cons, Matrix.head_fin_const,
86 Matrix.cons_dotProduct, Matrix.dotProduct_empty, Fin.sum_univ_two] <;>
87 ring
88
89/-! ## Hasse bound implies real spectrum
90
91For the angle `θ` to be a real number representing a meaningful spectral
92quantity, we need `arccos`'s argument to lie in `[-1, 1]`. This is the
93content of the Hasse--Weil bound. -/
94
95/-- If the Hasse bound `a^2 ≤ 4q` holds, then `a / (2√q) ∈ [-1, 1]`. -/
96theorem hasse_implies_arccos_valid
97 (q : ℕ) (hq : 0 < q) (a : ℤ) (h_hasse : hasseBound q a) :
98 ((a : ℝ) / (2 * Real.sqrt (q : ℝ))) ∈ Set.Icc (-1 : ℝ) 1 := by