<?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>elementary -- Elementary moves are used to reduce the target of a syzygy matrix</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_evans__Griffith.html">next</a> | <a href="_bruns__Ideal.html">previous</a> | <a href="_evans__Griffith.html">forward</a> | <a href="_bruns__Ideal.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>elementary -- Elementary moves are used to reduce the target of a syzygy matrix</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>g= elementary(f,k,m)</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>f</tt>, <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, whose target degrees are in ascending order</span></li> <li><span><tt>k</tt>, <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, whose value is strictly less than the number of rows of f</span></li> <li><span><tt>m</tt>, <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, positive</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>g</tt>, <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, obtained from f by adding random multiples of the last row by polynomials in the first m variables to the k preceding rows, and then deleting the last row.</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>Factors out a general element, reducing the rank of f. More precisely, the routine adds random multiples of the last row, whose coefficients are polynomials in the first m variables, to the k preceding rows and drops the last row. For this to be effective, the target degrees of f must be in ascending order.</p> <p>This is a fundamental operation in the theory of basic elements, see D. Eisenbud and E. G. Evans, <em>Basic elements: theorems from algebraic k-theory</em>, Bulletin of the AMS, <b>78</b>, No.4, 1972, 546-549.</p> <div>Here is a basic example:</div> <table class="examples"><tr><td><pre>i1 : kk=ZZ/32003 o1 = kk o1 : QuotientRing</pre> </td></tr> <tr><td><pre>i2 : S=kk[a..d] o2 = S o2 : PolynomialRing</pre> </td></tr> <tr><td><pre>i3 : M=matrix{{a,0,0,0},{0,b,0,0},{0,0,c,0},{0,0,0,d}} o3 = | a 0 0 0 | | 0 b 0 0 | | 0 0 c 0 | | 0 0 0 d | 4 4 o3 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i4 : elementary(M,0,1)-- since k=0, this command simply eliminates the last row of M. o4 = | a 0 0 0 | | 0 b 0 0 | | 0 0 c 0 | 3 4 o4 : Matrix S <--- S</pre> </td></tr> </table> <div>Here is a more involved example. This is also how this function is used within the package.</div> <table class="examples"><tr><td><pre>i5 : kk=ZZ/32003 o5 = kk o5 : QuotientRing</pre> </td></tr> <tr><td><pre>i6 : S=kk[a..d] o6 = S o6 : PolynomialRing</pre> </td></tr> <tr><td><pre>i7 : I=ideal(a^2,b^3,c^4, d^5) 2 3 4 5 o7 = ideal (a , b , c , d ) o7 : Ideal of S</pre> </td></tr> <tr><td><pre>i8 : F=res I 1 4 6 4 1 o8 = S <-- S <-- S <-- S <-- S <-- 0 0 1 2 3 4 5 o8 : ChainComplex</pre> </td></tr> <tr><td><pre>i9 : M=image F.dd_3 o9 = image {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | a2 0 0 d5 | {7} | 0 -b3 -c4 0 | {8} | 0 a2 0 -c4 | {9} | 0 0 a2 b3 | 6 o9 : S-module, submodule of S</pre> </td></tr> <tr><td><pre>i10 : f=matrix gens M o10 = {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | a2 0 0 d5 | {7} | 0 -b3 -c4 0 | {8} | 0 a2 0 -c4 | {9} | 0 0 a2 b3 | 6 4 o10 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i11 : fascending=transpose sort(transpose f, DegreeOrder=>Descending) -- this is f with rows sorted so that the degrees are ascending. o11 = {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | 0 -b3 -c4 0 | {7} | a2 0 0 d5 | {8} | 0 a2 0 -c4 | {9} | 0 0 a2 b3 | 6 4 o11 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i12 : g=elementary(fascending,1,1) --k=1, so add random multiples of the last row to the preceding row o12 = {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | 0 -b3 -c4 0 | {7} | a2 0 0 d5 | {8} | 0 a2 10875a3 10875ab3-c4 | 5 4 o12 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i13 : g1=elementary(fascending,1,3) o13 = {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | 0 -b3 -c4 0 | {7} | a2 0 0 d5 | {8} | 0 a2 15770a3-9599a2b-5559a2c 15770ab3-9599b4-5559b3c-c4 | 5 4 o13 : Matrix S <--- S</pre> </td></tr> </table> <div>This method is called by <a href="_evans__Griffith.html" title="Reduces the rank of a syzygy">evansGriffith</a>.</div> </div> </div> <div class="waystouse"><h2>Ways to use <tt>elementary</tt> :</h2> <ul><li>elementary(Matrix,ZZ,ZZ)</li> </ul> </div> </div> </body> </html>