<?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>Matrix % GroebnerBasis -- calculate the normal form of ring elements and matrices using a (partially computed) Gröbner basis</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="___Matrix_sp_st_sp__Matrix.html">next</a> | <a href="_matrix.html">previous</a> | <a href="___Matrix_sp_st_sp__Matrix.html">forward</a> | <a href="_matrix.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>Matrix % GroebnerBasis -- calculate the normal form of ring elements and matrices using a (partially computed) Gröbner basis</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>f % G</tt></div> </dd></dl> </div> </li> <li><span>Operator: <a href="__pc.html" title="a binary operator, usually used for remainder and reduction">%</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>f</tt>, <span>a <a href="___Ring__Element.html">ring element</a></span>, or <span>a <a href="___Matrix.html">matrix</a></span></span></li> <li><span><tt>G</tt>, <span>a <a href="___Groebner__Basis.html">Groebner basis</a></span></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span>the normal form of <tt>f</tt> with respect to the partially computed Gröbner basis <tt>G</tt></span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div>In the following example, the seventh power of the trace of the matrix M is in the ideal generated by the entries of the cube of M. Since the ideal I is homogeneous, it is only required to compute the Gröbner basis in degrees at most seven.<table class="examples"><tr><td><pre>i1 : R = QQ[a..i];</pre> </td></tr> <tr><td><pre>i2 : M = genericMatrix(R,a,3,3) o2 = | a d g | | b e h | | c f i | 3 3 o2 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i3 : I = ideal(M^3); o3 : Ideal of R</pre> </td></tr> <tr><td><pre>i4 : f = trace M o4 = a + e + i o4 : R</pre> </td></tr> <tr><td><pre>i5 : G = gb(I, DegreeLimit=>3) o5 = GroebnerBasis[status: DegreeLimit; all S-pairs handled up to degree 3] o5 : GroebnerBasis</pre> </td></tr> <tr><td><pre>i6 : f^7 % G == 0 o6 = false</pre> </td></tr> <tr><td><pre>i7 : gb(I, DegreeLimit=>7) o7 = GroebnerBasis[status: DegreeLimit; all S-pairs handled up to degree 7] o7 : GroebnerBasis</pre> </td></tr> <tr><td><pre>i8 : f^7 % G o8 = 0 o8 : R</pre> </td></tr> <tr><td><pre>i9 : gb I o9 = GroebnerBasis[status: done; S-pairs encountered up to degree 9] o9 : GroebnerBasis</pre> </td></tr> </table> In these homogeneous situations, Macaulay2 only computes the Gröbner basis as far as required, as shown below.<table class="examples"><tr><td><pre>i10 : I = ideal(M^3); o10 : Ideal of R</pre> </td></tr> <tr><td><pre>i11 : G = gb(I, StopBeforeComputation=>true) o11 = GroebnerBasis[status: not started; all S-pairs handled up to degree -1] o11 : GroebnerBasis</pre> </td></tr> <tr><td><pre>i12 : f^7 % I o12 = 0 o12 : R</pre> </td></tr> <tr><td><pre>i13 : status G o13 = status: DegreeLimit; all S-pairs handled up to degree 7</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_methods_spfor_spnormal_spforms_spand_spremainder.html" title="calculate the normal form of ring elements and matrices">methods for normal forms and remainder</a> -- calculate the normal form of ring elements and matrices</span></li> <li><span><a href="___Gröbner_spbases.html" title="">Gröbner bases</a></span></li> <li><span><a href="_generic__Matrix.html" title="make a generic matrix of variables">genericMatrix</a> -- make a generic matrix of variables</span></li> </ul> </div> </div> </body> </html>