If P(u)/Q(u), of degree 2, maps g₀, g₁ into span(1, u, u⁻¹, g₀, g₁) of dimension 5, that span is complete, two-orbit or cyclic
ProvedDiazModulus.quadratic_complement_eigen_formsLet be transcendental, that is, (the algebraic numbers); spans and linear independence are over . Let be coprime with , and let be such that has dimension and for . Write . Then one of the following holds:
- (scalar) for some , for every of degree at most ;
- (two-orbit) for some in and of degree at most , ;
- (cyclic) for some and of degree at most , .
Proof. Coprimality and degree give and , so and . Let . DiazModulus.quadratic_complement_multiplication_matrix gives over and of degree at most with . With and this reads , so gives . Apply DiazModulus.qbar_matrix_fin_two_eigen_or_jordan to . Eigenvectors for : , have the two-orbit form with , , and as span , . A Jordan pair: as above and , the cyclic form, with the same span. Scalar : multiplication by sends to , which are independent because are (the five generators of are), so they span the three-dimensional . Every is then , and .
Novelty. Not found in the sources read; routine.
import Definitions.Def_DiazModulus
open Complex ComplexConjugate
namespace DiazModulus
open Polynomial in
theorem quadratic_complement_eigen_forms (u : ℂ) (hu : u ∉ Qbar) (P Q : (↥Qbar)[X])
(hcop : IsCoprime P Q) (hdeg : max P.natDegree Q.natDegree = 2) (g : Fin 2 → ℂ)
(h5 : Module.finrank (↥Qbar) (Submodule.span Qbar ({1, u, u⁻¹, g 0, g 1} : Set ℂ)) = 5)
(hk : ∀ j, aeval u P / aeval u Q * g j ∈ Submodule.span Qbar ({1, u, u⁻¹, g 0, g 1} : Set ℂ)) :
(∃ c : ↥Qbar, ∀ R : (↥Qbar)[X], R.natDegree ≤ 2 → aeval u Q * aeval u R / (u * (aeval u P - (c : ℂ) * aeval u Q)) ∈
Submodule.span Qbar ({1, u, u⁻¹, g 0, g 1} : Set ℂ)) ∨
(∃ c₁ c₂ : ↥Qbar, c₁ ≠ c₂ ∧ ∃ R₁ R₂ : (↥Qbar)[X], R₁.natDegree ≤ 2 ∧ R₂.natDegree ≤ 2 ∧
Submodule.span Qbar ({1, u, u⁻¹, g 0, g 1} : Set ℂ) = Submodule.span Qbar ({1, u, u⁻¹, aeval u Q * aeval u R₁ / (u * (aeval u P - (c₁ : ℂ) * aeval u Q)),
aeval u Q * aeval u R₂ / (u * (aeval u P - (c₂ : ℂ) * aeval u Q))} : Set ℂ)) ∨
(∃ c : ↥Qbar, ∃ R₀ R₁ : (↥Qbar)[X], R₀.natDegree ≤ 2 ∧ R₁.natDegree ≤ 2 ∧
Submodule.span Qbar ({1, u, u⁻¹, g 0, g 1} : Set ℂ) = Submodule.span Qbar ({1, u, u⁻¹, aeval u Q * aeval u R₀ / (u * (aeval u P - (c : ℂ) * aeval u Q)),
aeval u Q * (aeval u Q * aeval u R₀ + (aeval u P - (c : ℂ) * aeval u Q) * aeval u R₁) / (u * (aeval u P - (c : ℂ) * aeval u Q) ^ 2)} :
Set ℂ)) := by
sorry
end DiazModulus