Algebraic Closure #
In this file we construct the algebraic closure of a field
Main Definitions #
AlgebraicClosure k
is an algebraic closure ofk
(in the same universe). It is constructed by taking the polynomial ring generated by indeterminates $X_{f,1}, \dots, X_{f,\deg f}$ corresponding to roots of monic irreducible polynomialsf
with coefficients ink
, and quotienting out by a maximal ideal containing every $f - \prod_i (X - X_{f,i})$. The proof follows https://kconrad.math.uconn.edu/blurbs/galoistheory/algclosureshorter.pdf.
Tags #
algebraic closure, algebraically closed
The subtype of monic polynomials.
Equations
- AlgebraicClosure.Monics k = { f : Polynomial k // f.Monic }
Instances For
Vars k
provides n
variables $X_{f,1}, \dots, X_{f,n}$ for each monic polynomial
f : k[X]
of degree n
.
Equations
- AlgebraicClosure.Vars k = ((f : AlgebraicClosure.Monics k) × Fin (↑f).natDegree)
Instances For
Given a monic polynomial f : k[X]
,
subProdXSubC f
is the polynomial $f - \prod_i (X - X_{f,i})$.
Equations
- AlgebraicClosure.subProdXSubC f = Polynomial.map (algebraMap k (MvPolynomial (AlgebraicClosure.Vars k) k)) ↑f - ∏ i : Fin (↑f).natDegree, (Polynomial.X - Polynomial.C (MvPolynomial.X ⟨f, i⟩))
Instances For
The span of all coefficients of subProdXSubC f
as f
ranges all polynomials in k[X]
.
Equations
- AlgebraicClosure.spanCoeffs k = Ideal.span (Set.range fun (fn : AlgebraicClosure.Monics k × ℕ) => (AlgebraicClosure.subProdXSubC fn.1).coeff fn.2)
Instances For
If a monic polynomial f : k[X]
splits in K
,
then it has as many roots (counting multiplicity) as its degree.
Equations
- AlgebraicClosure.finEquivRoots hf = (Finset.equivFinOfCardEq ⋯).symm
Instances For
Given a finite set of monic polynomials, construct an algebra homomorphism
to the splitting field of the product of the polynomials
sending indeterminates $X_{f_i}$ to the distinct roots of f
.
Equations
- AlgebraicClosure.toSplittingField s = MvPolynomial.aeval fun (fi : AlgebraicClosure.Vars k) => if hf : fi.fst ∈ s then (↑((AlgebraicClosure.finEquivRoots ⋯) fi.snd)).1 else 37
Instances For
A random maximal ideal that contains spanEval k
Equations
Instances For
The canonical algebraic closure of a field, the direct limit of adding roots to the field for each polynomial over the field.
Equations
Instances For
Equations
- AlgebraicClosure.instInhabited k = { default := 37 }
Equations
Equations
- AlgebraicClosure.instGroupWithZero k = GroupWithZero.mk ⋯ Field.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- AlgebraicClosure.instField k = Field.mk ⋯ GroupWithZero.zpow ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ (fun (x1 : ℚ≥0) (x2 : AlgebraicClosure k) => x1 • x2) ⋯ ⋯ (fun (x1 : ℚ) (x2 : AlgebraicClosure k) => x1 • x2) ⋯