<?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>mingens(Module) -- minimal generator matrix</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_minimal_sppresentations_spand_spgenerators.html">next</a> | <a href="_mingens_lp__Groebner__Basis_rp.html">previous</a> | <a href="_minimal_sppresentations_spand_spgenerators.html">forward</a> | <a href="_mingens_lp__Groebner__Basis_rp.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>mingens(Module) -- minimal generator 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>mingens I</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_mingens.html" title="minimal generator matrix">mingens</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>I</tt>, <span>a <a href="___Module.html">module</a></span>, or an ideal</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><span>a <a href="___Matrix.html">matrix</a></span>, a matrix, whose columns generate I.</span></li> </ul> </div> </li> <li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><a href="___Complement.html">Strategy => ...</a>, </span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div>If I is homogeneous, then a matrix, whose columns minimally generate I, is returned.<table class="examples"><tr><td><pre>i1 : R = QQ[a..f] o1 = R o1 : PolynomialRing</pre> </td></tr> <tr><td><pre>i2 : I = ideal(a,b,c) * ideal(a,b,c) 2 2 2 o2 = ideal (a , a*b, a*c, a*b, b , b*c, a*c, b*c, c ) o2 : Ideal of R</pre> </td></tr> <tr><td><pre>i3 : mingens I o3 = | c2 bc ac b2 ab a2 | 1 6 o3 : Matrix R <--- R</pre> </td></tr> </table> If I is not homogeneous, then an attempt is made to find a more efficient generating matrix, one which is better than a Gröbner basis. There is no guarantee that the generating set is small, or that no subset also generates. The only thing known is that the entries do generate the ideal.<table class="examples"><tr><td><pre>i4 : J = ideal(a-1, b-2, c-3) o4 = ideal (a - 1, b - 2, c - 3) o4 : Ideal of R</pre> </td></tr> <tr><td><pre>i5 : I = J*J 2 o5 = ideal (a - 2a + 1, a*b - 2a - b + 2, a*c - 3a - c + 3, a*b - 2a - b + ------------------------------------------------------------------------ 2 2, b - 4b + 4, b*c - 3b - 2c + 6, a*c - 3a - c + 3, b*c - 3b - 2c + 6, ------------------------------------------------------------------------ 2 c - 6c + 9) o5 : Ideal of R</pre> </td></tr> <tr><td><pre>i6 : mingens I o6 = | c2-6c+9 bc-3b-2c+6 ac-3a-c+3 b2-4b+4 ab-2a-b+2 a2-2a+1 | 1 6 o6 : Matrix R <--- R</pre> </td></tr> </table> Every module I in Macaulay2 is a submodule of a quotient of some ambient free module F. This routine returns a minimal, or improved generating set for the same module I. If you want to minimize the generators and the relations of a subquotient module, use <a href="_trim.html" title="minimize generators and relations">trim</a>. If you want a minimal presentation, then use <a href="_minimal__Presentation.html" title="compute a minimal presentation">minimalPresentation</a>.<table class="examples"><tr><td><pre>i7 : M = matrix{{a^2*b*c-d*e*f,a^3*c-d^2*f,a*d*f-b*c*e-1}} o7 = | a2bc-def a3c-d2f -bce+adf-1 | 1 3 o7 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i8 : I = kernel M o8 = image {4} | -bce+adf-1 0 a3c-d2f a4c-bcde-d -a3ce+d2ef a4df-bd2ef-a3 -a5df+abd2ef+a4 -a5cf+abcdef+adf | {4} | 0 -bce+adf-1 -a2bc+def -a3bc+bce2+e a3df-de2f-a2 -a3bdf+bde2f+a2b a4bdf-abde2f-a3b a4bcf-abce2f-aef | {3} | -a2bc+def -a3c+d2f 0 -a2bcd+a3ce -a5c+a2d2f -a2bd2f+a3def a3bd2f-a4def a3bcdf-a4cef | 3 o8 : R-module, submodule of R</pre> </td></tr> <tr><td><pre>i9 : J = image mingens I o9 = image {4} | bce-adf+1 0 a3c-d2f | {4} | 0 bce-adf+1 -a2bc+def | {3} | a2bc-def a3c-d2f 0 | 3 o9 : R-module, submodule of R</pre> </td></tr> <tr><td><pre>i10 : I == J o10 = true</pre> </td></tr> <tr><td><pre>i11 : trim I o11 = image {4} | bce-adf+1 0 a3c-d2f | {4} | 0 bce-adf+1 -a2bc+def | {3} | a2bc-def a3c-d2f 0 | 3 o11 : R-module, submodule of R</pre> </td></tr> </table> <p/> If the base ring is a polynomial ring (or quotient of one), then a Gröbner basis computation is started, and continued until all generators have been considered.</div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_trim.html" title="minimize generators and relations">trim</a> -- minimize generators and relations</span></li> <li><span><a href="_minimal__Presentation.html" title="compute a minimal presentation">minimalPresentation</a> -- compute a minimal presentation</span></li> <li><span><a href="_kernel.html" title="kernel of a ringmap, matrix, or chain complex">kernel</a> -- kernel of a ringmap, matrix, or chain complex</span></li> <li><span><a href="_image.html" title="image of a map">image</a> -- image of a map</span></li> </ul> </div> </div> </body> </html>