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

From ApCoCoAWiki
(New page: <command> <title>NCo.MRHF</title> <short_description> Enumerate values of the Hilbert function of a finitely generated <tt>K</tt>-algebra. <par/> Let <tt>P=K<X|R></tt> be a finitely ...)
 
m (replaced <quotes> tag by real quotes)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Version|1}}
 
<command>
 
<command>
 
<title>NCo.MRHF</title>
 
<title>NCo.MRHF</title>
 
<short_description>
 
<short_description>
 
Enumerate values of the Hilbert function of a finitely generated <tt>K</tt>-algebra.
 
Enumerate values of the Hilbert function of a finitely generated <tt>K</tt>-algebra.
<par/>
 
Let <tt>P=K&lt;X|R&gt;</tt> be a finitely generated monoid ring, and let <tt>I</tt> be a finitely generated two-sided ideal in <tt>P</tt>. Then <tt>P/I</tt> is a finitely generated <tt>K</tt>-algebra. For every integer <tt>i</tt> in <tt>N</tt>, we let <tt>F_{i}</tt> be the <tt>K</tt>-vector subspace generated by the words of length less than or equal to <tt>i</tt>. Then <tt>{F_{i}}</tt> is a filtration of <tt>K&lt;X&gt;</tt>. Further, the filtration <tt>{F_{i}}</tt> induces a filtration <tt>{F_{i}/(F_{i} intersects I)}</tt> of <tt>P/I</tt>. The <em>Hilbert function</em> of <tt>P/I</tt> is a map <tt>HF: N --&gt;</tt> N defined by <tt>HF(i)=dim(F_{i}/(F_{i} intersects I))-dim(F_{i-1}/(F_{i-1} intersects I))</tt>, i.e. <tt>HF(i)</tt> is equal to the number of words of length <tt>i</tt> in a Macaulay's basis (see <ref>NCo.MRMB</ref>) of <tt>P/I</tt>.
 
 
</short_description>
 
</short_description>
 
<syntax>
 
<syntax>
Line 10: Line 9:
 
</syntax>
 
</syntax>
 
<description>
 
<description>
 +
Let <tt>P=K&lt;X|R&gt;</tt> be a finitely generated monoid ring, and let <tt>I</tt> be a finitely generated two-sided ideal in <tt>P</tt>. Then <tt>P/I</tt> is a finitely generated <tt>K</tt>-algebra. For every integer <tt>i</tt> in <tt>N</tt>, we let <tt>F_{i}</tt> be the <tt>K</tt>-vector subspace generated by the words of length less than or equal to <tt>i</tt>. Then <tt>{F_{i}}</tt> is a filtration of <tt>K&lt;X&gt;</tt>. Further, the filtration <tt>{F_{i}}</tt> induces a filtration <tt>{F_{i}/(F_{i} intersects I)}</tt> of <tt>P/I</tt>. The <em>Hilbert function</em> of <tt>P/I</tt> is a map <tt>HF: N --&gt;</tt> N defined by <tt>HF(i)=dim(F_{i}/(F_{i} intersects I))-dim(F_{i-1}/(F_{i-1} intersects I))</tt>, i.e. <tt>HF(i)</tt> is equal to the number of words of length <tt>i</tt> in a Macaulay's basis (see <ref>ApCoCoA-1:NCo.MRMB|NCo.MRMB</ref>) of <tt>P/I</tt>.
 +
<par/>
 
<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 coefficient field via the function <ref>NCo.SetFp</ref> (or <ref>NCo.UnsetFp</ref>) before calling this function. The default coefficient field is the field of rational numbers, i.e. RAT in CoCoAL. For more information, please check the relevant functions.
+
Please set coefficient field via the function <ref>ApCoCoA-1:NCo.SetFp|NCo.SetFp</ref> (or <ref>ApCoCoA-1:NCo.UnsetFp|NCo.UnsetFp</ref>) before calling this function. The default coefficient field is the field of rational numbers, i.e. RAT in CoCoAL. For more information, please check the relevant functions.
 
<itemize>
 
<itemize>
 
<item>@param <em>X:</em> a finite alphabet (or set of indeterminates). It is of STRING type. Note that every letter in X MUST appear only once.The order of letters in X induces word orderings.</item>
 
<item>@param <em>X:</em> a finite alphabet (or set of indeterminates). It is of STRING type. Note that every letter in X MUST appear only once.The order of letters in X induces word orderings.</item>
  
<item>@param <em>Ordering:</em> a length compatible word ordering induced by the order of letters in X. It is a STRING, which is a shortened-form of the name of corresponding word ordering. Note that the package currently supports two length compatible words orderings, i.e. <quotes>LLEX</quotes> (the length-lexicographic ordering) and <quotes>LRLEX</quotes> (the length-reverse-lexicographic ordering). See <ref>NCo.SetOrdering</ref> for more details.</item>
+
<item>@param <em>Ordering:</em> a length compatible word ordering induced by the order of letters in X. It is a STRING, which is a shortened-form of the name of corresponding word ordering. Note that the package currently supports two length compatible words orderings, i.e. "LLEX" (the length-lexicographic ordering) and "LRLEX" (the length-reverse-lexicographic ordering). See <ref>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</ref> for more details.</item>
  
<item>@param <em>Relations:</em> a finite set of relations. It is of LIST type. Each element in Relations is of the form [W1, W2], where W1 and W2 are words in <tt>&lt;X&gt;</tt>. Each word is represented as a STRING. For example, the word <tt>xy^2x</tt> is represented as <quotes>xyyx</quotes>, and the identity is represented as the empty string <quotes></quotes>. Thus, the relation <tt>(yx, xy)</tt> is represented as [<quotes>yx</quotes>, <quotes>xy</quotes>], and the set of relations <tt>{(yx, xy),(zx,xz),(zy,yz)}</tt> is represented as [[<quotes>yx</quotes>, <quotes>xy</quotes>],[<quotes>zx</quotes>, <quotes>xz</quotes>],[<quotes>zy</quotes>, <quotes>yz</quotes>]].</item>
+
<item>@param <em>Relations:</em> a finite set of relations. It is of LIST type. Each element in Relations is of the form [W1, W2], where W1 and W2 are words in <tt>&lt;X&gt;</tt>. Each word is represented as a STRING. For example, the word <tt>xy^2x</tt> is represented as "xyyx", and the identity is represented as the empty string "". Thus, the relation <tt>(yx, xy)</tt> is represented as ["yx", "xy"], and the set of relations <tt>{(yx, xy),(zx,xz),(zy,yz)}</tt> is represented as [["yx", "xy"],["zx", "xz"],["zy", "yz"]].</item>
  
<item>@param <em>G:</em> a LIST of non-zero polynomials forming a Groebner basis with respect to the length compatible word ordering Ordering. Each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in <tt>&lt;X&gt;</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 G is indeed a Groebner basis with respect to a length compatible word ordering! In the case that G is a partical Groebner basis, the function enumerates pseudo values.</item>
+
<item>@param <em>G:</em> a LIST of non-zero polynomials forming a Groebner basis with respect to the length compatible word ordering Ordering. Each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in <tt>&lt;X&gt;</tt> and C is the coefficient of W. For example, the polynomial <tt>f=xy-y+1</tt> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]]. <em> Warning:</em> users should take responsibility to make sure that G is indeed a Groebner basis with respect to a length compatible word ordering! In the case that G is a partical Groebner basis, the function enumerates pseudo values.</item>
  
 
<item>@return: a LIST of non-negative integers, which are values of the Hilbert function of the <tt>K</tt>-algebra <tt>K&lt;X&gt;/(G,Relations)</tt>.</item>
 
<item>@return: a LIST of non-negative integers, which are values of the Hilbert function of the <tt>K</tt>-algebra <tt>K&lt;X&gt;/(G,Relations)</tt>.</item>
Line 29: Line 30:
 
</itemize>
 
</itemize>
 
<example>
 
<example>
X := <quotes>xyzt</quotes>;  
+
X := "xyzt";  
Ordering := <quotes>LLEX</quotes>;  
+
Ordering := "LLEX";  
 
Relations:=[];  
 
Relations:=[];  
F1 := [[1,<quotes>xx</quotes>], [-1,<quotes>yx</quotes>]];   
+
F1 := [[1,"xx"], [-1,"yx"]];   
F2 := [[1,<quotes>xy</quotes>], [-1,<quotes>ty</quotes>]];   
+
F2 := [[1,"xy"], [-1,"ty"]];   
F3 := [[1,<quotes>xt</quotes>], [-1, <quotes>tx</quotes>]];   
+
F3 := [[1,"xt"], [-1, "tx"]];   
F4 := [[1,<quotes>yt</quotes>], [-1, <quotes>ty</quotes>]];   
+
F4 := [[1,"yt"], [-1, "ty"]];   
 
G := [F1, F2,F3,F4];  
 
G := [F1, F2,F3,F4];  
 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a partical Groebner basis
 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a partical Groebner basis
Line 41: Line 42:
 
[1, 4, 12, 36, 108, 324]
 
[1, 4, 12, 36, 108, 324]
 
-------------------------------
 
-------------------------------
G:= [[[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>]],   
+
G:= [[[1, "yt"], [-1, "ty"]], [[1, "xt"], [-1, "tx"]], [[1, "xy"], [-1, "ty"]], [[1, "xx"], [-1, "yx"]],   
[[1, <quotes>tyy</quotes>], [-1, <quotes>tty</quotes>]], [[1, <quotes>yyx</quotes>], [-1, <quotes>tyx</quotes>]]];  
+
[[1, "tyy"], [-1, "tty"]], [[1, "yyx"], [-1, "tyx"]]];  
 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a Groeber basis (w.r.t. LLEX) of the two-sided ideal generated by G
 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a Groeber basis (w.r.t. LLEX) of the two-sided ideal generated by G
  
Line 50: Line 51:
 
</description>
 
</description>
 
<seealso>
 
<seealso>
<see>NCo.MRIsGB</see>
+
<see>ApCoCoA-1:NCo.MRIsGB|NCo.MRIsGB</see>
<see>NCo.MRMB</see>
+
<see>ApCoCoA-1:NCo.MRMB|NCo.MRMB</see>
<see>NCo.SetFp</see>
+
<see>ApCoCoA-1:NCo.SetFp|NCo.SetFp</see>
<see>NCo.SetOrdering</see>
+
<see>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</see>
<see>NCo.UnsetFp</see>
+
<see>ApCoCoA-1:NCo.UnsetFp|NCo.UnsetFp</see>
<see>Introduction to CoCoAServer</see>
+
<see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see>
 
</seealso>
 
</seealso>
 
<types>
 
<types>
Line 66: Line 67:
 
<key>NCo.MRHF</key>
 
<key>NCo.MRHF</key>
 
<key>MRHF</key>
 
<key>MRHF</key>
<wiki-category>Package_gbmr</wiki-category>
+
<wiki-category>ApCoCoA-1:Package_gbmr</wiki-category>
 
</command>
 
</command>

Latest revision as of 13:41, 29 October 2020

This article is about a function from ApCoCoA-1.

NCo.MRHF

Enumerate values of the Hilbert function of a finitely generated K-algebra.

Syntax

NCo.MRHF(X:STRING, Ordering:STRING, Relations:LIST, G:LIST[, DB:INT]):LIST

Description

Let P=K<X|R> be a finitely generated monoid ring, and let I be a finitely generated two-sided ideal in P. Then P/I is a finitely generated K-algebra. For every integer i in N, we let F_{i} be the K-vector subspace generated by the words of length less than or equal to i. Then {F_{i}} is a filtration of K<X>. Further, the filtration {F_{i}} induces a filtration {F_{i}/(F_{i} intersects I)} of P/I. The Hilbert function of P/I is a map HF: N --> N defined by HF(i)=dim(F_{i}/(F_{i} intersects I))-dim(F_{i-1}/(F_{i-1} intersects I)), i.e. HF(i) is equal to the number of words of length i in a Macaulay's basis (see NCo.MRMB) of P/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 coefficient field via the function NCo.SetFp (or NCo.UnsetFp) before calling this function. The default coefficient field is the field of rational numbers, i.e. RAT in CoCoAL. For more information, please check the relevant functions.

  • @param X: a finite alphabet (or set of indeterminates). It is of STRING type. Note that every letter in X MUST appear only once.The order of letters in X induces word orderings.

  • @param Ordering: a length compatible word ordering induced by the order of letters in X. It is a STRING, which is a shortened-form of the name of corresponding word ordering. Note that the package currently supports two length compatible words orderings, i.e. "LLEX" (the length-lexicographic ordering) and "LRLEX" (the length-reverse-lexicographic ordering). See NCo.SetOrdering for more details.

  • @param Relations: a finite set of relations. It is of LIST type. Each element in Relations is of the form [W1, W2], where W1 and W2 are words in <X>. Each word is represented as a STRING. For example, the word xy^2x is represented as "xyyx", and the identity is represented as the empty string "". Thus, the relation (yx, xy) is represented as ["yx", "xy"], and the set of relations {(yx, xy),(zx,xz),(zy,yz)} is represented as [["yx", "xy"],["zx", "xz"],["zy", "yz"]].

  • @param G: a LIST of non-zero polynomials forming a Groebner basis with respect to the length compatible word ordering Ordering. 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 G is indeed a Groebner basis with respect to a length compatible word ordering! In the case that G is a partical Groebner basis, the function enumerates pseudo values.

  • @return: a LIST of non-negative integers, which are values of the Hilbert function of the K-algebra K<X>/(G,Relations).

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 K dimension of K<X>/<G,Relations> is finite, it is necessary to set DB to a large enough INT in order to compute all the values of the Hilbert function.

Example

X := "xyzt"; 
Ordering := "LLEX"; 
Relations:=[]; 
F1 := [[1,"xx"], [-1,"yx"]];   
F2 := [[1,"xy"], [-1,"ty"]];  
F3 := [[1,"xt"], [-1, "tx"]];  
F4 := [[1,"yt"], [-1, "ty"]];  
G := [F1, F2,F3,F4]; 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a partical Groebner basis

[1, 4, 12, 36, 108, 324]
-------------------------------
G:= [[[1, "yt"], [-1, "ty"]], [[1, "xt"], [-1, "tx"]], [[1, "xy"], [-1, "ty"]], [[1, "xx"], [-1, "yx"]],  
[[1, "tyy"], [-1, "tty"]], [[1, "yyx"], [-1, "tyx"]]]; 
NCo.MRHF(X, Ordering, Relations, G, 5); --G is a Groeber basis (w.r.t. LLEX) of the two-sided ideal generated by G

[1, 4, 12, 34, 100, 292]
-------------------------------

See also

NCo.MRIsGB

NCo.MRMB

NCo.SetFp

NCo.SetOrdering

NCo.UnsetFp

Introduction to CoCoAServer