ApCoCoA-1:NC.FindPolys
From ApCoCoAWiki
NC.FindPolys
Find polynomials with specified indeterminates from a LIST of polynomials.
Syntax
NC.FindPolys(Alphabet:STRING, Polynomials:LIST):LIST
Description
@param Alphabet: a STRING, which is the specified alphabet.
@param Polynomials: a LIST of polynomials. Note that each polynomial is represented as a LIST of monomials, which are pairs of the form [C, W] where W is a word in <X> and C is the coefficient of W. Each word in <X> is represented as a STRING. For example, the word xy^2x is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial F=xy-y+1 in K<x,y> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]]. The zero polynomial 0 is represented as the empty LIST [].
@return: a LIST of polynomials which is the intersection of Polynomials and K<Alphabet>.
Example
Polynomials:=[[[1,<quotes>a</quotes>], [1,<quotes>b</quotes>], [1,<quotes>c</quotes>]], [[1,<quotes>b</quotes>]]]; NC.FindPolynomials(<quotes>abc</quotes>, Polynomials); [[[1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes>c</quotes>]], [[1, <quotes>b</quotes>]]] ------------------------------- NC.FindPolynomials(<quotes>a</quotes>, Polynomials); [ ] ------------------------------- NC.FindPolynomials(<quotes>b</quotes>, Polynomials); [[[1, <quotes>b</quotes>]]] ------------------------------- NC.FindPolynomials(<quotes>ab</quotes>, Polynomials); [[[1, <quotes>b</quotes>]]] ------------------------------- NC.SetX(<quotes>txyz</quotes>); NC.SetOrdering(<quotes>ELIM</quotes>); -- ELIM will eliminate t, x, y, z one after another F1 := [[1,<quotes>xx</quotes>], [-1,<quotes>yx</quotes>]]; F2 := [[1,<quotes>xy</quotes>], [-1,<quotes>ty</quotes>]]; F3 := [[1,<quotes>xt</quotes>], [-1, <quotes>tx</quotes>]]; F4 := [[1,<quotes>yt</quotes>], [-1, <quotes>ty</quotes>]]; G := [F1, F2,F3,F4]; Gb := NC.GB(G); -- compute Groebner basis of <G> w.r.t. ELIM Gb; NC.FindPolynomials(<quotes>xyz</quotes>,Gb); -- compute Groebner basis of the intersection of <G> and K<x,y,z> w.r.t. ELIM [[[1, <quotes>xx</quotes>], [2, <quotes>yx</quotes>]], [[1, <quotes>ty</quotes>], [2, <quotes>xy</quotes>]], [[1, <quotes>yt</quotes>], [2, <quotes>xy</quotes>]], [[1, <quotes>tx</quotes>], [2, <quotes>xt</quotes>]], [[1, <quotes>xyx</quotes>], [2, <quotes>yyx</quotes>]], [[1, <quotes>xyy</quotes>], [2, <quotes>yxy</quotes>]], [[1, <quotes>yxt</quotes>], [2, <quotes>yyx</quotes>]]] ------------------------------- [[[1, <quotes>xx</quotes>], [2, <quotes>yx</quotes>]], [[1, <quotes>xyx</quotes>], [2, <quotes>yyx</quotes>]], [[1, <quotes>xyy</quotes>], [2, <quotes>yxy</quotes>]]] -------------------------------
See also