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$.

Menu

Authors

Version

This documentation describes version 0.2 of EquivariantGB.

Citation

If you have used this package in your research, please cite it as follows:

@misc{EquivariantGBSource,
  title = {{EquivariantGB: Equivariant Groebner bases and related algorithms. Version~0.2}},
  author = {Chris Hillar and Robert Krone and Anton Leykin},
  howpublished = {A \emph{Macaulay2} package available at
    ""}
}

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
    • degree(Shift) (missing documentation)
    • 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
    • max(Shift) (missing documentation)
    • mergePQ(PriorityQueue,PriorityQueue) -- see mergePQ -- merges two queues
    • min(PriorityQueue) -- return the minimum element of the queue
    • net(Shift) (missing documentation)
    • 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
    • Shift * Number (missing documentation)
    • Shift * RingElement (missing documentation)
    • Shift * Shift (missing documentation)
    • Shift == Shift (missing documentation)
    • Shift ? Shift (missing documentation)
    • shift(List) (missing documentation)
    • shift(MutableList) (missing documentation)
    • shift(Shift) (missing documentation)
    • width(Shift) (missing documentation)
  • Symbols

For the programmer

The object EquivariantGB is a package, defined in EquivariantGB.m2, with auxiliary files in EquivariantGB/.


The source of this document is in EquivariantGB.m2:1048:0.