# Difference between revisions of "ApCoCoA-1:NCo.FindPolynomials"

(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...) |
|||

Line 2: | Line 2: | ||

<title>NCo.FindPolynomials</title> | <title>NCo.FindPolynomials</title> | ||

<short_description> | <short_description> | ||

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

</short_description> | </short_description> | ||

<syntax> | <syntax> | ||

Line 10: | Line 10: | ||

<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 | + | <item>@param <em>Polynomials</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><X></tt> and C is the coefficient of W. Each word in <tt><X></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<x,y></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>@return: a LIST of polynomials | + | <item>@return: a LIST of polynomials whose indeterminates are in Alphabet.</item> |

</itemize> | </itemize> | ||

<example> | <example> | ||

Line 49: | Line 49: | ||

</example> | </example> | ||

</description> | </description> | ||

− | |||

− | |||

− | |||

<types> | <types> | ||

− | |||

<type>non_commutative</type> | <type>non_commutative</type> | ||

− | |||

</types> | </types> | ||

<key>gbmr.FindPolynomials</key> | <key>gbmr.FindPolynomials</key> |

## Revision as of 16:27, 30 April 2013

## NCo.FindPolynomials

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

### Syntax

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

### Description

@param

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

*Polynomials*: 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

Polynomials:=[[[1,<quotes>a</quotes>], [1,<quotes>b</quotes>], [1,<quotes>c</quotes>]], [[1,<quotes>b</quotes>]]]; NCo.FindPolynomials(<quotes>abc</quotes>, Polynomials); [[[1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes>c</quotes>]], [[1, <quotes>b</quotes>]]] ------------------------------- NCo.FindPolynomials(<quotes>a</quotes>, Polynomials); [ ] ------------------------------- NCo.FindPolynomials(<quotes>b</quotes>, Polynomials); [[[1, <quotes>b</quotes>]]] ------------------------------- NCo.FindPolynomials(<quotes>ab</quotes>, Polynomials); [[[1, <quotes>b</quotes>]]] ------------------------------- NCo.SetX(<quotes>txyz</quotes>); NCo.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 := NCo.GB(G); -- compute Groebner basis of <G> w.r.t. ELIM Gb; NCo.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>]]] -------------------------------