PolynomialTools - Maple Programming Help

Home : Support : Online Help : Mathematics : Algebra : Polynomials : PolynomialTools : PolynomialTools/Homogenize

PolynomialTools

 Homogenize
 homogenize a multivariate polynomial
 IsHomogeneous
 check if a multivariate polynomial is homogeneous

 Calling Sequence Homogenize(f, v) Homogenize(f, v, X) Homogenize(f, v, X, W) IsHomogeneous(f) IsHomogeneous(f, X) IsHomogeneous(f, X, W)

Parameters

 f - multivariate polynomial, or list or set of multivariate polynomials v - name or list of the form [name,posint]; the homogenization variable X - (optional) list or set of names; variables w.r.t. which f is homogenized W - (optional) list of nonnegative integers; weights

Description

 • The Homogenize(f, v) command homogenizes the polynomial $f$, by multiplying each term of $f$ by an appropriate power of $v$. The result is a polynomial $g$ in the same variables as $f$ plus one more variable $v$, such that all terms of $g$ have the same total degree, which equals the total degree of $f$.
 • The homogenization variable $v$ must be a new variable that does not appear in $f$.
 • The IsHomogeneous(f) command checks if the polynomial $f$ is homogeneous, i.e., all terms have the same total degree. If so, it returns $\mathrm{true}$, and $\mathrm{false}$ otherwise.
 • The Homogenize(f, v, X) command homogenizes the polynomial $f$ only w.r.t. the subset of the variables given by $X$. The resulting polynomial will be homogeneous in the variables $X\cup \left\{v\right\}$. The two-argument command Homogenize(f, v) is equivalent to Homogenize(f, v, indets(f,name)).
 • The IsHomogeneous(f, X) command checks if the polynomial $f$ is homogeneous w.r.t. the subset of the variables given by $X$. The one-argument command IsHomogeneous(f) is equivalent to IsHomogeneous(f, indets(f,name)).
 • The Homogenize(f, v, X, W) calling sequence performs a weighted homogenization, with weight ${W}_{i}$ given to variable ${X}_{i}$. If $v=\left[y,e\right]$, then the homogenization variable $y$ is given weight $e$. Note that in this case the result may contain fractional powers of $y$.
 • The IsHomogeneous(f, X, W) command checks if the polynomial is weighted-homogeneous, with weight ${W}_{i}$ given to variable ${X}_{i}$.
 • If $f$ is a set or list of polynomials, then each element of $f$ will be homogenized / checked for homogeneity.

Examples

 > with(PolynomialTools):
 > f := x^4+x^2*y+y*z+2*z;
 ${f}{≔}{{x}}^{{4}}{+}{{x}}^{{2}}{}{y}{+}{y}{}{z}{+}{2}{}{z}$ (1)
 > IsHomogeneous(f);
 ${\mathrm{false}}$ (2)
 > g := Homogenize(f, v);
 ${g}{≔}{2}{}{{v}}^{{3}}{}{z}{+}{{v}}^{{2}}{}{y}{}{z}{+}{v}{}{{x}}^{{2}}{}{y}{+}{{x}}^{{4}}$ (3)
 > IsHomogeneous(g);
 ${\mathrm{true}}$ (4)
 > IsHomogeneous(g, [x,y,z]);
 ${\mathrm{false}}$ (5)
 > Homogenize([f,x*y+z^3], v);
 $\left[{2}{}{{v}}^{{3}}{}{z}{+}{{v}}^{{2}}{}{y}{}{z}{+}{v}{}{{x}}^{{2}}{}{y}{+}{{x}}^{{4}}{,}{v}{}{x}{}{y}{+}{{z}}^{{3}}\right]$ (6)
 > IsHomogeneous([g,a*b-c^2]);
 ${\mathrm{true}}$ (7)
 > Homogenize(f, v, [x,y]);
 ${2}{}{{v}}^{{4}}{}{z}{+}{{v}}^{{3}}{}{y}{}{z}{+}{v}{}{{x}}^{{2}}{}{y}{+}{{x}}^{{4}}$ (8)
 > Homogenize(f, v, [x,y], [1,2]);
 ${2}{}{{v}}^{{4}}{}{z}{+}{{v}}^{{2}}{}{y}{}{z}{+}{{x}}^{{4}}{+}{{x}}^{{2}}{}{y}$ (9)
 > Homogenize(f, [v,2], [x,y], [1,2]);
 ${{x}}^{{4}}{+}{2}{}{{v}}^{{2}}{}{z}{+}{v}{}{y}{}{z}{+}{{x}}^{{2}}{}{y}$ (10)
 > Homogenize(f, [v,2], [x,y], [1,1]);
 ${2}{}{{v}}^{{2}}{}{z}{+}{{v}}^{{3}}{{2}}}{}{y}{}{z}{+}\sqrt{{v}}{}{{x}}^{{2}}{}{y}{+}{{x}}^{{4}}$ (11)
 > h := x^6+x^3*y+y^2;
 ${h}{≔}{{x}}^{{6}}{+}{{x}}^{{3}}{}{y}{+}{{y}}^{{2}}$ (12)
 > IsHomogeneous(h);
 ${\mathrm{false}}$ (13)
 > IsHomogeneous(h, [x,y], [1,3]);
 ${\mathrm{true}}$ (14)
 > Homogenize(h, v, [x,y], [1,3]);
 ${{x}}^{{6}}{+}{{x}}^{{3}}{}{y}{+}{{y}}^{{2}}$ (15)

Compatibility

 • The PolynomialTools[Homogenize] and PolynomialTools[IsHomogeneous] commands were introduced in Maple 2018.