Difference between revisions of "ApCoCoA-1:NC.MB"

From ApCoCoAWiki
Line 2: Line 2:
 
<title>NC.MB</title>
 
<title>NC.MB</title>
 
<short_description>
 
<short_description>
Enumerate Macaulay basis of a <tt>K</tt>-algebra.
+
Enumerate a Macaulay basis of a <tt>K</tt>-algebra.
 
</short_description>
 
</short_description>
 
<syntax>
 
<syntax>
Line 31: Line 31:
 
</description>
 
</description>
 
<seealso>
 
<seealso>
<see>NC.Add</see>
 
<see>NC.Deg</see>
 
<see>NC.FindPolynomials</see>
 
<see>NC.GB</see>
 
<see>NC.HF</see>
 
<see>NC.Interreduction</see>
 
<see>NC.Intersection</see>
 
<see>NC.IsFinite</see>
 
<see>NC.IsGB</see>
 
<see>NC.IsHomog</see>
 
<see>NC.KernelOfHomomorphism</see>
 
<see>NC.LC</see>
 
<see>NC.LT</see>
 
<see>NC.LTIdeal</see>
 
<see>NC.MB</see>
 
<see>NC.MinimalPolynomial</see>
 
<see>NC.Multiply</see>
 
<see>NC.NR</see>
 
<see>NC.ReducedGB</see>
 
<see>NC.SetFp</see>
 
 
<see>NC.SetOrdering</see>
 
<see>NC.SetOrdering</see>
<see>NC.SetRelations</see>
 
<see>NC.SetRules</see>
 
<see>NC.SetX</see>
 
<see>NC.Subtract</see>
 
<see>NC.TruncatedGB</see>
 
<see>NC.UnsetFp</see>
 
<see>NC.UnsetOrdering</see>
 
<see>NC.UnsetRelations</see>
 
<see>NC.UnsetRules</see>
 
<see>NC.UnsetX</see>
 
 
<see>Introduction to CoCoAServer</see>
 
<see>Introduction to CoCoAServer</see>
 
</seealso>
 
</seealso>
Line 70: Line 40:
 
<type>non_commutative</type>
 
<type>non_commutative</type>
 
</types>
 
</types>
<key>gbmr.MB</key>
+
<key>ncpoly.MB</key>
 
<key>NC.MB</key>
 
<key>NC.MB</key>
 
<key>MB</key>
 
<key>MB</key>
<wiki-category>Package_gbmr</wiki-category>
+
<wiki-category>Package_ncpoly</wiki-category>
 
</command>
 
</command>

Revision as of 17:13, 25 April 2013

NC.MB

Enumerate a Macaulay basis of a K-algebra.

Syntax

NC.MB(Gb:LIST):LIST
NC.MB(Gb:LIST, DegreeBound: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 set of indeterminates) X and ordering via the functions NC.SetFp, NC.SetX and NC.SetOrdering, 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 Gb: a LIST of non-zero polynomials in K<X> which is a Groebner basis (w.r.t. a length compatible admissible ordering, say Ordering) of the two-sided ideal generated by Gb. Each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in <X> and C is the coefficient of W. For example, the polynomial F=xy-y+1 is represented as F:=[[1,"xy"], [-1, "y"], [1,""]]. Warning: users should take responsibility to make sure that Gb is indeed a Groebner basis w.r.t. Ordering! In the case that Gb is a partical Groebner basis, the function enumerates a pseudo basis.

  • @param DegreeBound: (optional) a positive integer which is a degree bound of Hilbert funtion. Note that we set DegreeBound=32 by default. Thus to compute the whole Macaulay basis, it is necessary to set DegreeBound to a larger enough number.

  • @return: a LIST of terms, which forms the Macaulay basis of the K-algebra K<X>/(Gb) w.r.t. Ordering.

Example

NC.SetX(<quotes>xyzt</quotes>);
NC.SetOrdering(<quotes>LLEX</quotes>);
Gb:= [[[1, <quotes>yt</quotes>], [-1, <quotes>ty</quotes>]], [[1, <quotes>xt</quotes>], [-1, <quotes>tx</quotes>]], [[1, <quotes>xy</quotes>], [-1, <quotes>ty</quotes>]], [[1, <quotes>xx</quotes>], [-1, <quotes>yx</quotes>]], 
[[1, <quotes>tyy</quotes>], [-1, <quotes>tty</quotes>]], [[1, <quotes>yyx</quotes>], [-1, <quotes>tyx</quotes>]]];
NC.MB(Gb,3);
[[<quotes></quotes>], [<quotes>t</quotes>, <quotes>z</quotes>, <quotes>y</quotes>, <quotes>x</quotes>], [<quotes>tt</quotes>, <quotes>tz</quotes>, <quotes>ty</quotes>, <quotes>tx</quotes>, <quotes>zt</quotes>, <quotes>zz</quotes>, <quotes>zy</quotes>, <quotes>zx</quotes>, <quotes>yz</quotes>, <quotes>yy</quotes>, <quotes>yx</quotes>, <quotes>xz</quotes>], 
[<quotes>ttt</quotes>, <quotes>ttz</quotes>, <quotes>tty</quotes>, <quotes>ttx</quotes>, <quotes>tzt</quotes>, <quotes>tzz</quotes>, <quotes>tzy</quotes>, <quotes>tzx</quotes>, <quotes>tyz</quotes>, <quotes>tyx</quotes>, <quotes>txz</quotes>, <quotes>ztt</quotes>, <quotes>ztz</quotes>, <quotes>zty</quotes>, <quotes>ztx</quotes>,
<quotes>zzt</quotes>, <quotes>zzz</quotes>, <quotes>zzy</quotes>, <quotes>zzx</quotes>, <quotes>zyz</quotes>, <quotes>zyy</quotes>, <quotes>zyx</quotes>, <quotes>zxz</quotes>, <quotes>yzt</quotes>, <quotes>yzz</quotes>, <quotes>yzy</quotes>, <quotes>yzx</quotes>, <quotes>yyz</quotes>, <quotes>yyy</quotes>,
 <quotes>yxz</quotes>, <quotes>xzt</quotes>, <quotes>xzz</quotes>, <quotes>xzy</quotes>, <quotes>xzx</quotes>]]
-------------------------------

See also

NC.SetOrdering

Introduction to CoCoAServer