Difference between revisions of "ApCoCoA-1:NC.Intersection"
From ApCoCoAWiki
Line 2: | Line 2: | ||
<title>NC.Intersection</title> | <title>NC.Intersection</title> | ||
<short_description> | <short_description> | ||
− | + | Intersection of two finitely generated two-sided ideals in a free monoid ring. | |
</short_description> | </short_description> | ||
− | |||
− | |||
− | |||
− | |||
<description> | <description> | ||
− | <em> | + | <em>Propostion (Intersection of Two Ideals):</em> Let <tt>G_I</tt> and <tt>G_J</tt> be two sets of non-zero polynomials in the free nomoid ring <tt>K<x_1,...,x_n></tt>, and let <tt>I</tt> and <tt>J</tt> be two ideals generated by <tt>G_I</tt> and <tt>G_J</tt>, respectively. We choose a new indeterminate <tt>y</tt>, and form the free monoid ring <tt>K<y,x_1,...,x_n></tt>. Furthermore, let <tt>N</tt> be the ideal generated by the union of <tt>{yf: f in G_I}</tt> and <tt>{(1-y)g: g in G_J}</tt>, and let <tt>C</tt> be the ideal generated by the set <tt>{yx_1-x_1y,...,yx_n-x_ny}</tt> of commutators. Then we have the intersection of <tt>I</tt> and <tt>J</tt> is equal to the intersection of <tt>N+C</tt> and <tt>K<x_1,...,x_n></tt>. |
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
<example> | <example> | ||
− | NC. | + | -- Let I be the ideal generated by G_I={xy+z,yz+x}, and J be the ideal generated by G_J={yz+x, zx+y}. |
− | NC. | + | -- We compute the intersection of I and J as follows. |
− | F1 := [[1, | + | NC.SetX("txyz"); -- Let t be an new indeterminate |
− | F2 := [[1, | + | NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t |
− | + | F1 := [[1,"xy"], [1,"z"]]; -- xy+z | |
− | + | F2 := [[1,"yz"], [1,"x"]]; -- yz+x | |
− | G2 := [ | + | G1 := [[1,"yz"], [1,"x"]]; -- yz+x |
− | NC. | + | G2 := [[1,"zx"], [1,"y"]]; -- zx+y |
− | [[[1, | + | N:=[NC.Multiply([[1,"t"]],F1), NC.Multiply([[1,"t"]],F2)]; -- t*F1, t*F2 |
− | [[1, | + | N:=Concat(N,[NC.Multiply([[1,""],[-1,"t"]],G1), NC.Multiply([[1,""],[-1,"t"]],G2)]); -- (1-t)*G1, (1-t)*G2 |
+ | C:=[[[1,"tx"],[-1,"xt"]],[[1,"ty"],[-1,"yt"]],[[1,"tz"],[-1,"zt"]]]; -- set of commutators | ||
+ | G:=Concat(N,C); | ||
+ | Gb:=NC.GB(G,20,50,1); | ||
+ | |||
+ | -- Done. | ||
------------------------------- | ------------------------------- | ||
− | + | ||
− | + | ||
− | + | The following information printed by the ApCoCoAServer shows that Gb it is a partial Groebner basis. | |
− | + | the number of unselected generators: 0 | |
+ | the number of unselected ObstructionMs: 70 | ||
+ | the procedure is interrupted by loop bound! | ||
+ | the total number of ObstructionMs: 298 | ||
+ | the number of selected ObstructionMs: 43 | ||
+ | the number of ObstructionMs detected by Rule 1: 145 | ||
+ | the number of ObstructionMs detected by Rule 2: 0 | ||
+ | the number of ObstructionMs detected by Rule 3: 40 | ||
+ | the number of redundant generators: 6 | ||
+ | It is a partial Groebner basis. | ||
</example> | </example> | ||
</description> | </description> | ||
<seealso> | <seealso> | ||
− | <see>NC. | + | <see>NC.FindPolys</see> |
− | |||
− | |||
<see>NC.GB</see> | <see>NC.GB</see> | ||
− | <see>NC. | + | <see>NC.Mul</see> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<see>NC.SetOrdering</see> | <see>NC.SetOrdering</see> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</seealso> | </seealso> | ||
<types> | <types> | ||
Line 80: | Line 50: | ||
<type>non_commutative</type> | <type>non_commutative</type> | ||
</types> | </types> | ||
− | <key> | + | <key>ncpoly.Intersection</key> |
<key>NC.Intersection</key> | <key>NC.Intersection</key> | ||
<key>Intersection</key> | <key>Intersection</key> | ||
− | <wiki-category> | + | <wiki-category>Package_ncpoly</wiki-category> |
</command> | </command> |
Revision as of 14:45, 9 May 2013
NC.Intersection
Intersection of two finitely generated two-sided ideals in a free monoid ring.
Description
Propostion (Intersection of Two Ideals): Let G_I and G_J be two sets of non-zero polynomials in the free nomoid ring K<x_1,...,x_n>, and let I and J be two ideals generated by G_I and G_J, respectively. We choose a new indeterminate y, and form the free monoid ring K<y,x_1,...,x_n>. Furthermore, let N be the ideal generated by the union of {yf: f in G_I} and {(1-y)g: g in G_J}, and let C be the ideal generated by the set {yx_1-x_1y,...,yx_n-x_ny} of commutators. Then we have the intersection of I and J is equal to the intersection of N+C and K<x_1,...,x_n>.
Example
-- Let I be the ideal generated by G_I={xy+z,yz+x}, and J be the ideal generated by G_J={yz+x, zx+y}. -- We compute the intersection of I and J as follows. NC.SetX("txyz"); -- Let t be an new indeterminate NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t F1 := [[1,"xy"], [1,"z"]]; -- xy+z F2 := [[1,"yz"], [1,"x"]]; -- yz+x G1 := [[1,"yz"], [1,"x"]]; -- yz+x G2 := [[1,"zx"], [1,"y"]]; -- zx+y N:=[NC.Multiply([[1,"t"]],F1), NC.Multiply([[1,"t"]],F2)]; -- t*F1, t*F2 N:=Concat(N,[NC.Multiply([[1,""],[-1,"t"]],G1), NC.Multiply([[1,""],[-1,"t"]],G2)]); -- (1-t)*G1, (1-t)*G2 C:=[[[1,"tx"],[-1,"xt"]],[[1,"ty"],[-1,"yt"]],[[1,"tz"],[-1,"zt"]]]; -- set of commutators G:=Concat(N,C); Gb:=NC.GB(G,20,50,1); -- Done. ------------------------------- The following information printed by the ApCoCoAServer shows that Gb it is a partial Groebner basis. the number of unselected generators: 0 the number of unselected ObstructionMs: 70 the procedure is interrupted by loop bound! the total number of ObstructionMs: 298 the number of selected ObstructionMs: 43 the number of ObstructionMs detected by Rule 1: 145 the number of ObstructionMs detected by Rule 2: 0 the number of ObstructionMs detected by Rule 3: 40 the number of redundant generators: 6 It is a partial Groebner basis.
See also