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.
+
Intersection of two finitely generated two-sided ideals in a non-commutative polynomial ring.
 
</short_description>
 
</short_description>
 
<description>
 
<description>
<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&lt;x_1,...,x_n&gt;</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&lt;y,x_1,...,x_n&gt;</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&lt;x_1,...,x_n&gt;</tt>.
+
<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 non-commutative polynomial ring <tt>K&lt;x[1],...,x[n]&gt;</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&lt;y,x[1],...,x[n]&gt;</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[1]y,...,yx[n]-x[n]y}</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&lt;x[1],...,x[n]&gt;</tt>.
 
<example>
 
<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}.
 
-- 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.
 
-- We compute the intersection of I and J as follows.
NC.SetX("txyz"); -- Let t be an new indeterminate
+
Use QQ[t,x,y,z];
 
NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t
 
NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t
F1 := [[1,"xy"], [1,"z"]]; -- xy+z
+
F1 := [[x,y], [z]]; -- xy+z
F2 := [[1,"yz"], [1,"x"]]; -- yz+x
+
F2 := [[y,z], [x]]; -- yz+x
G1 := [[1,"yz"], [1,"x"]]; -- yz+x
+
G1 := [[y,z], [x]]; -- yz+x
G2 := [[1,"zx"], [1,"y"]]; -- zx+y
+
G2 := [[z,x], [y]]; -- zx+y
N:=[NC.Multiply([[1,"t"]],F1), NC.Multiply([[1,"t"]],F2)]; -- t*F1, t*F2
+
N:=[NC.Mul([[t]],F1), NC.Mul([[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
+
N:=Concat(N,[NC.Mul([[1],[-t]],G1), NC.Mul([[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
+
C:=[[[t,x],[-x,t]], [[t,y],[-y,t]], [[t,z],[-z,t]]]; -- set of commutators
 
G:=Concat(N,C);  
 
G:=Concat(N,C);  
Gb:=NC.GB(G,20,50,1);
+
Gb:=NC.GB(G,31,1,20,50);
  
 
-- Done.
 
-- Done.
Line 27: Line 27:
 
The following information printed by the ApCoCoAServer shows that Gb it is a partial Groebner basis.  
 
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 generators: 0
the number of unselected ObstructionMs: 70
+
the number of unselected obstructions: 81
 
the procedure is interrupted by loop bound!
 
the procedure is interrupted by loop bound!
the total number of ObstructionMs: 298
+
the total number of obstructions: 293
the number of selected ObstructionMs: 43
+
the number of selected obstructions: 43
the number of ObstructionMs detected by Rule 1: 145
+
the number of obstructions detected by Criterion M: 128
the number of ObstructionMs detected by Rule 2: 0
+
the number of obstructions detected by Criterion F: 0
the number of ObstructionMs detected by Rule 3: 40
+
the number of obstructions detected by Tail Reduction: 0
the number of redundant generators: 6
+
the number of obstructions detected by Criterion Bk: 41
 +
the number of redundant generators: 5
 
It is a partial Groebner basis.
 
It is a partial Groebner basis.
 
</example>
 
</example>

Revision as of 14:54, 9 May 2013

NC.Intersection

Intersection of two finitely generated two-sided ideals in a non-commutative polynomial ring.

Description

Propostion (Intersection of Two Ideals): Let G_I and G_J be two sets of non-zero polynomials in the non-commutative polynomial 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[1]y,...,yx[n]-x[n]y} 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.
Use QQ[t,x,y,z];
NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t
F1 := [[x,y], [z]]; -- xy+z
F2 := [[y,z], [x]]; -- yz+x
G1 := [[y,z], [x]]; -- yz+x
G2 := [[z,x], [y]]; -- zx+y
N:=[NC.Mul([[t]],F1), NC.Mul([[t]],F2)]; -- t*F1, t*F2
N:=Concat(N,[NC.Mul([[1],[-t]],G1), NC.Mul([[1],[-t]],G2)]); -- (1-t)*G1, (1-t)*G2
C:=[[[t,x],[-x,t]], [[t,y],[-y,t]], [[t,z],[-z,t]]]; -- set of commutators
G:=Concat(N,C); 
Gb:=NC.GB(G,31,1,20,50);

-- 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 obstructions:	81
the procedure is interrupted by loop bound!
the total number of obstructions:	293
the number of selected obstructions:	43
the number of obstructions detected by Criterion M:	128
the number of obstructions detected by Criterion F:	0
the number of obstructions detected by Tail Reduction:	0
the number of obstructions detected by Criterion Bk:	41
the number of redundant generators:	5
It is a partial Groebner basis.

See also

NC.FindPolys

NC.GB

NC.Mul

NC.SetOrdering