ApCoCoA-1:NC.Intersection
NC.Intersection
Computing Intersection of two finitely generated two-sided ideals over K<X>.
Syntax
NC.Intersection(Ideal_I:LIST, Ideal_J:LIST[, DegreeBound:INT, LoopBound:INT, BFlag:BOOL]):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.
@param Ideal_I: a LIST of polynomials generating a two-sided ideal in K<X>. Each polynomial in K<X> is represented as a LIST of LISTs, which are pairs of form [c, w] where c is in K and w is a word in X*. Unit in X* is empty word represented as an empty STRING "". 0 polynomial is represented as an empty LIST []. For example, polynomial F:=xy-y+1 in K<x,y> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]].
@param Ideal_J: another LIST of polynomials in K<X>.
@return: probably a Groebner basis of the intersection of Ideal_I and Ideal_J.
Since the algorithm used in this function is based on Groebner basis computation, we refer users to NC.GB for information on optional parameters.
Example
NC.SetX(<quotes>xy</quotes>); NC.SetFp(); -- coefficient field: Z/(2) F1 := [[1,<quotes></quotes>], [1,<quotes>y</quotes>]]; -- F1=y+1 F2 := [[1,<quotes>xx</quotes>],[1,<quotes>xy</quotes>],[1,<quotes></quotes>]]; -- F2=xx+xy+1 F := [F1, F2]; P := [[1,<quotes>yx</quotes>],[1,<quotes></quotes>]]; -- P=yx+1 NC.MinimalPolynomial(F,P); -- mimnimal polynomial of P over Z/(2)<x,y>/(F1, F2) [[[1, <quotes>tt</quotes>], [1, <quotes>t</quotes>], [1, <quotes></quotes>]]] -------------------------------
See also