From ApCoCoAWiki
This article is about a function from ApCoCoA-1.


Find polynomials with specified alphabet (set of indeterminates) from a LIST of non-commutative polynomials.


NCo.FindPolynomials(Alphabet:STRING, Polys:LIST):LIST


  • @param Alphabet: a STRING, which is the specified alphabet.

  • @param Polys: a LIST of non-commutative polynomials. Note that each polynomial is represented as a LIST of monomials, which are LISTs 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 whose indeterminates are in Alphabet.


Polys:=[[[1,"a"], [1,"b"], [1,"c"]], [[1,"b"]]];
NCo.FindPolynomials("abc", Polys);

[[[1, "a"], [1, "b"], [1, "c"]], [[1, "b"]]]
NCo.FindPolynomials("a", Polys);

[ ]
NCo.FindPolynomials("b", Polys);

[[[1, "b"]]]
NCo.FindPolynomials("ab", Polys);

[[[1, "b"]]]
NCo.SetOrdering("ELIM"); -- ELIM will eliminate t, x, y, z one after another
F1 := [[1,"xx"], [-1,"yx"]];
F2 := [[1,"xy"], [-1,"ty"]];
F3 := [[1,"xt"], [-1, "tx"]];
F4 := [[1,"yt"], [-1, "ty"]];
G := [F1, F2,F3,F4]; 
Gb := NCo.GB(G); -- compute Groebner basis of &lt;G&gt; w.r.t. ELIM
NCo.FindPolynomials("xyz",Gb); -- compute Groebner basis of the intersection of &lt;G&gt; and K&lt;x,y,z&gt; w.r.t. ELIM

[[[1, "xx"], [-1, "yx"]], [[1, "ty"], [-1, "xy"]], [[1, "yt"], [-1, "xy"]], [[1, "tx"], [-1, "xt"]], 
[[1, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]], [[1, "yxt"], [-1, "yyx"]]]
[[[1, "xx"], [-1, "yx"]], [[1, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]]]