up previous next
NC.Intersection

Computes the intersection of two finitely generated two-sided ideals over a free associative K-algebra.
Syntax
          
NC.Intersection(Ideal_I:LIST, Ideal_J:LIST):LIST
NC.Intersection(Ideal_I:LIST, Ideal_J:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):LIST

          

Description
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.

Before calling the function, please set ring environment coefficient field K and alphabet X through the functions NC.SetFp(Prime) (or NC.UnsetFp()) and NC.SetX(X) respectively. Default coefficient field is Q. For more information, please check the relevant functions. Since the algorithm used in this function is based on Groebner basis computation, we refer users to NC.BP or NC.GB for information about the following optional parameters:

Example
NC.SetFp(); -- set default Fp=F2
NC.SetX("xyz"); 
F1 := [[1,"xy"], [1,"z"]]; 
F2 := [[1,"yz"], [1, "x"]]; 
F3 := [[1,"zx"], [1,"y"]]; 
Ideal_I := [F1, F2]; -- ideal generated by {xy+z, yz+x} 
Ideal_J := [F2, F3]; -- ideal generated by {yz+x, zx+y}
NC.Intersection(Ideal_I, Ideal_J, 20, 25, 1);
[[[1, "zyzzz"], [1, "zzzyz"], [1, "yzz"], [1, "zzy"]], [[1, "yzyz"], [1, "zyzy"]], [[1, "zyzyyz"], [1, "yzyy"], [1, "zzyz"], [1, "zy"]], 
[[1, "yzzyzy"], [1, "yzyy"], [1, "zzyz"], [1, "zy"]], [[1, "zzzzyzyy"], [1, "zzyyzy"], [1, "zzzyzz"], [1, "zzyz"]], 
[[1, "zzyzyyyyz"], [1, "zyzyyyy"], [1, "yzzzyzy"], [1, "zzzyyyz"], [1, "yzyyz"], [1, "zzyyy"], [1, "zzyzz"], [1, "zyz"]], 
[[1, "x"], [1, "yz"]]]
-------------------------------
Note the following information printed by the server shows it is a partial Groebner basis. 
===== 25th Loop =====
Number of elements in (partial) Groebner basis G: 19 -- partial Groebner basis before being interreduced
Number of S-elements: 25/113 -- 25 S-elements have been check, and 113 unchecked S-elements


See Also