ApCoCoA-1:NC.GB
NC.GB
Compute two-sided (partial) Groebner basis of finitely generated ideal.
Syntax
NC.GB(Polynomials:LIST[, DegreeBound:INT, LoopBound:INT, IFlag:INT]):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.
Before calling the function, please set ring environment coefficient field (K), alphabet (X) and ordering through the functions NC.SetFp(Prime) (or NC.UnsetFp()), NC.SetX(X) and NC.SetOrdering(Ordering) respectively. Default coefficient field is Q. Default ordering is length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.
@param Polynomials: a LIST of polynomials generating a two-sided ideal in K<X>. Each polynomial in K<X> is represented as a LIST of LISTs, which are pairs of form [c, w] where c is in K and w is a word in X*. Unit in X* is empty word represented as an empty STRING "". 0 polynomial is represented as an empty LIST []. For example, polynomial F:=xy-y+1 in K<x,y> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]].
@return: a LIST of polynomials, which is a Groebner basis if a finite Groebner basis exists or a partial Groebner basis.
About the optional parameters.
Please note all of the following 3 additional optional parameters must be used at the same time if used.
@param DegreeBound: (optional) a natural number (INT) giving a degree bound during Groebner basis computation. When a normal form of a S-polynomial reaches DegreeBound, the Buchberger procedure stops and returns a partial Groebner basis.
@param LoopBound: (optional) a natural number (INT) giving a bound for loop during Groebner basis computation. The main loop can only be carried out at most LoopBound times.
@param BFlag: (optional) a boolean parameter (BOOL). If BFlag is true, the ApCoCoAServer prints the tracing information in the screen. Otherwise not.
Example
NC.SetX(<quotes>xyt</quotes>); NC.SetOrdering(<quotes>LLEX</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>]]; Polynomials := [F1, F2,F3,F4]; NC.IsGB(Polynomials); False ------------------------------- NC.SetOrdering(<quotes>ELIM</quotes>); NC.IsGB(Polynomials); False -------------------------------
See also