i1 : wtR = matrix{{5,6,6},{3,6,0}}; 2 3 o1 : Matrix ZZ <--- ZZ |
i2 : weightGrevlex(wtR) o2 = | 5 6 6 | | 3 6 0 | | 1 0 0 | 3 3 o2 : Matrix ZZ <--- ZZ |
It is standard in other algebra systems to have a weighted monomial ordering based on one row of weights such as matrix{{5,6,6}} being extended to matrix{{5,6,6},{1,1,0},{1,0,0}}, whereas M2 would extend it to matrix{{5,6,6},{1,1,1},{1,1,0}}. The method here allows for more than one independent row of weights matrix{{5,6,6},{3,6,0}} to be extended to matrix{{5,6,6},{3,6,0},{1,0,0}}. Note that the number of rows necessairly matches the number of (free) variables, those of P, since the rightmost square submatrix defines a monomial ordering on P.
The object weightGrevlex is a method function.