# 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...) |
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 | + | 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, | + | 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> | + | <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><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 "xyyx", and the identity is represented as the empty string "". Thus, the polynomial <tt>f=xy-y+1</tt> in <tt>K<x,y></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 | + | <item>@return: a LIST of polynomials whose indeterminates are in Alphabet.</item> |

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

<example> | <example> | ||

− | + | Polys:=[[[1,"a"], [1,"b"], [1,"c"]], [[1,"b"]]]; | |

− | NCo.FindPolynomials( | + | NCo.FindPolynomials("abc", Polys); |

− | [[[1, | + | [[[1, "a"], [1, "b"], [1, "c"]], [[1, "b"]]] |

------------------------------- | ------------------------------- | ||

− | NCo.FindPolynomials( | + | NCo.FindPolynomials("a", Polys); |

[ ] | [ ] | ||

------------------------------- | ------------------------------- | ||

− | NCo.FindPolynomials( | + | NCo.FindPolynomials("b", Polys); |

− | [[[1, | + | [[[1, "b"]]] |

------------------------------- | ------------------------------- | ||

− | NCo.FindPolynomials( | + | NCo.FindPolynomials("ab", Polys); |

− | [[[1, | + | [[[1, "b"]]] |

------------------------------- | ------------------------------- | ||

− | NCo.SetX( | + | NCo.SetX("txyz"); |

− | NCo.SetOrdering( | + | NCo.SetOrdering("ELIM"); -- ELIM will eliminate t, x, y, z one after another |

− | F1 := [[1, | + | F1 := [[1,"xx"], [-1,"yx"]]; |

− | F2 := [[1, | + | F2 := [[1,"xy"], [-1,"ty"]]; |

− | F3 := [[1, | + | F3 := [[1,"xt"], [-1, "tx"]]; |

− | F4 := [[1, | + | F4 := [[1,"yt"], [-1, "ty"]]; |

G := [F1, F2,F3,F4]; | G := [F1, F2,F3,F4]; | ||

Gb := NCo.GB(G); -- compute Groebner basis of <G> w.r.t. ELIM | Gb := NCo.GB(G); -- compute Groebner basis of <G> w.r.t. ELIM | ||

Gb; | Gb; | ||

− | NCo.FindPolynomials( | + | NCo.FindPolynomials("xyz",Gb); -- compute Groebner basis of the intersection of <G> and K<x,y,z> w.r.t. ELIM |

− | [[[1, | + | [[[1, "xx"], [-1, "yx"]], [[1, "ty"], [-1, "xy"]], [[1, "yt"], [-1, "xy"]], [[1, "tx"], [-1, "xt"]], |

− | [[1, | + | [[1, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]], [[1, "yxt"], [-1, "yyx"]]] |

------------------------------- | ------------------------------- | ||

− | [[[1, | + | [[[1, "xx"], [-1, "yx"]], [[1, "xyx"], [-1, "yyx"]], [[1, "xyy"], [-1, "yxy"]]] |

------------------------------- | ------------------------------- | ||

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

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

− | |||

− | |||

− | |||

<types> | <types> | ||

− | |||

<type>non_commutative</type> | <type>non_commutative</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 <G> w.r.t. ELIM Gb; NCo.FindPolynomials("xyz",Gb); -- compute Groebner basis of the intersection of <G> and K<x,y,z> 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"]]] -------------------------------