Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Twist.Descent

Effective descent for Weierstrass equations #

Let L/K be a Galois extension, finite or infinite, with group G = Gal(L/K) acting on the changes of variables (u, r, s, t) over L coefficientwise, C ↦ σ C. A cocycle of changes of variables is a locally constant map f : G → VariableChange L with

f (σ τ) = f σ * σ (f τ).

This file proves that every such cocycle is a coboundary: f σ = C * (σ C)⁻¹ for some change of variables C over L. In the language of nonabelian Galois cohomology, H¹(G, VariableChange L) is trivial. The proof is a dévissage along the coordinates. The scaling u of a cocycle is a cocycle with values in Lˣ, which is a coboundary by Hilbert 90: writing u σ = σ x / x, twisting f by (x⁻¹, 0, 0, 0) makes u ≡ 1. On the changes with u = 1 the coordinate r is additive, so it is a cocycle with values in L, a coboundary by the additive Hilbert 90: writing r σ = σ x - x, a twist by (1, -x, 0, 0) makes it vanish. Then s and finally t are dealt with in the same way.

The consequence is effective descent for pointed twists. If W is a Weierstrass curve over K and the cocycle f takes values in the automorphisms of W over L, that is f σ • W = W over L, then writing f σ = C * (σ C)⁻¹, the curve C⁻¹ • W over L is fixed by G, so it is the base change of a curve V over K. Thus every continuous cocycle with values in W.AutCoeff L is the cocycle σ ↦ C * (σ C)⁻¹ of a trivialisation C • V = W of a curve V over K that becomes isomorphic to W over L. This is the half of the classification of pointed twists by H¹(G, Aut W) that constructs a twist from a cohomology class.

Main results #

References #

theorem WeierstrassCurve.VariableChange.exists_eq_mul_map_inv {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {f : Gal(L/K) → VariableChange L} [IsGalois K L] (hc : IsLocallyConstant f) (hf : ∀ (σ τ : Gal(L/K)), f (σ * τ) = f σ * (f τ).map ↑σ) :
∃ (C : VariableChange L), ∀ (σ : Gal(L/K)), f σ = C * (C.map ↑σ)⁻¹

Hilbert 90 for changes of variables. For a Galois extension L/K, finite or infinite, every locally constant cocycle f : Gal(L/K) → VariableChange L, that is f (σ τ) = f σ * σ (f τ) with σ acting coefficientwise, is a coboundary: f σ = C * (σ C)⁻¹ for some change of variables C over L. Equivalently, the first nonabelian Galois cohomology of the changes of variables over L is trivial.

theorem WeierstrassCurve.VariableChange.exists_twistCocycle_eq {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [IsGalois K L] (W : WeierstrassCurve K) (c : TauCeti.NonabelianH1.Cocycle Gal(L/K) (W.AutCoeff L)) :
∃ (V : WeierstrassCurve K) (C : VariableChange L) (hC : C • V.baseChange L = W.baseChange L), C.twistCocycle hC = c

Effective descent for pointed twists. Every continuous Galois cocycle with values in the automorphisms of W over L is the cocycle of a trivialisation of a curve over K that becomes isomorphic to W over L.

Every nonabelian Galois cohomology class of automorphisms of W is represented by the cocycle of a trivialisation of a curve over K that becomes isomorphic to W over L.