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

Line 2: | Line 2: | ||

<title>NC.MB</title> | <title>NC.MB</title> | ||

<short_description> | <short_description> | ||

− | Macaulay basis of <tt>K</tt>-algebra | + | Enumerate Macaulay basis of a <tt>K</tt>-algebra. |

</short_description> | </short_description> | ||

<syntax> | <syntax> | ||

Line 11: | Line 11: | ||

<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 coefficient field <tt>K</tt>, alphabet (or indeterminates) <tt>X</tt> and ordering | + | Please set ring environment <em>coefficient field</em> <tt>K</tt>, <em>alphabet</em> (or set of indeterminates) <tt>X</tt> and <em>ordering</em> via the functions <ref>NC.SetFp</ref>, <ref>NC.SetX</ref> and <ref>NC.SetOrdering</ref>, respectively, before calling the function. Default coefficient field is <tt>Q</tt>. Default ordering is length-lexicographic ordering (<quotes>LLEX</quotes>). For more information, please check the relevant functions. |

<itemize> | <itemize> | ||

− | <item>@param <em>Gb:</em> a LIST of non-zero polynomials in <tt>K<X></tt> which is a Groebner basis of | + | <item>@param <em>Gb:</em> a LIST of non-zero polynomials in <tt>K<X></tt> which is a Groebner basis (w.r.t. a length compatible admissible ordering, say <tt>Ordering</tt>) 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 <tt><X></tt> and C is the coefficient of W. For example, the polynomial <tt>F=xy-y+1</tt> is represented as F:=[[1,<quotes>xy</quotes>], [-1, <quotes>y</quotes>], [1,<quotes></quotes>]]. <em>Warning:</em> users should take responsibility to make sure that Gb is indeed a Groebner basis w.r.t. <tt>Ordering</tt>! In the case that Gb is a partical Groebner basis, the function outputs pseudo values.</item> |

− | <item>@param <em>DegreeBound:</em> (optional) a positive integer which is a degree bound of Hilbert function.</item> | + | <item>@param <em>DegreeBound:</em> (optional) a positive integer which is a degree bound of Hilbert funtion. <em>Note that</em> we set <tt>DegreeBound=32</tt> by default. Thus to compute all the values of the Hilbert function, it is necessary to set <tt>DegreeBound</tt> to a larger enough number.</item> |

− | <item>@return: a LIST of terms which | + | <item>@return: a LIST of terms which forms the Macaulay basis of the K-algebra <tt>K<X>/(Gb)</tt> w.r.t. <tt>Ordering</tt>.</item> |

</itemize> | </itemize> | ||

<example> | <example> |

## Revision as of 12:09, 7 June 2012

## NC.MB

Enumerate 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 outputs pseudo values.@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 all the values of the Hilbert function, 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