Macaulay2 » Documentation
Packages » Truncations > truncate(List,Module)
next | previous | forward | backward | up | index | toc

truncate(List,Module) -- truncation of the graded ring, ideal or module at a specified degree or set of degrees

Synopsis

Description

The truncation to degree $d$ in the singly graded case of a module (or ring or ideal) is generated by all homogeneous elements of degree at least $d$ in $M$. The resulting truncation is minimally generated (assuming that $M$ is graded).

i1 : R = ZZ/101[a..c];
i2 : truncate(2, R)

             2             2        2
o2 = ideal (c , b*c, a*c, b , a*b, a )

o2 : Ideal of R
i3 : truncate(2, R^1)

o3 = image | c2 bc ac b2 ab a2 |

                             1
o3 : R-module, submodule of R
i4 : truncate(2, R^{0,-3})

o4 = image {0} | c2 bc ac b2 ab a2 0 |
           {3} | 0  0  0  0  0  0  1 |

                             2
o4 : R-module, submodule of R

The coefficient ring of $R$ may be $\ZZ$ or another polynomial ring. Over $\ZZ$, the generators may not be minimal, but they do generate.

i5 : A = ZZ[x,y,z];
i6 : truncate(2, ideal(3*x, 5*y, 15))

               2                2         2
o6 = ideal (15z , 5y*z, 3x*z, 5y , x*y, 3x )

o6 : Ideal of A

If a multi-degree $d$ is given, then the result is the submodule generated by elements of degree $d+\NN\mathcal C$ where $\mathcal C$ is either a generating set for the degree semigroup of $R$ or the Nef cone of the toric variety.

The following example finds the 11 generators needed to obtain all graded elements whose degrees are at least $\{7,24\}$.

i7 : S = ZZ/101[x,y,z, Degrees => {{1,3},{1,4},{1,0}}];
i8 : trunc = truncate({7,24}, S^1 ++ S^{{-8,-20}})

o8 = image {0, 0}  | y6z y7 xy6 x2y5 x3y4 x4y3 x6y2 x7y x8 0 0  |
           {8, 20} | 0   0  0   0    0    0    0    0   0  y x2 |

                             2
o8 : S-module, submodule of S
i9 : degrees trunc

o9 = {{7, 24}, {7, 28}, {7, 27}, {7, 26}, {7, 25}, {7, 24}, {8, 26}, {8, 25},
     ------------------------------------------------------------------------
     {8, 24}, {9, 24}, {10, 26}}

o9 : List

Given a list of multi-degrees $D$, then the result is the submodule generated by elements of degree $d+\NN\mathcal C$ for any $d\in D$.

The following example finds the generators needed to obtain all graded elements whose degrees at least $\{3,0\}$ or at least $\{0,1\}$. The resulting module is also minimally generated.

i10 : S = ZZ/101[x,y,z, Degrees => {{1,3},{1,4},{1,0}}];
i11 : trunc = truncate({{3,0}, {0,1}}, S^1 ++ S^{{-8,-20}})

o11 = image {0, 0}  | y x z3 yz2 xz2 y2z xyz x2z y3 xy2 x2y x3 0 |
            {8, 20} | 0 0 0  0   0   0   0   0   0  0   0   0  1 |

                              2
o11 : S-module, submodule of S
i12 : degrees trunc

o12 = {{1, 4}, {1, 3}, {3, 0}, {3, 4}, {3, 3}, {3, 8}, {3, 7}, {3, 6}, {3,
      -----------------------------------------------------------------------
      12}, {3, 11}, {3, 10}, {3, 9}, {8, 20}}

o12 : List

The coefficient ring may also be a polynomial ring. In this example, the coefficient variables also have degree one. The given generators will generate the truncation over the coefficient ring.

i13 : B = R[x,y,z, Join => false];
i14 : degrees B

o14 = {{1}, {1}, {1}}

o14 : List
i15 : truncate(2, B^1)

o15 = image | c2 bc ac b2 ab a2 cz bz az cy by ay cx bx ax z2 yz xz y2 xy x2 |

                              1
o15 : B-module, submodule of B
i16 : truncate(4, ideal(b^2*y,x^3))

              2      3      2    2      2 2   2        3     3     3   3  
o16 = ideal (b c*y, b y, a*b y, b y*z, b y , b x*y, c*x , b*x , a*x , x z,
      -----------------------------------------------------------------------
       3    4
      x y, x )

o16 : Ideal of B

If the coefficient variables have degree 0:

i17 : A1 = ZZ/101[a,b,c, Degrees => {3:{}}];
i18 : degrees A1

o18 = {{}, {}, {}}

o18 : List
i19 : B1 = A1[x,y];
i20 : degrees B1

o20 = {{1}, {1}}

o20 : List
i21 : truncate(2, B1^1)

o21 = image | y2 xy x2 |

                                1
o21 : B1-module, submodule of B1
i22 : truncate(2, ideal(a^3*x, b*y^2))

                2   3      3 2
o22 = ideal (b*y , a x*y, a x )

o22 : Ideal of B1

Caveat

The behavior of this function has changed as of Macaulay2 version 1.13. This is a (potentially) breaking change. Before, it used a less useful notion of truncation, involving the heft vector, and was often not what one wanted in the multi-graded case. Additionally, in the tower ring case, when the coefficient ring had variables of nonzero degree, sometimes incorrect answers resulted.

Also, the function expects a graded module, ring, or ideal, but this is not checked, and some answer is returned.

See also

Ways to use this method: