Theory of univariate polynomials #
This file starts looking like the ring theory of $R[X]$
Main definitions #
Polynomial.roots p: The multiset containing all the roots ofp, including their multiplicities.Polynomial.rootSet p E: The set of distinct roots ofpin an algebraE.
Main statements #
Polynomial.C_leadingCoeff_mul_prod_multiset_X_sub_C: If a polynomial has as many roots as its degree, it can be written as the product of its leading coefficient with∏ (X - a)wherearanges through its roots.
_ %ₘ q as an R-linear map.
Equations
- Polynomial.modByMonicHom q = { toAddHom := { toFun := fun (p : Polynomial R) => p %ₘ q, map_add' := ⋯ }, map_smul' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
This lemma is useful for working with the intDegree of a rational function.
Characterization of a unit of a polynomial ring over an integral domain R.
See Polynomial.isUnit_iff_coeff_isUnit_isNilpotent when R is a commutative ring.
Alternate phrasing of Polynomial.Monic.irreducible_iff_natDegree' where we only have to check
one divisor at a time.
Equations
- ⋯ = ⋯
The multiplicity of a as root of a nonzero polynomial p is at least n iff
(X - a) ^ n divides p.
The multiplicity of a as root of (X - a) ^ n is n.
The multiplicity of p + q is at least the minimum of the multiplicities.
roots p noncomputably gives a multiset containing all the roots of p,
including their multiplicities.
Equations
- Polynomial.roots p = if h : p = 0 then ∅ else Classical.choose ⋯
Instances For
nthRoots n a noncomputably returns the solutions to x ^ n = a
Equations
- Polynomial.nthRoots n a = Polynomial.roots (Polynomial.X ^ n - Polynomial.C a)
Instances For
Given a polynomial p with coefficients in a ring T and a T-algebra S, aroots p S is
the multiset of roots of p regarded as a polynomial over S.
Equations
- Polynomial.aroots p S = Polynomial.roots (Polynomial.map (algebraMap T S) p)
Instances For
The set of distinct roots of p in S.
If you have a non-separable polynomial, use Polynomial.aroots for the multiset
where multiple roots have the appropriate multiplicity.
Equations
- Polynomial.rootSet p S = ↑(Multiset.toFinset (Polynomial.aroots p S))
Instances For
Equations
The set of roots of all polynomials of bounded degree and having coefficients in a finite set is finite.
Division by a monic polynomial doesn't change the leading coefficient.
The product ∏ (X - a) for a inside the multiset p.roots divides p.
A Galois connection.
A polynomial p that has as many roots as its degree
can be written p = p.leadingCoeff * ∏(X - a), for a in p.roots.
A monic polynomial p that has as many roots as its degree
can be written p = ∏(X - a), for a in p.roots.
To check a monic polynomial is irreducible, it suffices to check only for divisors that have smaller degree.
See also: Polynomial.Monic.irreducible_iff_natDegree.
A polynomial over an integral domain R is irreducible if it is monic and
irreducible after mapping into an integral domain S.
A special case of this lemma is that a polynomial over ℤ is irreducible if
it is monic and irreducible over ℤ/pℤ for some prime p.