Difference between revisions of "ApCoCoA-1:NCo.BTruncatedGB"

From ApCoCoAWiki
m (insert version info)
m (replaced <quotes> tag by real quotes)
 
Line 13: Line 13:
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<par/>
 
<par/>
Please set ring environment <em>alphabet</em> (or set of indeterminates) <tt>X</tt> and <em>word ordering</em> via the functions <ref>ApCoCoA-1:NCo.SetX|NCo.SetX</ref> and <ref>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</ref>, respectively, before calling this function. The default ordering is the length-lexicographic ordering (<quotes>LLEX</quotes>). For more information, please check the relevant functions.
+
Please set ring environment <em>alphabet</em> (or set of indeterminates) <tt>X</tt> and <em>word ordering</em> via the functions <ref>ApCoCoA-1:NCo.SetX|NCo.SetX</ref> and <ref>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</ref>, respectively, before calling this function. The default ordering is the length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.
 
<itemize>
 
<itemize>
<item>@param <em>G</em>: a LIST of non-zero homogeneous polynomials generating a two-sided ideal in the free monoid ring <tt>F_{2}&lt;X&gt;</tt>. Each word is represented as a STRING. For example, <tt>xy^2x</tt> is represented as <quotes>xyyx</quotes>, and the identity is represented as the empty string <quotes></quotes>. Thus, the polynomial <tt>f=xy-y+1</tt> is represented as F:=[<quotes>xy</quotes>, <quotes>y</quotes>, <quotes></quotes>]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
+
<item>@param <em>G</em>: a LIST of non-zero homogeneous polynomials generating a two-sided ideal in the free monoid ring <tt>F_{2}&lt;X&gt;</tt>. Each word is represented as a STRING. For example, <tt>xy^2x</tt> is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial <tt>f=xy-y+1</tt> is represented as F:=["xy", "y", ""]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
  
  
Line 23: Line 23:
 
</itemize>
 
</itemize>
 
<example>
 
<example>
NCo.SetX(<quotes>xyz</quotes>);
+
NCo.SetX("xyz");
F1:=[<quotes>yxy</quotes>,<quotes>zyz</quotes>];
+
F1:=["yxy","zyz"];
F2:=[<quotes>xyx</quotes>,<quotes>zxy</quotes>];
+
F2:=["xyx","zxy"];
F3:=[<quotes>zxz</quotes>,<quotes>yzx</quotes>];
+
F3:=["zxz","yzx"];
F4:=[<quotes>xxx</quotes>,<quotes>yyy</quotes>,<quotes>zzz</quotes>,<quotes>xyz</quotes>];
+
F4:=["xxx","yyy","zzz","xyz"];
 
G:=[F1,F2,F3,F4];
 
G:=[F1,F2,F3,F4];
 
NCo.BTruncatedGB(G,6);
 
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>],  
+
[["yzx", "zxz"], ["yxy", "zyz"], ["xyx", "zxy"], ["xxx", "xyz", "yyy", "zzz"],  
[<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>],  
+
["zxzy", "zzxz"], ["xzyz", "zxyy"], ["xxyz", "xyyy", "xzxz", "xzzz", "yyyx", "zzzx"],  
[<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>],  
+
["zzxyy", "zzxzz"], ["yzzxz", "zxzzy"], ["yzzxy", "zzxzx"], ["yzyyy", "yzzzz", "zxzxx", "zzxzz"],  
[<quotes>yxzxz</quotes>, <quotes>zyzzx</quotes>], [<quotes>xzzxz</quotes>, <quotes>zxyyx</quotes>], [<quotes>xyyyy</quotes>, <quotes>xyzzz</quotes>, <quotes>zxyyz</quotes>, <quotes>zzzxy</quotes>],  
+
["yxzxz", "zyzzx"], ["xzzxz", "zxyyx"], ["xyyyy", "xyzzz", "zxyyz", "zzzxy"],  
[<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>],  
+
["xxzxz", "xyyyx", "xzxzx", "xzzzx", "yyyxx", "zzzxx"], ["xxzxy", "xyzyx", "yyyyx", "zzzyx"],  
[<quotes>xxyyy</quotes>, <quotes>xxzzz</quotes>, <quotes>xyzyz</quotes>, <quotes>xzxzx</quotes>, <quotes>yyyxx</quotes>, <quotes>yyyyz</quotes>, <quotes>zzzxx</quotes>, <quotes>zzzyz</quotes>],  
+
["xxyyy", "xxzzz", "xyzyz", "xzxzx", "yyyxx", "yyyyz", "zzzxx", "zzzyz"],  
[<quotes>zxzzyz</quotes>, <quotes>zzxzxy</quotes>], [<quotes>yzzzxz</quotes>, <quotes>zxzzyy</quotes>], [<quotes>yzzzxy</quotes>, <quotes>zzxzxx</quotes>], [<quotes>xzzzxz</quotes>, <quotes>zxyzyz</quotes>],  
+
["zxzzyz", "zzxzxy"], ["yzzzxz", "zxzzyy"], ["yzzzxy", "zzxzxx"], ["xzzzxz", "zxyzyz"],  
[<quotes>xyyzyz</quotes>, <quotes>xzxyyx</quotes>, <quotes>xzxzxy</quotes>, <quotes>xzzzxy</quotes>, <quotes>yyyxxy</quotes>, <quotes>zzzxxy</quotes>],  
+
["xyyzyz", "xzxyyx", "xzxzxy", "xzzzxy", "yyyxxy", "zzzxxy"],  
[<quotes>xxzzzy</quotes>, <quotes>xyyyzz</quotes>, <quotes>xyzyzy</quotes>, <quotes>xzxyyz</quotes>, <quotes>xzxzxy</quotes>, <quotes>xzxzzz</quotes>, <quotes>xzzzxy</quotes>,  
+
["xxzzzy", "xyyyzz", "xyzyzy", "xzxyyz", "xzxzxy", "xzxzzz", "xzzzxy",  
<quotes>xzzzzz</quotes>, <quotes>yyyxxy</quotes>, <quotes>yyyxzz</quotes>, <quotes>yyyyzy</quotes>, <quotes>zzzxxy</quotes>, <quotes>zzzxzz</quotes>, <quotes>zzzyzy</quotes>],  
+
"xzzzzz", "yyyxxy", "yyyxzz", "yyyyzy", "zzzxxy", "zzzxzz", "zzzyzy"],  
[<quotes>xxzzxy</quotes>, <quotes>xyzyxx</quotes>, <quotes>yyyyxx</quotes>, <quotes>zzzyxx</quotes>]]
+
["xxzzxy", "xyzyxx", "yyyyxx", "zzzyxx"]]
 
-------------------------------
 
-------------------------------
 
</example>
 
</example>

Latest revision as of 13:39, 29 October 2020

This article is about a function from ApCoCoA-1.

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

See also

NCo.BGB

NCo.BIsGB

NCo.BLW

NCo.BReducedGB

NCo.SetOrdering

NCo.SetX

Introduction to CoCoAServer