CoCoA:GBasis

From CoCoAWiki
Jump to: navigation, search
 <command>
   <title>GBasis</title>
   <short_description>calculate a Groebner basis</short_description>
   <description>

If M is an ideal or module, this function returns a list whose components form a Groebner basis for M with respect to the term-ordering of the polynomial ring of M. If M is a quotient ring by an ideal I or of a free module by a submodule N, then the Groebner basis for M is defined to be that of I or N, respectively. <par/> If M is a variable, then the result is stored in M for later use. It can be retrieved as M.GBasis and can also be seen using the command <ref>Describe</ref>. <par/> For a reduced Groebner basis, use the command <ref>ReducedGBasis</ref>. <par/> The coefficient ring must be a field.

<example>

 Use R ::= Q[t,x,y];
 I := Ideal(t^3-x,t^4-y);
 Describe I;

Record[Type = IDEAL, Value = Record[Gens = [t^3 - x, t^4 - y]]]


 GBasis(I);

[t^3 - x, -tx + y, t^2y - x^2, x^3 - ty^2]


 Describe(I);  -- the Groebner basis has been stored in I

Record[Type = IDEAL, Value = Record[Gens = [t^3 - x, t^4 - y], GBasis = [t^3 - x, -tx + y, t^2y - x^2, x^3 - ty^2]]]


 I.GBasis;

[t^3 - x, -tx + y, t^2y - x^2, x^3 - ty^2]


</example>

For fine control and monitoring of Groebner basis calculations, see <ref>The Interactive Groebner Framework</ref> and <ref>Introduction to Panels</ref>.

   </description>
   <syntax>

GBasis(M:IDEAL, MODULE, or TAGGED(<quotes>Quotient</quotes>)):LIST </syntax>

   <see>Introduction to Groebner Bases in CoCoA</see>
   <see>GBasisTimeout</see>
   <see>GBasis5, and more</see>
   <type>groebner</type>
   <type>groebner-basic</type>
   <type>ideal</type>
   <type>module</type>
   <type>quotient</type>
   <type>cocoaserver</type>
   <key>gbasis</key>
 </command>