Linear changes of variables in multivariate polynomials #
For a square matrix M indexed by the variables, MvPolynomial.linearSubst M is the
R-algebra endomorphism of R[Xᵢ : i ∈ σ] substituting Xᵢ ↦ ∑ⱼ Mᵢⱼ Xⱼ. Evaluated at a
point x, the polynomial linearSubst M p is p evaluated at M *ᵥ x: the substitution is
the pullback of polynomial functions along M. It is therefore a right action of the matrix
monoid, linearSubst (M * N) = (linearSubst N).comp (linearSubst M).
The substitution preserves homogeneity, and on forms of degree n a scalar matrix c • 1
acts by cⁿ. Restricted to the forms of a fixed degree n it is the representation
MvPolynomial.linearSubstRep of the opposite matrix monoid on homogeneousSubmodule σ R n.
In two variables this is the action P ↦ P(aX + bY, cX + dY) of 2 × 2 matrices on binary
forms of degree n, through which the modular group acts on period polynomials.
Main definitions #
MvPolynomial.linearSubst: the substitutionXᵢ ↦ ∑ⱼ Mᵢⱼ Xⱼ.MvPolynomial.linearSubstRep: its restriction to forms of degreen, as a representation of(Matrix σ σ R)ᵐᵒᵖ.
Main results #
MvPolynomial.aeval_linearSubst:linearSubst M pevaluated atxispevaluated atM *ᵥ x.MvPolynomial.linearSubst_mul: the substitution is a right action.MvPolynomial.map_linearSubst: changing coefficients commutes with substitution.MvPolynomial.linearSubst_diagonal_monomial: a diagonal matrix scales each monomial by the product of its diagonal entries raised to the corresponding exponents.MvPolynomial.coeff_linearSubst_upperTriangular_monomial: under an upper-triangular substitution in two variables, the coefficient ofX₀ᵏ X₁ˡin its own image isaᵏ dˡ.MvPolynomial.IsHomogeneous.linearSubst: the substitution preserves homogeneity.MvPolynomial.IsHomogeneous.linearSubst_smul: rescaling the matrix bycrescales a form of degreenbycⁿ.MvPolynomial.eq_zero_of_add_self_eq_zero: a polynomial is zero if adding it to itself is zero and multiplication by2is injective on coefficients.
A polynomial is zero if adding it to itself is zero and multiplication by 2 is injective
on coefficients.
The linear change of variables Xᵢ ↦ ∑ⱼ Mᵢⱼ Xⱼ given by a square matrix M.
Equations
- MvPolynomial.linearSubst M = MvPolynomial.aeval fun (i : σ) => ∑ j : σ, MvPolynomial.C (M i j) * MvPolynomial.X j
Instances For
Changing the coefficients commutes with substitution, after mapping the matrix entries.
A diagonal change of variables scales a monomial by the product of its eigenvalues.
An upper-triangular change of variables in two variables is triangular on monomials: the
coefficient of X₀ᵏ X₁ˡ in the image of X₀ᵏ X₁ˡ is aᵏ dˡ, independently of b.
Evaluating linearSubst M p at x is evaluating p at M *ᵥ x.
Evaluating linearSubst M p at x is evaluating p at M *ᵥ x.
The substitution is a right action of the matrix monoid: substituting along M * N is
substituting along M and then along N.
A linear change of variables preserves homogeneity.
Substituting Xᵢ ↦ c Xᵢ in a form of degree n multiplies it by cⁿ.
Rescaling the matrix by c rescales a form of degree n by cⁿ.
On forms of degree n, negating the matrix multiplies by (-1)ⁿ.
The linear changes of variables restricted to the forms of degree n, as a representation
of the opposite matrix monoid: op M acts by p ↦ linearSubst M p.
Equations
- MvPolynomial.linearSubstRep σ R n = { toFun := fun (M : (Matrix σ σ R)ᵐᵒᵖ) => (MvPolynomial.linearSubst (MulOpposite.unop M)).toLinearMap.restrict ⋯, map_one' := ⋯, map_mul' := ⋯ }