]>
The domain constructor MultivariatePolynomial is similar to Polynomial except that it specifies the variables to be used. Polynomial are available for MultivariatePolynomial. The abbreviation for MultivariatePolynomial is MPOLY. The type expressions
and
refer to the domain of multivariate polynomials in the variables x and y where the coefficients are restricted to be integers. The first variable specified is the main variable and the display of the polynomial reflects this.
This polynomial appears with terms in descending powers of the variable x.
It is easy to see a different variable ordering by doing a conversion.
You can use other, unspecified variables, by using Polynomial in the coefficient type of MPOLY.
Conversions can be used to re-express such polynomials in terms of the other variables. For example, you can first push all the variables into a polynomial with integer coefficients.
Now pull out the variables of interest.
Restriction:
Axiom does not allow you to create types where MultivariatePolynomial is contained in the coefficient type of Polynomial. Therefore, MPOLY([x,y],POLY INT) is legal but POLY MPOLY([x,y],INT) is not.
.
Multivariate polynomials may be combined with univariate polynomials to create types with special structures.
This is a polynomial in x whose coefficients are quotients of polynomials in y and z.
Use conversions for structural rearrangements. z does not appear in a denominator and so it can be made the main variable.
Or you can make a multivariate polynomial in x and z whose coefficients are fractions in polynomials in y.
A conversion like q :: MPOLY([x,y], FRAC UP(z,INT)) is not possible in this example because y appears in the denominator of a fraction. As you can see, Axiom provides extraordinary flexibility in the manipulation and display of expressions via its conversion facility.
For more information on related topics, see PolynomialXmpPage , UnivariatePolynomialXmpPage , and DistributedMultivariatePolynomialXmpPage .