Macaulay2 » Documentation
Packages » GroebnerStrata :: findWeightConstraints
next | previous | forward | backward | up | index | toc

findWeightConstraints -- returns a matrix of weight constraints

Synopsis

Description

i1 : R = ZZ/32003[a,b,c, d];
i2 : M = ideal (a^2, a*b, b^2);

o2 : Ideal of R
i3 : L = smallerMonomials M;
i4 : mat = findWeightConstraints(M,L)

o4 = | 1  2  2  1  2  2  2  0  1  1  0  1  1  1  -1 0  0  -1 0  0  0  |
     | 0  -1 0  0  -1 0  0  1  0  1  1  0  1  1  2  1  2  2  1  2  2  |
     | -1 -1 -2 0  0  -1 0  -1 -1 -2 0  0  -1 0  -1 -1 -2 0  0  -1 0  |
     | 0  0  0  -1 -1 -1 -2 0  0  0  -1 -1 -1 -2 0  0  0  -1 -1 -1 -2 |

              4       21
o4 : Matrix ZZ  <-- ZZ
i5 : needsPackage "Polyhedra"

o5 = Polyhedra

o5 : Package
i6 : dualCone posHull (-mat)

o6 = Cone{...2...}

o6 : Cone
i7 : rays oo

o7 = | 0 0 0  0 |
     | 0 0 -1 1 |
     | 1 0 1  2 |
     | 0 1 1  2 |

              4       4
o7 : Matrix ZZ  <-- ZZ
i8 : posHull mat -- seems wrong?

o8 = Cone{...1...}

o8 : Cone
i9 : coneFromHData transpose mat

o9 = Cone{...1...}

o9 : Cone
i10 : rays mat

o10 = 0

               1
o10 : Matrix ZZ  <-- 0
i11 : findWeightVector(M,L)

o11 = ({2, 2, 1, 1}, {1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1,
      -----------------------------------------------------------------------
      1, 2, 2})

o11 : Sequence

TO BE FINISHED!! Note that the first generator listed for $M$ is $a^2$, and the first corresponding standard monomial is $a*c$. The difference of these two monomials exponent vectors is $(1,0,-1,0)$. This vector dotted with the weight vector $(2,2,1,1)$ gives the value $1$, which is the first value in the second list.

Note that the desired term ordering, and hence weight vector, may not exist. In this case, null is returned.

i12 : M = ideal"ab"

o12 = ideal(a*b)

o12 : Ideal of R
i13 : L1 = standardMonomials M

         2   2             2                  2
o13 = {{a , b , a*c, b*c, c , a*d, b*d, c*d, d }}

o13 : List
i14 : findWeightVector(M,L1)

This command is used in the groebnerFamily routine.

See also

Ways to use findWeightConstraints :

For the programmer

The object findWeightConstraints is a method function.