# ApCoCoA-1:NCo.PrefixReducedGB

## NCo.PrefixReducedGB

Compute a prefix reduced Groebner basis of a finitely generated right ideal in a finitely presented monoid ring.

Let `P=K<X|R>` be a finitely presented monoid ring, and let `I` be a right ideal of `P`. Given a word ordering `Ordering`, a set `G` of non-zero polynomials is called a *prefix Groebner basis* of `I` with respect to `Ordering` if, for each non-zero polynomial `f` in `I`, there exists a polynomial `g` such that the leading word of `g` is a prefix of the leading word of `f`. A prefix Groebner basis `G` is called a *prefix reduced Groebner basis* if `G` is interreduced (see NCo.PrefixInterreduction) and all polynomials in `G` are monic. Note that each ideal has a unique prefix reduced Groebner basis. However, it is not necessarily finite. Thus this function might not terminate.

### Syntax

NCo.PrefixReducedGB(G:LIST):LIST

### 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`, rewrite relations `Relations` and word ordering `Ordering` through the functions NCo.SetFp, NCo.SetX, NCo.SetRelations and NCo.SetOrdering, respectively, before using this function. The default coefficient field is the field of rational numbers, i.e. RAT in CoCoAL, and the default ordering is the length-lexicographic ordering "LLEX". For more information, please check the relevant functions.

@param

*G:*a LIST of non-zero polynomials generating a right ideal in the monoid ring. Each polynomial is represented as a LIST of LISTs, i.e. as`[[C1,W1],...,[Cs,Ws]]`where, for each i, Wi is a term represented as a STRING and Ci is the coefficient of Wi. For example, polynomial`f=xy-y+1`is represented as F:=[[1,"xy"], [-1, "y"], [1,""]]. The zero polynomial`0`is represented as the empty LIST [].@return: a LIST of polynomials, which is a prefix reduced Groebner basis of the right ideal generated by G.

#### Example

NCo.SetX(<quotes>abc</quotes>); NCo.SetOrdering(<quotes>LLEX</quotes>); NCo.SetRelations([[<quotes>aa</quotes>,<quotes></quotes>], [<quotes>bb</quotes>,<quotes></quotes>], [<quotes>ab</quotes>,<quotes>c</quotes>], [<quotes>ac</quotes>, <quotes>b</quotes>], [<quotes>cb</quotes>, <quotes>a</quotes>]]); F := [[1,<quotes>a</quotes>],[1,<quotes>b</quotes>],[1,<quotes>c</quotes>]]; NCo.PrefixReducedGB([F]); [[[1, <quotes>b</quotes>], [-1, <quotes></quotes>]], [[1, <quotes>a</quotes>], [1, <quotes>c</quotes>], [1, <quotes></quotes>]], [[1, <quotes>cc</quotes>], [1, <quotes>c</quotes>], [1, <quotes></quotes>]], [[1, <quotes>ca</quotes>], [-1, <quotes>c</quotes>]]] --------------------------------

### See also