Macaulay next prompts for the weight vectors, one for each ``w'' given
above. A weight vector in a ring with variables
is a vector
. Macaulay expects an integer list or a ring variable.
The 32 bit integer which is placed into the corresponding field is the
value of the monomial
under this weight vector:
.
Specifying a ring variable corresponds to using the weight of each variable up to and including the variable given, and zeros afterwards. This is useful for specifying elimination orders.
It is possible to have a name conflict between a user defined integer variable and a ring variable. Therefore, in order to use an integer variable you must enclose it in curly braces.
Weight vectors have integer entries: they can be negative if desired. If so, Macaulay adds a multiple of the variable weights to the weight vector so that each component will be non-negative.
For example,
% ring R ! characteristic (if not 31991) ? <return> ! number of variables ? 7 ! 7 variables, please ? xyza-d ! variable weights (if not all 1) ? 2 3 4 1 1 2 2 ! monomial order (if not rev. lex.) ? w w ! weight vector #1 ? 2:3 0 ! weight vector #2 ? z ; largest degree of a monomial : 146 % pring R ; ring R ; characteristic : 31991 ; number of variables : 7 ; variables : xyzabcd ; weights : 2 3 4 1 1 2 2 ; weight vector block 0 : 2 2 2 0 0 0 0 ; weight vector block 1 : 2 3 4 0 0 0 0 ; monomial order : w w 7 c ; top degree of a monomial : 146 % ; notice the two weight vectors, and that the specifiers "7 c" % ; have been added to the end of the monomial specification.