up previous next
Enumerate values of the Hilbert function of a finitely generated algebra over the binary field F_{2}={0,1}.
NCo.BHF(Gb:LIST[, DB:INT]):LIST
|
Let
F_{2} be a finitely generated free monoid ring, and let
I be a finitely generated two-sided ideal in
F_{2}. Then
F_{2}/I is a finitely generated
F_{2}-algebra. For every integer
i in
N, we let
F_{i} be the
F_{2}-vector subspace generated by the words of length less than or equal to
i. Then
{F_{i}} is a filtration of
F_{2}. Further, the filtration
{F_{i}} induces a filtration
{F_{i}/(F_{i} intersects I)} of
F_{2}/I. The
Hilbert function of
F_{2}/I is a map
BHF: N --> N defined by
BHF(i)=dim(F_{i}/(F_{i} intersects I))-dim(F_{i-1}/(F_{i-1} intersects I)), i.e.
BHF(i) is equal to the number of words of length
i in a Macaulay's basis (see
NCo.BMB) of
F_{2}/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 Gb: a LIST of non-zero polynomials in the free monoid ring F_{2} which is a Groebner basis with respect to a length compatible word ordering. Each polynomial is represented as a LIST of words (or terms) in . 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 []. Warning: users should take responsibility to make sure that Gb is indeed a Groebner basis with respect to a length compatible word ordering! In the case that Gb is a partical Groebner basis, the function enumerates the values of a pseudo Hilbert function.
- @return: a LIST of non-negative integers, which are values of the Hilbert function of the F_{2}-algebra F_{2}/.
Optional parameter:
- @param DB: a positive INT, which is a degree bound of the Hilbert function. Note that we set DB=32 by default. Thus, in the case that the F_{2}-dimension of F_{2}/ is finite, it is necessary to set DB to a large enough INT in order to compute all the values of the Hilbert function.
NCo.SetX("xyzt");
NCo.SetOrdering("LLEX");
Gb:= [["yt", "ty"], ["xt", "tx"], ["xy", "ty"], ["xx", "yx"], ["tyy", "tty"], ["yyx", "tyx"]];
NCo.BHF(Gb, 5);
[1, 4, 12, 34, 100, 292]
-------------------------------
|