next up previous contents
Next: General monomial orders in Up: Monomial orders in Macaulay Previous: Product and elimination orders

Monomial orders for free modules

So far we have only considered orders on the monomials in a polynomial ring. However, if we wish to compute standard bases of submodules of free modules as well as for ideals, we need to define monomial orders on the monomials in a free module. First, what are the monomials in a free module? Let tex2html_wrap_inline5713 be the tex2html_wrap_inline5501 unit (column) vector in the free module tex2html_wrap_inline5717 , tex2html_wrap_inline5719 . The monomials are just tex2html_wrap_inline5721 .

There are two basic ways of extending a monomial order ;SPMgt; to free modules.

The first of these is the default in Macaulay. The second can be obtained using the ring command in the following way. When prompted for the monomial order, respond with the letter ``c''. The ``c'' stands for the ``module component number'', or the ``row number'' of the monomial. The effect of this response is that the higher the component, or row, number, the greater the monomial.

For example,

%  ring R
! characteristic (if not 31991)       ? <return>
! number of variables                 ?  5
!   5 variables, please               ?  a-e
! variable weights (if not all 1)     ? <return>
! monomial order (if not rev. lex.)   ?  c
;   largest degree of a monomial        : 217 

%  ; the component number is now considered before the order on the monomials
%  ; of the ring.
%  pring R
; ring R
; characteristic           : 31991
; number of variables      : 5
; variables                : abcde
; weights                  : 1 1 1 1 1 
; monomial order           : c 5 
; top degree of a monomial : 217

Important note for computing finite free resolutions: It is often much more efficient, both in space and elapsed time, to use this second order rather than the default. The default has been chosen to make elimination of variables for modules a simpler process.

In fact, if you have several blocks of variables, you can put the ``c'' before or after any block. The default in Macaulay is to tag the ``c'' on at the end of what you type (assuming you did not include a ``c''). At the end of this section we describe these more general forms.

Usually, when you display a polynomial using type, for example, the monomials are displayed in descending order. For column vectors this is not possible, since the lead monomial can occur in any row. You can see the initial monomial by using the in command.


next up previous contents
Next: General monomial orders in Up: Monomial orders in Macaulay Previous: Product and elimination orders

Sorin Popescu
Fri Feb 14 17:37:19 EST 1997