mathlib documentation

data.polynomial.identities

Theory of univariate polynomials #

The main def is binom_expansion.

def polynomial.pow_add_expansion {R : Type u_1} [comm_semiring R] (x y : R) (n : ) :
{k // (x + y) ^ n = x ^ n + n * x ^ (n - 1) * y + k * y ^ 2}

(x + y)^n can be expressed as x^n + n*x^(n-1)*y + k * y^2 for some k in the ring.

Equations
def polynomial.binom_expansion {R : Type u} [comm_ring R] (f : polynomial R) (x y : R) :

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
def polynomial.pow_sub_pow_factor {R : Type u} [comm_ring R] (x y : R) (i : ) :
{z // x ^ i - y ^ i = z * (x - y)}

x^n - y^n can be expressed as z * (x - y) for some z in the ring.

Equations
def polynomial.eval_sub_factor {R : Type u} [comm_ring R] (f : polynomial R) (x y : R) :
{z // 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