up previous next
(Partial) Groebner basis of a finitely generated two-sided ideal in a free group ring over
F2.
NC.GGB(G:LIST):LIST
NC.GGB(G:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):LIST
|
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 alphabet (or indeterminates)
X and ordering through the functions
NC.SetX(X) and
NC.SetOrdering(Ordering), respectively, before calling the function. Default ordering is length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.
- @param G: a LIST of non-zero polynomials generating a two-sided ideal in a free group ring over F2. Each polynomial is represented as a LIST of words (or terms). Each term is represented as a STRING. For example, xy^2x is represented as "xyyx", unit is represented as an empty string "". Then, polynomial F=xy-y+1 is represented as F:=["xy", "y", ""]. 0 polynomial is represented as an empty LIST [].
About the optional parameters: For most cases we do not know whether there exists a finite Groebner basis. Instead of forcing computer yelling and informing nothing valuable, the function has 3 optional parameters to control the computation. Note that at the moment
all of the following 3 additional optional parameters must be used at the same time.
- @param DegreeBound: a positive integer which gives a degree bound during Groebner basis computation. When the degree of normal remainder of some S-element reaches DegreeBound, the function stops the loop and returns a partial Groebner basis.
- @param LoopBound: a positive integer which gives a bound for the main loop of Groebner basis computation. When it runs through the main loop LoopBound times, the function stops the loop and returns a partial Groebner basis.
- @param Flag: a non-negative integer which is a multi-switch for the output of ApCoCoAServer. If Flag=0, the server prints nothing on the screen. If Flag=1, the server prints basic information about computing procedure, such as number of S-elements has been checked and to be checked. If Flag=2, the server additionally prints current partial Groebner basis before each loop as well as the information when Flag=1. Note that the initial idea of Flag is to use it as a tool for debugging and tracing the computing process.
- @return: a LIST of polynomials, which is a Groebner basis if (1)finite Groebner basis exists and (2)the computation doesn't stop due to reach DegreeBound or LoopBound, and is a partial Groebner basis otherwise.