Difference between revisions of "ApCoCoA-1:SB.IsInSubalgebra"
From ApCoCoAWiki
(New page: <command> <title>SB.IsInSubalgebra</title> <short_description>Subalgebra membership test of a polynomial.</short_description> <syntax> SB.IsInSubalgebra(Gens:LIST of POLY, F:POLY):L...) |
Andraschko (talk | contribs) (added version info) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Version|1|[[Package sagbi/SB.IsInSubalgebra]]}} | ||
<command> | <command> | ||
<title>SB.IsInSubalgebra</title> | <title>SB.IsInSubalgebra</title> | ||
Line 7: | Line 8: | ||
</syntax> | </syntax> | ||
<description> | <description> | ||
− | This functions checks the membership of the polynomial <tt>F</tt> in the subalgebra <tt>S</tt> generated by the polynomials of the list <tt>Gens</tt>. If <tt>F</tt> is not a member of <tt>S</tt> the function will return a list with the corresponding boolean value and NULL, otherwise <tt>TRUE</tt> and the subalgebra representation of <tt>F</tt> will be returned (see also <ref>SB.NFS</ref> and <ref>SB.SubalgebraPoly</ref>). | + | This functions checks the membership of the polynomial <tt>F</tt> in the subalgebra <tt>S</tt> generated by the polynomials of the list <tt>Gens</tt>. If <tt>F</tt> is not a member of <tt>S</tt> the function will return a list with the corresponding boolean value and NULL, otherwise <tt>TRUE</tt> and the subalgebra representation of <tt>F</tt> will be returned (see also <ref>ApCoCoA-1:SB.NFS|SB.NFS</ref> and <ref>ApCoCoA-1:SB.SubalgebraPoly|SB.SubalgebraPoly</ref>). |
+ | <par/> | ||
+ | <em>Important:</em> This function works only, if a finite SAGBI-basis of <tt>S</tt> is existing! | ||
<itemize> | <itemize> | ||
Line 22: | Line 25: | ||
SB.IsInSubalgebra(G,F); | SB.IsInSubalgebra(G,F); | ||
+ | |||
+ | ------------------------------------------------------- | ||
+ | -- output: | ||
[FALSE, NULL] | [FALSE, NULL] | ||
Line 35: | Line 41: | ||
SB.IsInSubalgebra(G,F); | SB.IsInSubalgebra(G,F); | ||
+ | |||
+ | ------------------------------------------------------- | ||
+ | -- output: | ||
[FALSE, NULL] | [FALSE, NULL] | ||
Line 50: | Line 59: | ||
L; | L; | ||
SB.SubalgebraPoly(G,L[2]); | SB.SubalgebraPoly(G,L[2]); | ||
+ | |||
+ | ------------------------------------------------------- | ||
+ | -- output: | ||
[TRUE, [[2, 1, 1], [1, 2, 1], [2, 0, 1], [1, 1, 4], [0, 2, 1], [1, 0, 3], [0, 1, 3], [0, 0, 2]]] | [TRUE, [[2, 1, 1], [1, 2, 1], [2, 0, 1], [1, 1, 4], [0, 2, 1], [1, 0, 3], [0, 1, 3], [0, 0, 2]]] | ||
Line 59: | Line 71: | ||
</example> | </example> | ||
</description> | </description> | ||
− | <see>SB.NFS</see> | + | <see>ApCoCoA-1:SB.NFS|SB.NFS</see> |
− | <see>SB.SubalgebraPoly</see> | + | <see>ApCoCoA-1:SB.SubalgebraPoly|SB.SubalgebraPoly</see> |
<types> | <types> | ||
<type>sagbi</type> | <type>sagbi</type> | ||
Line 68: | Line 80: | ||
<key>sb.isinsubalgebra</key> | <key>sb.isinsubalgebra</key> | ||
<key>sagbi.isinsubalgebra</key> | <key>sagbi.isinsubalgebra</key> | ||
− | <wiki-category>Package_sagbi</wiki-category> | + | <wiki-category>ApCoCoA-1:Package_sagbi</wiki-category> |
</command> | </command> |
Latest revision as of 17:41, 27 October 2020
This article is about a function from ApCoCoA-1. If you are looking for the ApCoCoA-2 version of it, see Package sagbi/SB.IsInSubalgebra. |
SB.IsInSubalgebra
Subalgebra membership test of a polynomial.
Syntax
SB.IsInSubalgebra(Gens:LIST of POLY, F:POLY):LIST
Description
This functions checks the membership of the polynomial F in the subalgebra S generated by the polynomials of the list Gens. If F is not a member of S the function will return a list with the corresponding boolean value and NULL, otherwise TRUE and the subalgebra representation of F will be returned (see also SB.NFS and SB.SubalgebraPoly).
Important: This function works only, if a finite SAGBI-basis of S is existing!
@param Gens A list of polynomials, which are the generators of the current subalgebra.
@param F A polynomial.
@return A list consisting of an boolean value and if it exists the subalgebra representation.
Example
Use R::=QQ[x,y], DegLex; F:=x^4+x^3y+x^2y^2+y^4; G:=[x^2-y^2,x^2y,x^2y^2-y^4,x^2y^4,y^6x^2y^6-y^8]; SB.IsInSubalgebra(G,F); ------------------------------------------------------- -- output: [FALSE, NULL] ------------------------------- -- Done. -------------------------------
Example
Use R::=QQ[x,y], DegLex; F:=x^3+x^2y; G:=[x+y,xy]; SB.IsInSubalgebra(G,F); ------------------------------------------------------- -- output: [FALSE, NULL] ------------------------------- -- Done. -------------------------------
Example
Use R::=QQ[x,y], DegLex; F:=x^4y^2+x^2y^4; G:=[x^2-1,y^2-1]; L:=SB.IsInSubalgebra(G,F); L; SB.SubalgebraPoly(G,L[2]); ------------------------------------------------------- -- output: [TRUE, [[2, 1, 1], [1, 2, 1], [2, 0, 1], [1, 1, 4], [0, 2, 1], [1, 0, 3], [0, 1, 3], [0, 0, 2]]] ------------------------------- SARing :: y[1]^2y[2] + y[1]y[2]^2 + y[1]^2 + 4y[1]y[2] + y[2]^2 + 3y[1] + 3y[2] + 2 ------------------------------- -- Done. -------------------------------