Rescaling the variables of a multivariate polynomial #
For a : σ → R, MvPolynomial.rescale a is the R-algebra endomorphism of MvPolynomial σ R
sending each variable X i to a i * X i. It multiplies the coefficient of the monomial X^n
by ∏ i, a i ^ n i, so supports can only shrink, and it is the polynomial counterpart of
Mathlib's MvPowerSeries.rescale. When every a i is a unit, rescaling by a is an algebra
automorphism with inverse the rescaling by the inverses, MvPolynomial.rescaleEquiv; then
contracting an ideal along rescale a is the same as extending it along the inverse rescaling.
Such diagonal changes of variables relate algebra maps X i ↦ f i and X i ↦ a i * f i
(MvPolynomial.aeval_rescale), for instance a presentation of a subalgebra by generators to the
presentation by rescaled generators.
Main declarations #
MvPolynomial.rescale: the endomorphismX i ↦ a i * X i.MvPolynomial.coeff_rescale: the coefficient ofX^nis multiplied by∏ i, a i ^ n i.MvPolynomial.aeval_rescale: evaluating a rescaled polynomial atxis evaluating it ata i • x i.MvPolynomial.rescale_mul: rescalings compose multiplicatively.MvPolynomial.rescaleEquiv: for unitsu, rescaling byuas an algebra automorphism, with inverseMvPolynomial.rescaleEquiv u⁻¹.MvPolynomial.comap_rescale: contraction along the rescaling byais extension along the rescaling by an inverse familyb.
The R-algebra endomorphism of MvPolynomial σ R rescaling the variables, X i ↦ a i * X i.
It sends p(X) to p(a X).
Instances For
Evaluating a rescaled polynomial at x is evaluating the polynomial at a i • x i.
Rescaling by a and then by b is the identity when a i * b i = 1 for every i.
Rescaling by a family of units is an algebra automorphism, whose inverse rescales by the inverse units.
Instances For
If a i * b i = 1 for every i, then the contraction of an ideal along the rescaling by a
is its extension along the rescaling by b.