# Difference between revisions of "ApCoCoA-1:NC.Intersection"

## NC.Intersection

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

### Description

Proposition (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,...,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,...,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-xy,...,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,...,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([,[-t]],G1), NC.Mul([,[-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.
```