Difference between revisions of "ApCoCoA-1:NC.FindPolys"

From ApCoCoAWiki
Line 16: Line 16:
 
</itemize>
 
</itemize>
 
<example>
 
<example>
Polynomials:=[[[1,<quotes>a</quotes>], [1,<quotes>b</quotes>], [1,<quotes>c</quotes>]], [[1,<quotes>b</quotes>]]];
+
USE QQ[x[1..2],y[1..2]];
NC.FindPolynomials(<quotes>abc</quotes>, Polynomials);
+
F1:= [[2x[1],y[1],x[2]^2], [-9y[2],x[1]^2,x[2]^3]]; -- 2x[1]y[1]x[2]^2-9y[2]x[1]^2x[2]^3
 +
F2:= [[2x[1],x[2]^2], [x[2],x[2]^3],[4]]; -- 2x[1]x[2]^2+x[2]x[2]^3+4
 +
NC.FindPolys([F1,F2],[x[1],x[2]]);
  
[[[1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes>c</quotes>]], [[1, <quotes>b</quotes>]]]
+
[[[2x[1], x[2]^2], [x[2], x[2]^3], [4]]]
-------------------------------
 
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 &lt;G&gt; w.r.t. ELIM
 
Gb;
 
NC.FindPolynomials(<quotes>xyz</quotes>,Gb); -- compute Groebner basis of the intersection of &lt;G&gt; and K&lt;x,y,z&gt; 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>]]]
 
 
-------------------------------
 
-------------------------------
 
</example>
 
</example>

Revision as of 17:20, 3 May 2013

NC.FindPolys

Find polynomials with specified indeterminates from a LIST of non-commutative polynomials.

Syntax

NC.FindPolys(Polys:LIST, Inds:LIST):LIST

Description

Please set non-commutative polynomial ring (via the command Use) before calling this function. For more information, please check the relevant commands and functions.

  • @param Polys: a LIST of non-commutative polynomials. Each polynomial is represented as a LIST of LISTs, and each element in every inner LIST involves only one indeterminate or none (a constant). For example, the polynomial f=2x[2]y[1]x[2]^2-9y[2]x[1]^2x[2]^3+5 is represented as F:=[[2x[1],y[1],x[2]^2], [-9y[2],x[1]^2,x[2]^3], [5]]. The zero polynomial 0 is represented as the empty LIST [].

  • @param Inds: a LIST of specified indeterminates.

  • @return: a LIST of non-commutative polynomials whose indeterminates are in Inds.

Example

USE QQ[x[1..2],y[1..2]];
F1:= [[2x[1],y[1],x[2]^2], [-9y[2],x[1]^2,x[2]^3]]; -- 2x[1]y[1]x[2]^2-9y[2]x[1]^2x[2]^3
F2:= [[2x[1],x[2]^2], [x[2],x[2]^3],[4]]; -- 2x[1]x[2]^2+x[2]x[2]^3+4
NC.FindPolys([F1,F2],[x[1],x[2]]);

[[[2x[1], x[2]^2], [x[2], x[2]^3], [4]]]
-------------------------------

See also

Use