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

EquivariantGB -- a package for computing equivariant Gröbner bases

Description

EquivariantGB is a package for computing in polynomial rings with an infinite number of variables, but with an action of the infinite symmetric group. Alternatively such a ring can be considered as the limit of a family of rings with symmetric action. A representation of such a ring can be created using the method buildERing.

For example consider the ring R = $\mathbb{Q}[x_i,y_i \mid i,j\in \mathbb{Z}_{\geq 0}]$, the coordinate ring of 2 by infinite matrices. The infinite symmetric group acts by permuting columns.

i1 : R = buildERing({symbol x,symbol y},{1,1},QQ,4)

o1 = R

o1 : PolynomialRing
i2 : vars R

o2 = | x_3 x_2 x_1 x_0 y_3 y_2 y_1 y_0 |

             1      8
o2 : Matrix R  <-- R

Here the output ring stores only a truncation of the set of variables, with indices from 0 to 3, but this bound will be adjusted as necessary in the computations.

We now consider ideals of R that are closed under the symmetric group action. For example, let I be the set of vanishing equations of the rank 1 matrices. I is generated by all 2 by 2 minors $x_iy_j - x_jy_i$.

Authors

Version

This documentation describes version 0.2 of EquivariantGB.

Source code

The source code from which this documentation is derived is in the file EquivariantGB.m2. The auxiliary files accompanying it are in the directory EquivariantGB/.

Exports

  • Types
    • PriorityQueue -- an efficient mutable priority queue implementation
    • Shift (missing documentation)
  • Functions and commands
    • buildEMonomialMap -- builds an equivariant ring map
    • buildERing -- creates a ring to be used with other functions in the EquivariantGB package
    • deleteMin -- deletes the minimum element of the queue
    • egb -- computes equivariant Gröbner bases
    • egbToric -- computes the kernel of an equivariant monomial map
    • exponentMatrix -- puts the exponent of a monomial into matrix form
    • incOrbit -- the increasing map orbit of an element
    • mergePQ -- merges two queues
    • pop -- returns the minimum element of the queue and deletes it
    • priorityQueue -- create a new PriorityQueue
    • reduce -- computes an equivariant normal form
    • shift (missing documentation)
  • Methods
    • buildEMonomialMap(Ring,Ring,List) -- see buildEMonomialMap -- builds an equivariant ring map
    • buildERing(List,List,Ring,ZZ) -- see buildERing -- creates a ring to be used with other functions in the EquivariantGB package
    • buildERing(Ring,ZZ) -- creates a ERing from existing ERing
    • deleteMin(PriorityQueue) -- see deleteMin -- deletes the minimum element of the queue
    • egb(List) -- see egb -- computes equivariant Gröbner bases
    • egbToric(RingMap) -- see egbToric -- computes the kernel of an equivariant monomial map
    • exponentMatrix(RingElement) -- see exponentMatrix -- puts the exponent of a monomial into matrix form
    • incOrbit(List,ZZ) -- see incOrbit -- the increasing map orbit of an element
    • incOrbit(RingElement,ZZ) -- see incOrbit -- the increasing map orbit of an element
    • insert(PriorityQueue,Thing) -- insert a new element into the queue
    • length(PriorityQueue) -- returns the number of elements in the queue
    • mergePQ(PriorityQueue,PriorityQueue) -- see mergePQ -- merges two queues
    • min(PriorityQueue) -- return the minimum element of the queue
    • pop(PriorityQueue) -- see pop -- returns the minimum element of the queue and deletes it
    • priorityQueue(List) -- see priorityQueue -- create a new PriorityQueue
    • reduce(RingElement,List) -- see reduce -- computes an equivariant normal form
  • Symbols

For the programmer

The object EquivariantGB is a package.

Menu