Galois Groups of Polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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.splitting_field
, and some specific
results about the Galois groups of ℚ-polynomials with specific numbers of non-real roots.
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.gal_action 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.gal_action_hom_injective
:gal p
acting on the roots ofp
inE
is faithful.polynomial.gal.restrict_prod_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.gal_action_hom_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.
Equations
- p.gal = (p.splitting_field ≃ₐ[F] p.splitting_field)
Instances for polynomial.gal
- polynomial.gal.group
- polynomial.gal.fintype
- polynomial.gal.has_coe_to_fun
- polynomial.gal.apply_mul_semiring_action
- polynomial.gal.unique
- polynomial.gal.unique_gal_zero
- polynomial.gal.unique_gal_one
- polynomial.gal.unique_gal_C
- polynomial.gal.unique_gal_X
- polynomial.gal.unique_gal_X_sub_C
- polynomial.gal.unique_gal_X_pow
- polynomial.gal.gal_action_aux
- polynomial.gal.gal_action
Equations
If p
splits in F
then the p.gal
is trivial.
Equations
- polynomial.gal.unique_gal_of_splits p h = {to_inhabited := {default := 1}, uniq := _}
Equations
Equations
- polynomial.gal.unique_gal_zero = polynomial.gal.unique_gal_of_splits 0 polynomial.gal.unique_gal_zero._proof_1
Equations
- polynomial.gal.unique_gal_one = polynomial.gal.unique_gal_of_splits 1 polynomial.gal.unique_gal_one._proof_1
Equations
Equations
- polynomial.gal.unique_gal_X = polynomial.gal.unique_gal_of_splits polynomial.X polynomial.gal.unique_gal_X._proof_1
Equations
Equations
Restrict from a superfield automorphism into a member of gal p
.
Equations
The function taking roots p p.splitting_field
to roots p E
. This is actually a bijection,
see polynomial.gal.map_roots_bijective
.
Equations
- polynomial.gal.map_roots p E = set.maps_to.restrict ⇑(is_scalar_tower.to_alg_hom F p.splitting_field E) (p.root_set p.splitting_field) (p.root_set E) _
The bijection between root_set p p.splitting_field
and root_set p E
.
Equations
Equations
- polynomial.gal.gal_action_aux p = {to_has_smul := {smul := λ (ϕ : p.gal), set.maps_to.restrict ⇑ϕ (p.root_set p.splitting_field) (p.root_set p.splitting_field) _}, one_smul := _, mul_smul := _}
The action of gal p
on the roots of p
in E
.
Equations
- polynomial.gal.gal_action p E = {to_has_smul := {smul := λ (ϕ : p.gal) (x : ↥(p.root_set E)), ⇑(polynomial.gal.roots_equiv_roots p E) (ϕ • ⇑((polynomial.gal.roots_equiv_roots p E).symm) x)}, one_smul := _, mul_smul := _}
polynomial.gal.restrict p E
is compatible with polynomial.gal.gal_action p E
.
polynomial.gal.gal_action
as a permutation representation
Equations
- polynomial.gal.gal_action_hom p E = mul_action.to_perm_hom p.gal ↥(p.root_set E)
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.restrict_dvd hpq = dite (q = 0) (λ (hq : q = 0), 1) (λ (hq : ¬q = 0), polynomial.gal.restrict p q.splitting_field)
The Galois group of a product maps into the product of the Galois groups.
Equations
polynomial.gal.restrict_prod
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.restrict_comp p q hq = let h : fact (polynomial.splits (algebra_map F (p.comp q).splitting_field) p) := _ in polynomial.gal.restrict p (p.comp q).splitting_field
For a separable polynomial, its Galois group has cardinality
equal to the dimension of its splitting field over F
.
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).
An irreducible polynomial of prime degree with two non-real roots has full Galois group.
An irreducible polynomial of prime degree with 1-3 non-real roots has full Galois group.