next | previous | forward | backward | up | top | index | toc | home

truncate -- truncate the module at a specified degree

Synopsis

Description

If i is a multi-degree, then the result is the submodule generated by all elements of degree exactly i, together with all generators of M whose first degree is higher than the first entry in i.
i1 : R = ZZ/101[a..c];
i2 : truncate(2,R^1)

o2 = image | a2 ab ac b2 bc c2 |

                             1
o2 : R-module, submodule of R
i3 : truncate(2, ideal(a,b,c^3)/ideal(a^2,b^2,c^4))

o3 = subquotient (| ab ac bc c3 |, | a2 b2 c4 |)

                               1
o3 : R-module, subquotient of R
i4 : truncate(2,ideal(a,b*c,c^7))

             2                  7
o4 = ideal (a , a*b, a*c, b*c, c )

o4 : Ideal of R

The base may be ZZ, or another polynomial ring. In this case, the generators may not be minimal.

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

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

o6 : Ideal of A
i7 : truncate(2,comodule ideal(3*x,5*y,15))

o7 = subquotient (| x2 xy xz y2 yz z2 |, | 3x 5y 15 |)

                               1
o7 : A-module, subquotient of A
i8 : L = ZZ/691[x,y,z];
i9 : B = L[s,t];
i10 : truncate(2,ideal(3*x*s,5*y*t^2,s*t))

                 2      2
o10 = ideal (3x*s , 5y*t , s*t)

o10 : Ideal of B
i11 : truncate(2,comodule ideal(3*x,5*y,15))

o11 = subquotient (0, | 3x 5y 15 |)

                                1
o11 : L-module, subquotient of L
The following includes the generator of degree {8,20}.
i12 : S = ZZ/101[x,y,z,Degrees=>{{1,3},{1,4},{1,-1}}];
i13 : truncate({7,24}, S^1 ++ S^{{-8,-20}})

o13 = image {0, 0}  | x4y3 |
            {8, 20} | 0    |

                              2
o13 : S-module, submodule of S

Caveat

Bug: The answer is not correct in the example over a polynomial ring!

If the degrees of the variables are not all one, then there is currently a bug in the routine: some generators of higher degree than i may be duplicated in the generator list.

See also

Ways to use truncate :