# Difference between revisions of "ApCoCoA-1:NC.IsGB"

Line 2: | Line 2: | ||

<title>NC.IsGB</title> | <title>NC.IsGB</title> | ||

<short_description> | <short_description> | ||

− | Check whether a list of non-zero polynomials in a free monoid ring is a Groebner basis. | + | Check whether a finite list (set) of non-zero polynomials in a free monoid ring is a Groebner basis. Note that, given an ideal <tt>I</tt> and an admissible ordering <tt>Ordering</tt>, a set of non-zero polynomials <tt>Gb</tt> is called a <em>Groebner basis</em> of <tt>I</tt> w.r.t. <tt>Ordering</tt> if the leading term set <tt>LT{Gb}</tt> (w.r.t. <tt>Ordering</tt>) generates the leading term ideal <tt>LT(I)</tt> (w.r.t. <tt>Ordering</tt>). The function check whether a given finite set of non-zero polynomial <tt>G</tt> is a Groebner basis by using the <tt>Buchberger Criterion</tt>, i.e. <tt>G</tt> is a Groebner basis if all the <tt>S-polynomials</tt> of obstructions have the zero normal remainder w.r.t. <tt>G</tt>. |

</short_description> | </short_description> | ||

<syntax> | <syntax> | ||

Line 23: | Line 23: | ||

G := [F1, F2,F3,F4]; | G := [F1, F2,F3,F4]; | ||

NC.IsGB(G); -- LLEX ordering (default ordering) | NC.IsGB(G); -- LLEX ordering (default ordering) | ||

+ | |||

False | False | ||

------------------------------- | ------------------------------- | ||

NC.SetOrdering(<quotes>ELIM</quotes>); | NC.SetOrdering(<quotes>ELIM</quotes>); | ||

NC.IsGB(G); | NC.IsGB(G); | ||

+ | |||

False | False | ||

------------------------------- | ------------------------------- |

## Revision as of 11:07, 11 June 2012

## NC.IsGB

Check whether a finite list (set) of non-zero polynomials in a free monoid ring is a Groebner basis. Note that, given an ideal `I` and an admissible ordering `Ordering`, a set of non-zero polynomials `Gb` is called a *Groebner basis* of `I` w.r.t. `Ordering` if the leading term set `LT{Gb}` (w.r.t. `Ordering`) generates the leading term ideal `LT(I)` (w.r.t. `Ordering`). The function check whether a given finite set of non-zero polynomial `G` is a Groebner basis by using the `Buchberger Criterion`, i.e. `G` is a Groebner basis if all the `S-polynomials` of obstructions have the zero normal remainder w.r.t. `G`.

### Syntax

NC.IsGB(G:LIST):BOOL

### Description

*Please note:* The function(s) explained on this page is/are using the *ApCoCoAServer*. You will have to start the ApCoCoAServer in order to use it/them.

Please set ring environment *coefficient field* `K`, *alphabet* (or set of indeterminates) `X` and *ordering* via the functions NC.SetFp, NC.SetX and NC.SetOrdering, respectively, before calling the function. The default coefficient field is `Q`. The default ordering is length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.

@param

*G*: a LIST of non-zero polynomials in`K<X>`. Each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in`<X>`and C is the coefficient of W. For example, the polynomial`F=xy-y+1`is represented as F:=[[1,"xy"], [-1, "y"], [1,""]].@return: a BOOL value which is True if

`G`is a Groebner basis w.r.t. the current ordering and False otherwise.

#### Example

NC.SetX(<quotes>xyt</quotes>); F1 := [[1,<quotes>xx</quotes>], [-1,<quotes>yx</quotes>]]; F2 := [[1,<quotes>xy</quotes>], [-1,<quotes>ty</quotes>]]; F3 := [[1,<quotes>xt</quotes>], [-1, <quotes>tx</quotes>]]; F4 := [[1,<quotes>yt</quotes>], [-1, <quotes>ty</quotes>]]; G := [F1, F2,F3,F4]; NC.IsGB(G); -- LLEX ordering (default ordering) False ------------------------------- NC.SetOrdering(<quotes>ELIM</quotes>); NC.IsGB(G); False -------------------------------

### See also