ApCoCoA-1:NC.Intersection

From ApCoCoAWiki
Revision as of 14:45, 9 May 2013 by Xiu (talk | contribs)

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

NC.FindPolys

NC.GB

NC.Mul

NC.SetOrdering