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.
w1, …,wn)) Dom::MonomOrdering(WeightedDegLex(
w1, …,wn)) Dom::MonomOrdering(WeightedDegRevLex(
w1, …,wn)) Dom::MonomOrdering(WeightedRevLex(
w1, …,wn)) Dom::MonomOrdering(Block(
o1, …)) Dom::MonomOrdering(Matrix(
Dom::MonomOrdering represents the set of
all possible monomial orderings. A monomial ordering is a well-ordering
of the set of all k-tuples
of nonnegative integers for some k.
In MuPAD®, a monomial ordering is implemented as a function
that, when applied to two lists of nonnegative integers, returns
1 if the first list is respectively smaller
than, equal to, or greater than the second list. Each ordering can
only compare lists of one fixed length, called its its order
length. Since the lists under consideration will be exponent
vectors in most cases, their length is also referred to as the number
Monomial orderings are used in algebraic geometry for comparing
terms and in
a polynomial ring. Since
on the exponent vectors [α1,
…, αn] and [β1,
degreevec must be applied
to the terms to be compared before applying
Dom::MonomOrdering can be used
as arguments for
tcoeff as well as for
the functions of the groebner package in order to specify the monomial
ordering to be considered.
Monomial orderings are created by calling
someIdentifier is one of a certain set of
predefined identifiers, as stated below. Converting
a string gives the order type of the monomial
Dom::MonomOrdering(Lex(n)) creates the lexicographical
order on n indeterminates.
Dom::MonomOrdering(RevLex(n)) creates the
reverse lexicographical order on n indeterminates,
Dom::MonomOrdering(DegLex(n)) creates the
degree order on n indeterminates
with the lexicographical order used for tie-break.
the degree order on n indeterminates
with the reverse lexicographical order used for tie-break .
the degree order on n indeterminates,
with the tie break being the opposite to the lexicographical order.
a weighted degree order with weights w1 through wn.
The word following the word
the tie-break used. Note that MuPAD uses the ordinary degree
order as the first tie-break.
a matrix order, with the order matrix defined by
Dom::MonomOrdering(Block(o1, ..., on)) or,
..., on]), creates a block order such that
used on the first indeterminates, then
used as a tie-break on the following indeterminates etc.
Block orders may be nested, i.e., the blocks may be block orders, too.
Weight vectors with negative entries and order matrices do not define well-orderings in general. You may enter such orderings, but it may cause trouble, e.g., to use them with the groebner package.
ORD by prescribing that lists [a, b, c] are
ordered according to their weighted degrees 5 a +
2 b + π c.
For lists with equal weighted degree, the non-weighted degree a + b + c is
used as a tie-break. Finally, the lexicographical order decides (in
fact, this last step is not necessary because π is
ORD:=Dom::MonomOrdering(WeightedDegLex(5, 2, PI))
With respect to
[1, 6, 1] is
[2, 1, 3]:
Valid arguments to
A sequence valid as the sequence of arguments to
func_call— Compare two lists of integers
The lengths of
not exceed the order length of
too short, the necessary number of zeroes is appended.
ordertype— Return the type of an order
someIdentifier into a string gives
the order type of
orderlength— Return the length of an order
nops— Number of blocks
block— Get a particular block
blocktype— Get the order type of a particular block
blocklength— Get the order length of a particular block
expr— Return an expression from which the order can be restored