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

egbToric -- computes the kernel of an equivariant monomial map

Description

m should be a monomial map between rings created by buildERing. Such a map can be constructed with buildEMonomialMap but this is not required.

For a map to ring R from ring S, the algorithm infers the entire equivariant map from where m sends the variable orbit generators of S. In particular for each orbit of variables of the form x_{(i_1,...,i_k)}, the image of x_{(0,...,k-1)} is used.

egbToric uses an incremental strategy, computing Gröbner bases for truncations using FourTiTwo. Because of FourTiTwo's efficiency, this strategy tends to be much faster than general equivariant Gröbner basis algorithms such as egb.

In the following example we compute an equivariant Gröbner basis for the vanishing equations of the second Veronese of P^n, i.e. the variety of n x n rank 1 symmetric matrices.

i1 : R = buildERing({symbol x}, {1}, QQ, 2);
i2 : S = buildERing({symbol y}, {2}, QQ, 2);
i3 : m = buildEMonomialMap(R,S,{x_0*x_1})

                  2               2
o3 = map (R, S, {x , x x , x x , x })
                  1   1 0   1 0   0

o3 : RingMap R <-- S
i4 : G = egbToric(m, OutFile=>stdio)
3
     -- used .00219348 seconds
     -- used .0008164 seconds
(9, 9)
new stuff found
4
     -- used .0051594 seconds
     -- used .00676292 seconds
(16, 26)
new stuff found
5
     -- used .0110841 seconds
     -- used .143476 seconds
(25, 60)
6
     -- used .0196961 seconds
     -- used .325327 seconds
(36, 120)
7
     -- used .0410206 seconds
     -- used 1.19586 seconds
(49, 217)

                                   2
o4 = {- y    + y   , - y   y    + y   , - y   y    + y   y   , - y   y    +
         1,0    0,1     1,1 0,0    1,0     2,1 0,0    2,0 1,0     2,1 1,0  
     ------------------------------------------------------------------------
     y   y   , - y   y    + y   y   , - y   y    + y   y   , - y   y    +
      2,0 1,1     2,2 1,0    2,1 2,0     3,2 1,0    3,0 2,1     3,2 1,0  
     ------------------------------------------------------------------------
     y   y   }
      3,1 2,0

o4 : List

Caveat

It is not checked if m is equivariant. Only the images of the orbit generators of the source ring are examined and the rest of the map ignored.

See also

Ways to use egbToric:

  • egbToric(RingMap)

For the programmer

The object egbToric is a method function with options.


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