Macaulay2 » Documentation
Packages » Macaulay2Doc > rings > monoid > monoid(...,DegreeLift=>...)
next | previous | forward | backward | up | index | toc

monoid(...,DegreeLift=>...) -- specify maps between degree groups

Synopsis

Description

The DegreeMap option specifies the degree map, particularly when Join => false is given. The degree map is a (linear) function from the multidegrees of the (future) coefficient ring to the multidegrees of the monoid ring (polynomial ring) made from it with the monoid created here, to be used in determining homogeneity and in determining degrees in tensor products. The default is the identity.

If a degree map is provided, it will be used in computing tensor products.

i1 : A = QQ[x];
i2 : B = A[y,
         Join => false,
         DegreeMap => x -> 7*x]

o2 = B

o2 : PolynomialRing
i3 : B.FlatMonoid

o3 = monoid[y, x, Degrees => {1, 7}, Heft => {1}, Join => false, MonomialOrder => {MonomialSize => 32}]
                                                                                  {GRevLex => {1}    }
                                                                                  {Position => Up    }
                                                                                  {GRevLex => {1}    }

o3 : GeneralOrderedMonoid
i4 : degrees A^{-1,-2}

o4 = {{1}, {2}}

o4 : List
i5 : degrees(A^{-1,-2} ** B)

o5 = {{7}, {14}}

o5 : List

For certain applications, such as lifting matrices, a degree lift function can be provided using the DegreeLift option. The degree lift is a (partial) inverse of the degree map, giving an error when lifting is not possible. If the degree map is the identity, then by default the identity map will be provided.

i6 : B = A[y,
         Join => false,
         DegreeMap => x -> 7*x,
         DegreeLift => x -> apply(x, d -> d // 7)]

o6 = B

o6 : PolynomialRing
i7 : m = matrix {{x_B}}

o7 = | x |

             1      1
o7 : Matrix B  <-- B
i8 : degrees m

o8 = {{{0}}, {{7}}}

o8 : List
i9 : lift(m, A)

o9 = | x |

             1      1
o9 : Matrix A  <-- A
i10 : degrees oo

o10 = {{{0}}, {{1}}}

o10 : List

This option may also be used when creating a new ring from an existing ring, creating a tensor product ring, or symmetric algebra.

Further information

See also

Functions with optional argument named DegreeLift :