Theory of univariate polynomials
The main defs here are eval₂
, eval
, and map
.
We give several lemmas about their interaction with each other and with module operations.
Evaluate a polynomial p
given a ring hom f
from the scalar ring
to the target and a value x
for the variable in the target
Equations
- polynomial.eval₂ f x p = finsupp.sum p (λ (e : ℕ) (a : R), ⇑f a * x ^ e)
Equations
- _ = _
eval₂
as a ring_hom
for noncommutative rings
Equations
- polynomial.eval₂_ring_hom_noncomm f hf x = {to_fun := polynomial.eval₂ f x, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
We next prove that eval₂ is multiplicative as long as target ring is commutative (even if the source ring is not).
Equations
- _ = _
eval₂
as a ring_hom
Equations
eval x p
is the evaluation of the polynomial p
at x
Equations
is_root p x
implies x
is a root of p
. The evaluation of p
at x
is zero
Equations
- p.is_root a = (polynomial.eval a p = 0)
Equations
- polynomial.decidable = polynomial.decidable._proof_1.mpr (_inst_2 (polynomial.eval a p) 0)
The composition of polynomials as a polynomial.
Equations
- p.comp q = polynomial.eval₂ polynomial.C q p
map f p
maps a polynomial p
across a ring hom f
Equations
Equations
- _ = _
Equations
- _ = _
After having set up the basic theory of eval₂
, eval
, comp
, and map
,
we make eval₂
irreducible.
Perhaps we can make the others irreducible too?
Equations
Polynomial evaluation commutes with finset.prod
Equations
- _ = _
Equations
- _ = _