Minimal polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the minimal polynomial of an element x
of an A
-algebra B
,
under the assumption that x is integral over A
, and derives some basic properties
such as ireducibility under the assumption B
is a domain.
Suppose x : B
, where B
is an A
-algebra.
The minimal polynomial minpoly A x
of x
is a monic polynomial with coefficients in A
of smallest degree that has x
as its root,
if such exists (is_integral A x
) or zero otherwise.
For example, if V
is a 𝕜
-vector space for some field 𝕜
and f : V →ₗ[𝕜] V
then
the minimal polynomial of f
is minpoly 𝕜 f
.
Equations
- minpoly A x = dite (is_integral A x) (λ (hx : is_integral A x), _.min (λ (p : polynomial A), p.monic ∧ polynomial.eval₂ (algebra_map A B) x p = 0) hx) (λ (hx : ¬is_integral A x), 0)
A minimal polynomial is monic.
A minimal polynomial is nonzero.
A minimal polynomial is not 1
.
The defining property of the minimal polynomial of an element x
:
it is the monic polynomial with smallest degree that has x
as its root.
The degree of a minimal polynomial, as a natural number, is positive.
The degree of a minimal polynomial is positive.
If B/A
is an injective ring extension, and a
is an element of A
,
then the minimal polynomial of algebra_map A B a
is X - C a
.
If a
strictly divides the minimal polynomial of x
, then x
cannot be a root for a
.
A minimal polynomial is irreducible.