<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>truncate -- truncate the module at a specified degree</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_truncate__Output.html">next</a> | <a href="_true.html">previous</a> | <a href="_truncate__Output.html">forward</a> | <a href="_true.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <hr/> <div><h1>truncate -- truncate the module at a specified degree</h1> <div class="single"><h2>Synopsis</h2> <ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>truncate(i,M)</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>i</tt>, an integer or a list of integers, representing a degree or multi-degree</span></li> <li><span><tt>M</tt>, a module or an ideal</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span>the ideal or submodule of M consisting of all elements of degree >= i.</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div>If <tt>i</tt> is a multi-degree, then the result is the submodule generated by all elements of degree exactly <tt>i</tt>, together with all generators of <tt>M</tt> whose first degree is higher than the first entry in <tt>i</tt>.<table class="examples"><tr><td><pre>i1 : R = ZZ/101[a..c];</pre> </td></tr> <tr><td><pre>i2 : truncate(2,R^1) o2 = image | a2 ab ac b2 bc c2 | 1 o2 : R-module, submodule of R</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> </table> <p/> The base may be ZZ, or another polynomial ring. In this case, the generators may not be minimal.<table class="examples"><tr><td><pre>i5 : A = ZZ[x,y,z];</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> </table> <table class="examples"><tr><td><pre>i8 : L = ZZ/691[x,y,z];</pre> </td></tr> <tr><td><pre>i9 : B = L[s,t,Join=>false];</pre> </td></tr> <tr><td><pre>i10 : truncate(2,ideal(3*x*s,5*y*t^2,s*t)) 2 o10 = ideal (3x*s, 5y*t , s*t) o10 : Ideal of B</pre> </td></tr> <tr><td><pre>i11 : truncate(2,comodule ideal(3*x,5*y,15)) o11 = subquotient (0, | 3x 5y 15 |) 1 o11 : L-module, subquotient of L</pre> </td></tr> </table> The following includes the generator of degree {8,20}.<table class="examples"><tr><td><pre>i12 : S = ZZ/101[x,y,z,Degrees=>{{1,3},{1,4},{1,-1}}];</pre> </td></tr> <tr><td><pre>i13 : truncate({7,24}, S^1 ++ S^{{-8,-20}}) o13 = image {0, 0} | x4y3 | {8, 20} | 0 | 2 o13 : S-module, submodule of S</pre> </td></tr> </table> </div> </div> <div class="single"><h2>Caveat</h2> <div>Bug: The answer is not correct in the example over a polynomial ring!<p/> 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 <tt>i</tt> may be duplicated in the generator list.</div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_comodule.html" title="submodule to quotient module">comodule</a> -- submodule to quotient module</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>truncate</tt> :</h2> <ul><li>truncate(List,Ideal)</li> <li>truncate(List,Module)</li> <li>truncate(ZZ,Ideal)</li> <li>truncate(ZZ,Module)</li> </ul> </div> </div> </body> </html>