Sorting monomials with respect to a term ordering

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


polylib::sortMonomials(f, vars)
polylib::sortMonomials(f, ord)
polylib::sortMonomials(f, vars, ord)


polylib::sortMonomials(f, ord) returns a list of all monomials constituting the polynomial f, sorted in descending order with respect to ord.

A monomial ordering may be: one of the identifiers LexOrder, DegreeOrder, DegInvLexOrder; or an object of type Dom::MonomOrdering or convertible to that type; or any object returning a number when called as ord(m1,m2) for two degree vectors m1 and m2. A degree vector is a list of integers, as returned by degreevec.

If no order is given, the lexikographical order is used.

If no list of variables is given, all indeterminates of f are used.

Given two degree vectors, m1 is considered to be greater than m2 if and only if ord(m1,m2) is positive.


Example 1

The monomials of the polynomial below are compared using a monomial ordering from Dom::MonomOrdering .

polylib::sortMonomials(poly(x^2+x*y^3+2, [x,y]), DegRevLex(2))



Polynomial or polynomial expression


Nonempty list of identifiers


Monomial ordering

Return Values

List of polynomials or expressions of the same type as f.

Overloaded By


See Also

MuPAD Domains

MuPAD Functions