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

SB.NFS

SB.SubalgebraPoly