ApCoCoA-1:NCo.FindPolynomials: Difference between revisions

From ApCoCoAWiki
Xiu (talk | contribs)
New page: <command> <title>NCo.FindPolynomials</title> <short_description> Find polynomials with specified alphabet (set of indeterminates) from a list of polynomials in monoid rings. </short_descr...
 
m replaced <quotes> tag by real quotes
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Version|1}}
<command>
<command>
<title>NCo.FindPolynomials</title>
<title>NCo.FindPolynomials</title>
<short_description>
<short_description>
Find polynomials with specified alphabet (set of indeterminates) from a list of polynomials in monoid rings.  
Find polynomials with specified alphabet (set of indeterminates) from a LIST of non-commutative polynomials.  
</short_description>
</short_description>
<syntax>
<syntax>
NCo.FindPolynomials(Alphabet:STRING, Polynomials:LIST):LIST
NCo.FindPolynomials(Alphabet:STRING, Polys:LIST):LIST
</syntax>
</syntax>
<description>
<description>
<itemize>
<itemize>
<item>@param <em>Alphabet</em>: a STRING, which is the specified alphabet.</item>
<item>@param <em>Alphabet</em>: a STRING, which is the specified alphabet.</item>
<item>@param <em>Polynomials</em>: 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 <tt>&lt;X&gt;</tt> and C is the coefficient of W. Each word in <tt>&lt;X&gt;</tt> is represented as a STRING. For example, the word <tt>xy^2x</tt> is represented as <quotes>xyyx</quotes>, and the identity is represented as the empty string <quotes></quotes>. Thus, the polynomial <tt>F=xy-y+1</tt> in <tt>K&lt;x,y&gt;</tt> is represented as F:=[[1,<quotes>xy</quotes>], [-1, <quotes>y</quotes>], [1,<quotes></quotes>]]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
<item>@param <em>Polys</em>: 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 <tt>&lt;X&gt;</tt> and C is the coefficient of W. Each word in <tt>&lt;X&gt;</tt> is represented as a STRING. For example, the word <tt>xy^2x</tt> is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial <tt>f=xy-y+1</tt> in <tt>K&lt;x,y&gt;</tt> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
<item>@return: a LIST of polynomials which is the intersection of Polynomials and <tt>K&lt;Alphabet&gt;</tt>.</item>
<item>@return: a LIST of polynomials whose indeterminates are in Alphabet.</item>
</itemize>
</itemize>
<example>
<example>
Polynomials:=[[[1,<quotes>a</quotes>], [1,<quotes>b</quotes>], [1,<quotes>c</quotes>]], [[1,<quotes>b</quotes>]]];
Polys:=[[[1,"a"], [1,"b"], [1,"c"]], [[1,"b"]]];
NCo.FindPolynomials(<quotes>abc</quotes>, Polynomials);
NCo.FindPolynomials("abc", Polys);


[[[1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes>c</quotes>]], [[1, <quotes>b</quotes>]]]
[[[1, "a"], [1, "b"], [1, "c"]], [[1, "b"]]]
-------------------------------
-------------------------------
NCo.FindPolynomials(<quotes>a</quotes>, Polynomials);
NCo.FindPolynomials("a", Polys);


[ ]
[ ]
-------------------------------
-------------------------------
NCo.FindPolynomials(<quotes>b</quotes>, Polynomials);
NCo.FindPolynomials("b", Polys);


[[[1, <quotes>b</quotes>]]]
[[[1, "b"]]]
-------------------------------
-------------------------------
NCo.FindPolynomials(<quotes>ab</quotes>, Polynomials);
NCo.FindPolynomials("ab", Polys);


[[[1, <quotes>b</quotes>]]]
[[[1, "b"]]]
-------------------------------
-------------------------------
NCo.SetX(<quotes>txyz</quotes>);  
NCo.SetX("txyz");  
NCo.SetOrdering(<quotes>ELIM</quotes>); -- ELIM will eliminate t, x, y, z one after another
NCo.SetOrdering("ELIM"); -- ELIM will eliminate t, x, y, z one after another
F1 := [[1,<quotes>xx</quotes>], [-1,<quotes>yx</quotes>]];
F1 := [[1,"xx"], [-1,"yx"]];
F2 := [[1,<quotes>xy</quotes>], [-1,<quotes>ty</quotes>]];
F2 := [[1,"xy"], [-1,"ty"]];
F3 := [[1,<quotes>xt</quotes>], [-1, <quotes>tx</quotes>]];
F3 := [[1,"xt"], [-1, "tx"]];
F4 := [[1,<quotes>yt</quotes>], [-1, <quotes>ty</quotes>]];
F4 := [[1,"yt"], [-1, "ty"]];
G := [F1, F2,F3,F4];  
G := [F1, F2,F3,F4];  
Gb := NCo.GB(G); -- compute Groebner basis of &lt;G&gt; w.r.t. ELIM
Gb := NCo.GB(G); -- compute Groebner basis of &lt;G&gt; w.r.t. ELIM
Gb;
Gb;
NCo.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
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, <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, "xx"], [-1, "yx"]], [[1, "ty"], [-1, "xy"]], [[1, "yt"], [-1, "xy"]], [[1, "tx"], [-1, "xt"]],  
[[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, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]], [[1, "yxt"], [-1, "yyx"]]]
-------------------------------
-------------------------------
[[[1, <quotes>xx</quotes>], [2, <quotes>yx</quotes>]], [[1, <quotes>xyx</quotes>], [2, <quotes>yyx</quotes>]], [[1, <quotes>xyy</quotes>], [2, <quotes>yxy</quotes>]]]
[[[1, "xx"], [-1, "yx"]], [[1, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]]]
-------------------------------
-------------------------------
</example>
</example>
</description>
</description>
<seealso>
<see>Introduction to CoCoAServer</see>
</seealso>
<types>
<types>
<type>apcocoaserver</type>
<type>non_commutative</type>
<type>non_commutative</type>
<type>polynomial</type>
</types>
</types>
<key>gbmr.FindPolynomials</key>
<key>gbmr.FindPolynomials</key>
<key>NCo.FindPolynomials</key>
<key>NCo.FindPolynomials</key>
<key>FindPolynomials</key>
<key>FindPolynomials</key>
<wiki-category>Package_gbmr</wiki-category>
<wiki-category>ApCoCoA-1:Package_gbmr</wiki-category>
</command>
</command>

Latest revision as of 13:39, 29 October 2020

This article is about a function from ApCoCoA-1.

NCo.FindPolynomials

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

Syntax

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

Description

  • @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.

Example

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.SetX("txyz"); 
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
Gb;
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"]]]
-------------------------------