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

buildEMonomialMap -- builds an equivariant ring map

Synopsis

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

Ways to use buildEMonomialMap :

For the programmer

The object buildEMonomialMap is a method function.