Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 5119

Macaulay2-1.3.1-8.fc15.i686.rpm

<?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>simple Groebner basis computations over various rings</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_computing_sp__Groebner_spbases.html">next</a> | <a href="___Groebner_spbasis_spexamples_spand_spapplications.html">previous</a> | forward | backward | <a href="___Groebner_spbasis_spexamples_spand_spapplications.html">up</a> | <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>
<div><a href="index.html" title="">Macaulay2Doc</a> > <a href="___Gröbner_spbases.html" title="">Gröbner bases</a> > <a href="___Groebner_spbasis_spexamples_spand_spapplications.html" title="">Groebner basis examples and applications</a> > <a href="_simple_sp__Groebner_spbasis_spcomputations_spover_spvarious_springs.html" title="">simple Groebner basis computations over various rings</a></div>
<hr/>
<div><h1>simple Groebner basis computations over various rings</h1>
<div>For a definition of Groebner basis, see <a href="_what_spis_spa_sp__Groebner_spbasis_qu.html" title="">what is a Groebner basis?</a>.<h2>A first Groebner basis</h2>
<h2>Weight vectors and non-strict monomial orders</h2>
The monomial order may be given by a weight vector (see <a href="_monomial_sporderings.html" title="">monomial orderings</a>),<table class="examples"><tr><td><pre>i1 : R = QQ[a..f,MonomialOrder=>Weights=>{1,1,1,1,0,0}]

o1 = R

o1 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i2 : I = ideal(a*b*c-d*e*f,a*c*e-b*d*f,a*d*f-b*c*e)

o2 = ideal (a*b*c - d*e*f, a*c*e - b*d*f, - b*c*e + a*d*f)

o2 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i3 : gens gb I

o3 = | bce-adf ace-bdf abc-def b2df-de2f a2df-de2f c2de3f-d3ef3 abd2f2-cde3f
     ------------------------------------------------------------------------
     |

             1       7
o3 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i4 : leadTerm I

o4 = | bce ace abc b2df a2df c2de3f abd2f2 |

             1       7
o4 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
The monomial order used here is: first consider the dot product of the weight vector and the exponent vectors.  The larger determines the lead term.  If these dot products are the same, then ties are broken with graded reverse lexicographic order.  Sometimes, one wants the lead term ideal with respect to the weight vector itself. This ideal, often not a monomial ideal, may be obtained by selecting only the first part of the monomial order while finding the lead term matrix:<table class="examples"><tr><td><pre>i5 : leadTerm(1,I)

o5 = | bce-adf ace-bdf abc b2df a2df c2de3f-d3ef3 abd2f2 |

             1       7
o5 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h2>Groebner basis over the integers</h2>
A strong Groebner basis of an ideal <i>I &sub; ZZ[x<sub>1</sub>,...,x<sub>n</sub>]</i> is a set <i>G</i> of elements of <i>I</i> such that, if <i>cm</i> is any lead term of <i>I</i> (<i>c</i> a coefficient, and <i>m</i> a monomial), then there is an element of <i>G</i> whose lead term divides <i>cm</i>.<p/>
Macaulay2 computes such strong Groebner bases over ZZ.<table class="examples"><tr><td><pre>i6 : R = ZZ[x,y]

o6 = R

o6 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i7 : F = y^2-(x^3+3*x+5)

        3    2
o7 = - x  + y  - 3x - 5

o7 : R</pre>
</td></tr>
<tr><td><pre>i8 : I = ideal(F, diff(x,F), diff(y,F))

               3    2               2
o8 = ideal (- x  + y  - 3x - 5, - 3x  - 3, 2y)

o8 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i9 : gens gb I

o9 = | 174 2y 6x-72 y2+87 3x2+3 x2y+y x3+3x-82 |

             1       7
o9 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i10 : leadTerm I

o10 = | 174 2y 6x y2 3x2 x2y x3 |

              1       7
o10 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i11 : factor 174

o11 = 2*3*29

o11 : Expression of class Product</pre>
</td></tr>
</table>
This elliptic curve is smooth for all primes <i>p &ne;2, 3, 29</i>.<h2>Groebner basis over a quotient ring</h2>
The lead terms of the Groebner basis generate all possible lead terms modulo the lead terms of the quotient ideal.<table class="examples"><tr><td><pre>i12 : R = QQ[a..d]/(a^2+b^2+c^2+d^2-1)

o12 = R

o12 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i13 : I = ideal(a*b*c*d)

o13 = ideal(a*b*c*d)

o13 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i14 : gens gb I

o14 = | abcd b3cd+bc3d+bcd3-bcd |

              1       2
o14 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h2>A Groebner basis over a skew-commutative ring</h2>
The lead terms of the Groebner basis generate all possible lead terms, as in the commutative case.  Essentially the same algorithm is applicable in this case.<table class="examples"><tr><td><pre>i15 : R = QQ[a..d,SkewCommutative=>true]

o15 = R

o15 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i16 : I = ideal(a*b-c*d)

o16 = ideal(a*b - c*d)

o16 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i17 : gens gb I

o17 = | ab-cd bcd acd |

              1       3
o17 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h2>Groebner basis over polynomial rings over polynomial rings</h2>
For such rings, we may imagine a polynomial ring over a base field, or over the integers, possibly modulo some ideal.  The resulting Groebner basis is this one.  The monomial order is a product order, with the variables in the outermost polynomial ring the most expensive.<table class="examples"><tr><td><pre>i18 : A = QQ[s,c]/(s^2+c^2-1)

o18 = A

o18 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i19 : B = A[x,y,z]

o19 = B

o19 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i20 : I = ideal(c*x^2, s*y^2, c*y-s*x)

                2     2
o20 = ideal (c*x , s*y , - s*x + c*y)

o20 : Ideal of B</pre>
</td></tr>
<tr><td><pre>i21 : gens gb I

o21 = | xs-yc xc2-x+ysc y2 xy x2 |

              1       5
o21 : Matrix B  &lt;--- B</pre>
</td></tr>
<tr><td><pre>i22 : leadTerm oo

o22 = | xs xc2 y2 xy x2 |

              1       5
o22 : Matrix B  &lt;--- B</pre>
</td></tr>
</table>
<h2>A Groebner basis of a submodule</h2>
</div>
</div>
</body>
</html>