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

# buildEMonomialMap -- builds an equivariant ring map

- Usage:
    `m = buildEMonomialMap`
- Inputs:
  - R, a ring, the target ring with symmetric action, produced by buildERing
  - S, a ring, the source ring with symmetric action, produced by buildERing
  - L, a list, a list of monomials in R, the images of each of the variable orbit generators of S
- Outputs:
  - m, a ring map, an equivariant monomial map to R from S

## Description

R and S must be rings created by buildERing. Each orbit of variables in S consists of variables of the form x_{(i_1,...,i_k)} for some width k. L is a list that for each such orbit gives the desired image of x_{(0,...,k-1)}. The rest of the map is extrapolated from these value.

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

    i2 : vars R

    o2 = | x_2 x_1 x_0 y_2 y_1 y_0 |

                 1      6
    o2 : Matrix R  <-- R

    i3 : n = buildEMonomialMap(R,R,{x_0,x_0^3})

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

    o3 : RingMap R <-- R

    i4 : n(x_1^3*y_0)

          3 3
    o4 = x x
          1 0

    o4 : R

    i5 : S = buildERing({symbol z}, {2}, QQ, 3);

    i6 : vars S

    o6 = | z_(2,2) z_(2,1) z_(2,0) z_(1,2) z_(1,1) z_(1,0) z_(0,2) z_(0,1)
         ------------------------------------------------------------------------
         z_(0,0) |

                 1      9
    o6 : Matrix S  <-- S

    i7 : m = buildEMonomialMap(R,S,{x_0^2*y_1})

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

    o7 : RingMap R <-- S

    i8 : m(z_(1,2))

          2
    o8 = x y
          1 2

    o8 : R

## Caveat

If a given variable orbit of S has k indices, then the target monomial list in L should only use indices between 0 and k-1.

## See also

- egbToric -- computes the kernel of an equivariant monomial map
- buildERing -- creates a ring to be used with other functions in the EquivariantGB package

## Ways to use buildEMonomialMap:

- `buildEMonomialMap(Ring,Ring,List)`

## For the programmer

The object buildEMonomialMap is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/EquivariantGB.m2:1236:0.