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

From ApCoCoAWiki
Line 2: Line 2:
 
<title>NC.FindPolys</title>
 
<title>NC.FindPolys</title>
 
<short_description>
 
<short_description>
Find polynomials with specified indeterminates from a LIST of polynomials.  
+
Find polynomials with specified indeterminates from a LIST of non-commutative polynomials.  
 
</short_description>
 
</short_description>
 
<syntax>
 
<syntax>
Line 13: Line 13:
 
</item>
 
</item>
 
<item>@param <em>Inds</em>: a LIST of specified indeterminates.</item>
 
<item>@param <em>Inds</em>: a LIST of specified indeterminates.</item>
<item>@return: a LIST of non-commutative polynomials, which are in Inds.</item>
+
<item>@return: a LIST of non-commutative polynomials whose indeterminates are in Inds.</item>
 
</itemize>
 
</itemize>
 
<example>
 
<example>

Revision as of 16:26, 30 April 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

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 &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>]]]
-------------------------------

See also

Use