next | previous | forward | backward | up | top | index | toc | Macaulay2 web site

Symmetries -- permutations leaving an ideal invariant to speed up gfan computations.

Synopsis

Description

Many gfan functions can be sped up and give smaller output when symmetries of the ideal are given. Permuations are specified as sequences of variables. Not all permuations need to be listed; only permutations that generate all of the symmetries.

A possible caveat is that the permuatations must be appled to the output to get the entire result.

i1 : R = QQ[a,b,c];
i2 : I = ideal(a+b,b+c);

o2 : Ideal of R
i3 : gfan(I)
LP algorithm being used: "cddgmp".

o3 = ({{b, a}, {c, a}, {c, b}}, {{b + c, a - c}, {b + c, a + b}, {- a + c, a
     ------------------------------------------------------------------------
     + b}})

o3 : Sequence
i4 : gfan(I, Symmetries => {(c,b,a)})
LP algorithm being used: "cddgmp".

o4 = ({{b, a}, {c, a}}, {{b + c, a - c}, {b + c, a + b}})

o4 : Sequence

Note that the use of symmetries above reduces the amount of output. The permutations must be appled to the output to get the complete result.

i5 : R = QQ[a,b,c,d,e];
i6 : I = ideal"a+b+c+d,ab+bc+cd+da,abc+bcd+cda+dab,abcd-e4"

                                                                         
o6 = ideal (a + b + c + d, a*b + b*c + a*d + c*d, a*b*c + a*b*d + a*c*d +
     ------------------------------------------------------------------------
                       4
     b*c*d, a*b*c*d - e )

o6 : Ideal of R
i7 : #universalGroebnerBasis(I)
LP algorithm being used: "cddgmp".

o7 = 75
i8 : #universalGroebnerBasis(I, Symmetries => {(b,c,d,a,e)})
LP algorithm being used: "cddgmp".

o8 = 27

Functions with optional argument named Symmetries :

  • gfan(..., Symmetries => ...), see gfan -- all initial ideals of an ideal
  • groebnerFan(..., Symmetries => ...), see groebnerFan -- the fan of all groebner bases of an ideal
  • render(..., Symmetries => ...), see render -- draws the Groebner fan an ideal.
  • universalGroebnerBasis(..., Symmetries => ...), see universalGroebnerBasis -- the union of all reduced Groebner bases of an ideal.

For the programmer

The object Symmetries is a symbol.