ApCoCoA-1:NCo.BTruncatedGB

From ApCoCoAWiki
Revision as of 16:25, 2 October 2020 by AndraschkoBot (talk | contribs) (Bot: Category moved)

NCo.BTruncatedGB

Compute a truncated Groebner basis of a finitely generated homogeneous two-sided ideal in a free monoid ring over the binary field F_{2}={0,1}.

Syntax

NCo.BTruncatedGB(G:LIST, DB:INT):LIST

Description

Given a word ordering and a homogeneous two-sided ideal I, a set of non-zero polynomials G is called a Groebner basis of I if the leading word set BLW{G} generates the leading word ideal BLW(I). Note that it may not exist finite Groebner basis of the ideal I. Moreover, let D be a positive integer. Then the set {g in G | Deg(g)<=D} is a Groebner basis of the ideal <f in I | Deg(f)<=D> and is called a D-truncated Groebner basis of I.

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 set of indeterminates) X and word ordering via the functions NCo.SetX and NCo.SetOrdering, respectively, before calling this function. The default ordering is the 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 the free monoid ring F_{2}<X>. Each word is represented as a STRING. For example, xy^2x is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial f=xy-y+1 is represented as F:=["xy", "y", ""]. The zero polynomial 0 is represented as the empty LIST [].


  • @param DB: a positive INT, which gives a degree bound of S-polynomials (or obstructions) during the Buchberger enumerating procedure. The procedure will discard S-polynomials (or obstructions) whose degrees are larger than DB.

  • @return: a LIST of polynomials, which is a truncated Groebner basis at degree DB with respect to the current word ordering if the enumerating procedure doesn't terminate due to reaching the loop bound LB, and is a partial Groebner basis otherwise.

Example

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

See also

NCo.BGB

NCo.BIsGB

NCo.BLW

NCo.BReducedGB

NCo.SetOrdering

NCo.SetX

Introduction to CoCoAServer