Galois Groups of Polynomials #
In this file, we introduce the Galois group of a polynomial p
over a field F
,
defined as the automorphism group of its splitting field. We also provide
some results about some extension E
above p.SplittingField
.
Main definitions #
Polynomial.Gal p
: the Galois group of a polynomial p.Polynomial.Gal.restrict p E
: the restriction homomorphism(E ≃ₐ[F] E) → gal p
.Polynomial.Gal.galAction p E
: the action ofgal p
on the roots ofp
inE
.
Main results #
Polynomial.Gal.restrict_smul
:restrict p E
is compatible withgal_action p E
.Polynomial.Gal.galActionHom_injective
:gal p
acting on the roots ofp
inE
is faithful.Polynomial.Gal.restrictProd_injective
:gal (p * q)
embeds as a subgroup ofgal p × gal q
.Polynomial.Gal.card_of_separable
: For a separable polynomial, its Galois group has cardinality equal to the dimension of its splitting field overF
.Polynomial.Gal.galActionHom_bijective_of_prime_degree
: An irreducible polynomial of prime degree with two non-real roots has full Galois group.
Other results #
Polynomial.Gal.card_complex_roots_eq_card_real_add_card_not_gal_inv
: The number of complex roots equals the number of real roots plus the number of roots not fixed by complex conjugation (i.e. with some imaginary component).
The Galois group of a polynomial.
Instances For
Equations
- Polynomial.Gal.instGroup p = inferInstanceAs (Group (p.SplittingField ≃ₐ[F] p.SplittingField))
Equations
- Polynomial.Gal.instFintype p = inferInstanceAs (Fintype (p.SplittingField ≃ₐ[F] p.SplittingField))
Equations
- Polynomial.Gal.instEquivLikeSplittingField p = inferInstanceAs (EquivLike (p.SplittingField ≃ₐ[F] p.SplittingField) p.SplittingField p.SplittingField)
Equations
- Polynomial.Gal.applyMulSemiringAction p = AlgEquiv.applyMulSemiringAction
If p
splits in F
then the p.gal
is trivial.
Equations
- Polynomial.Gal.uniqueGalOfSplits p h = { default := 1, uniq := ⋯ }
Instances For
Equations
- Polynomial.Gal.uniqueGalZero = Polynomial.Gal.uniqueGalOfSplits 0 ⋯
Equations
- Polynomial.Gal.uniqueGalOne = Polynomial.Gal.uniqueGalOfSplits 1 ⋯
Equations
- Polynomial.Gal.uniqueGalC x = Polynomial.Gal.uniqueGalOfSplits (Polynomial.C x) ⋯
Equations
- Polynomial.Gal.uniqueGalX = Polynomial.Gal.uniqueGalOfSplits Polynomial.X ⋯
Equations
- Polynomial.Gal.uniqueGalXSubC x = Polynomial.Gal.uniqueGalOfSplits (Polynomial.X - Polynomial.C x) ⋯
Equations
- Polynomial.Gal.uniqueGalXPow n = Polynomial.Gal.uniqueGalOfSplits (Polynomial.X ^ n) ⋯
Equations
- Polynomial.Gal.instAlgebraSplittingFieldOfFactSplitsAlgebraMap p E = (Polynomial.IsSplittingField.lift p.SplittingField p ⋯).toAlgebra
Restrict from a superfield automorphism into a member of gal p
.
Equations
- Polynomial.Gal.restrict p E = AlgEquiv.restrictNormalHom p.SplittingField
Instances For
The function taking rootSet p p.SplittingField
to rootSet p E
. This is actually a bijection,
see Polynomial.Gal.mapRoots_bijective
.
Equations
- Polynomial.Gal.mapRoots p E = Set.MapsTo.restrict (⇑(IsScalarTower.toAlgHom F p.SplittingField E)) (p.rootSet p.SplittingField) (p.rootSet E) ⋯
Instances For
The bijection between rootSet p p.SplittingField
and rootSet p E
.
Equations
Instances For
Equations
Equations
- Polynomial.Gal.smul p E = { smul := fun (ϕ : p.Gal) (x : ↑(p.rootSet E)) => (Polynomial.Gal.rootsEquivRoots p E) (ϕ • (Polynomial.Gal.rootsEquivRoots p E).symm x) }
The action of gal p
on the roots of p
in E
.
Equations
- Polynomial.Gal.galAction p E = MulAction.mk ⋯ ⋯
Polynomial.Gal.restrict p E
is compatible with Polynomial.Gal.galAction p E
.
Polynomial.Gal.galAction
as a permutation representation
Equations
- Polynomial.Gal.galActionHom p E = MulAction.toPermHom p.Gal ↑(p.rootSet E)
Instances For
gal p
embeds as a subgroup of permutations of the roots of p
in E
.
Polynomial.Gal.restrict
, when both fields are splitting fields of polynomials.
Equations
- Polynomial.Gal.restrictDvd hpq = if hq : q = 0 then 1 else Polynomial.Gal.restrict p q.SplittingField
Instances For
The Galois group of a product maps into the product of the Galois groups.
Equations
- Polynomial.Gal.restrictProd p q = (Polynomial.Gal.restrictDvd ⋯).prod (Polynomial.Gal.restrictDvd ⋯)
Instances For
Polynomial.Gal.restrictProd
is actually a subgroup embedding.
p
splits in the splitting field of p ∘ q
, for q
non-constant.
Polynomial.Gal.restrict
for the composition of polynomials.
Equations
- Polynomial.Gal.restrictComp p q hq = Polynomial.Gal.restrict p (p.comp q).SplittingField
Instances For
For a separable polynomial, its Galois group has cardinality
equal to the dimension of its splitting field over F
.