ApCoCoA-1:NC.TruncatedGB

From ApCoCoAWiki
Revision as of 09:08, 18 April 2011 by 132.231.10.60 (talk)

NC.TruncatedGB

D-truncated Groebner basis of a finitely generated two-sided ideal in a free associative K-algebra.

Syntax

NC.TruncatedGB(G:LIST, D:INT):LIST
NC.TruncatedGB(G:LIST, D:INT, LoopBound:INT, IFlag:INT):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 indeterminates) X and ordering Ordering through the functions NC.SetFp(Prime), NC.SetX(X) and NC.SetOrdering(Ordering), respectively, before calling the function. Default coefficient field is Q. Default ordering is length-lexicographic ordering "LLEX". For more information, please check the relevant functions.

  • @param G: a LIST of non-zero homogeneous polynomials generating a two-sided ideal in K<X>. Each polynomial is represented as a LIST of LISTs, i.e. as [[C1,W1],...,[Cs,Ws]] where C1,...,Cs are coefficients and W1,...,Ws are terms. Each term is represented as a STRING. For example, xy^2x is represented as "xyyx", unit is represented as an empty string "". Polynomial F=xy-yx is represented as F:=[[1,"xy"], [-1, "yx"]]. 0 polynomial is represented as an empty LIST [].

  • @param D: a positive integer which is the truncated degree of Groebner basis.

About the optional parameters: in some situations, D-truncated Groebner basis is huge. Thus instead of computing the whole D-truncated Groebner basis, the function has 2 optional parameters to control the computation. Note that at the moment all of the following 2 additional optional parameters must be used at the same time.

  • @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 and returns a partial Groebner basis.

  • @param IFlag: a non-negative integer which is a multi-switch for the output of ApCoCoAServer. If IFlag=0, the server prints nothing on the screen. If IFlag=1, the server prints basic information about computing procedure, such as number of S-elements has been checked and to be checked. If IFlag=2, the server additionally prints current partial Groebner basis before each loop as well as the information when IFlag=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 D-truncated Groebner basis if (1)finite Groebner basis of degree no more than DegreeBound exists or (2)the computation reaches the degree D, and which is a partial Groebner basis otherwise.

Example

NC.SetX("xyz");
F1:=[[1,"yxy"],[-1,"zyz"]];
F2:=[[1,"xyx"],[-1,"zxy"]];
F3:=[[1,"zxz"],[-1,"yzx"]];
F4:=[[1,"xxx"],[1,"yyy"],[1,"zzz"],[1,"xyz"]];
G:=[F1,F2,F3,F4];
NC.TruncatedGB(G,6);

[[[1, "yzx"], [-1, "zxz"]], [[1, "yxy"], [-1, "zyz"]], [[1, "xyx"], [-1, "zxy"]], [[1, "xxx"], [1, "xyz"], [1, "yyy"], [1, "zzz"]], 
[[1, "zxzy"], [-1, "zzxz"]], [[1, "xzyz"], [-1, "zxyy"]], [[1, "xxyz"], [1, "xyyy"], [-1, "xzxz"], [1, "xzzz"], [-1, "yyyx"], 
[-1, "zzzx"]], [[1, "zzxyy"], [-1, "zzxzz"]], [[1, "yzzxz"], [-1, "zxzzy"]], [[1, "yzzxy"], [-1, "zzxzx"]], [[1, "yzyyy"], 
[1, "yzzzz"], [1, "zxzxx"], [1, "zzxzz"]], [[1, "yxzxz"], [-1, "zyzzx"]], [[1, "xzzxz"], [-1, "zxyyx"]], [[1, "xyyyy"], [1, "xyzzz"], 
[1, "zxyyz"], [1, "zzzxy"]], [[1, "xxzxz"], [1, "xyyyx"], [-1, "xzxzx"], [1, "xzzzx"], [-1, "yyyxx"], [-1, "zzzxx"]], [[1, "xxzxy"], 
[1, "xyzyx"], [1, "yyyyx"], [1, "zzzyx"]], [[1, "xxyyy"], [1, "xxzzz"], [-1, "xyzyz"], [-1, "xzxzx"], [-1, "yyyxx"], [-1, "yyyyz"], 
[-1, "zzzxx"], [-1, "zzzyz"]], [[1, "zxzzyz"], [-1, "zzxzxy"]], [[1, "yzzzxz"], [-1, "zxzzyy"]], [[1, "yzzzxy"], [-1, "zzxzxx"]], 
[[1, "xzzzxz"], [-1, "zxyzyz"]], [[1, "xyyzyz"], [1, "xzxyyx"], [-1, "xzxzxy"], [1, "xzzzxy"], [-1, "yyyxxy"], [-1, "zzzxxy"]], 
[[1, "xxzzzy"], [1, "xyyyzz"], [-1, "xyzyzy"], [-1, "xzxyyz"], [-1, "xzxzxy"], [-1, "xzxzzz"], [-1, "xzzzxy"], [1, "xzzzzz"], 
[-1, "yyyxxy"], [-1, "yyyxzz"], [-1, "yyyyzy"], [-1, "zzzxxy"], [-1, "zzzxzz"], [-1, "zzzyzy"]], [[1, "xxzzxy"], [1, "xyzyxx"], 
[1, "yyyyxx"], [1, "zzzyxx"]]]
-------------------------------

See also

NC.Add

NC.Deg

NC.FindPolynomials

NC.GB

NC.HF

NC.Intersection

NC.IsGB

NC.KernelOfHomomorphism

NC.LC

NC.LT

NC.LTIdeal

NC.MinimalPolynomial

NC.Multiply

NC.NR

NC.ReducedGB

NC.SetFp

NC.SetOrdering

NC.SetRelations

NC.SetRules

NC.SetX

NC.Subtract

NC.TruncatedGB

NC.UnsetFp

NC.UnsetOrdering

NC.UnsetRelations

NC.UnsetRules

NC.UnsetX

Introduction to CoCoAServer