Theory of univariate polynomials #
The main def is Polynomial.binomExpansion
.
(x + y)^n
can be expressed as x^n + n*x^(n-1)*y + k * y^2
for some k
in the ring.
Equations
- One or more equations did not get rendered due to their size.
- Polynomial.powAddExpansion x y 0 = ⟨0, ⋯⟩
- Polynomial.powAddExpansion x y 1 = ⟨0, ⋯⟩
Instances For
def
Polynomial.binomExpansion
{R : Type u}
[CommRing R]
(f : Polynomial R)
(x y : R)
:
{ k : R //
Polynomial.eval (x + y) f = Polynomial.eval x f + Polynomial.eval x (Polynomial.derivative f) * y + k * y ^ 2 }
A polynomial f
evaluated at x + y
can be expressed as
the evaluation of f
at x
, plus y
times the (polynomial) derivative of f
at x
,
plus some element k : R
times y^2
.
Equations
- f.binomExpansion x y = ⟨f.sum fun (e : ℕ) (a : R) => a * ↑(Polynomial.polyBinomAux1 x y e a), ⋯⟩
Instances For
x^n - y^n
can be expressed as z * (x - y)
for some z
in the ring.
Equations
- One or more equations did not get rendered due to their size.
- Polynomial.powSubPowFactor x y 0 = ⟨0, ⋯⟩
- Polynomial.powSubPowFactor x y 1 = ⟨1, ⋯⟩
Instances For
def
Polynomial.evalSubFactor
{R : Type u}
[CommRing R]
(f : Polynomial R)
(x y : R)
:
{ z : R // Polynomial.eval x f - Polynomial.eval y f = z * (x - y) }
For any polynomial f
, f.eval x - f.eval y
can be expressed as z * (x - y)
for some z
in the ring.
Equations
- f.evalSubFactor x y = ⟨f.sum fun (i : ℕ) (r : R) => r * ↑(Polynomial.powSubPowFactor x y i), ⋯⟩