# ApCoCoA-1:NC.IsGB

## 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