Division of univariate polynomials #
The main defs are divByMonic
and modByMonic
.
The compatibility between these is given by modByMonic_add_div
.
We also define rootMultiplicity
.
See divByMonic
.
Equations
Instances For
divByMonic
, denoted as p /ₘ q
, gives the quotient of p
by a monic polynomial q
.
Equations
Instances For
modByMonic
, denoted as p %ₘ q
, gives the remainder of p
by a monic polynomial q
.
Equations
Instances For
divByMonic
, denoted as p /ₘ q
, gives the quotient of p
by a monic polynomial q
.
Equations
Instances For
modByMonic
, denoted as p %ₘ q
, gives the remainder of p
by a monic polynomial q
.
Equations
Instances For
See Polynomial.mul_self_modByMonic
for the other multiplication order. That version, unlike
this one, requires commutativity.
An algorithm for deciding polynomial divisibility.
The algorithm is "compute p %ₘ q
and compare to 0
".
See Polynomial.modByMonic
for the algorithm that computes %ₘ
.
Equations
Instances For
The largest power of X - C a
which divides p
.
This could be computable via the divisibility algorithm Polynomial.decidableDvdMonic
,
as shown by Polynomial.rootMultiplicity_eq_nat_find_of_nonzero
which has a computable RHS.
Equations
Instances For
See Polynomial.self_mul_modByMonic
for the other multiplication order. This version, unlike
that one, requires commutativity.
The multiplicity of a
as root of a nonzero polynomial p
is at least n
iff
(X - a) ^ n
divides p
.
The multiplicity of p + q
is at least the minimum of the multiplicities.
See Polynomial.rootMultiplicity_eq_natTrailingDegree
for the general case.
Division by a monic polynomial doesn't change the leading coefficient.