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
- _ = _