Difference between revisions of "ApCoCoA-1:SB.SubalgebraPoly"

From ApCoCoAWiki
(New page: <command> <title>SB.SubalgebraPoly</title> <short_description>Computes a subalgebra polynomial from a subalgebra representation.</short_description> <syntax> SB.SubalgebraPoly(Gens:...)
 
m (insert version info)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Version|1}}
 
<command>
 
<command>
 
   <title>SB.SubalgebraPoly</title>
 
   <title>SB.SubalgebraPoly</title>
Line 7: Line 8:
 
</syntax>
 
</syntax>
 
   <description>
 
   <description>
This function computes from a given representation of a polynomial as a list of logarithms (see also <ref>SB.NFS</ref>) the polynomial in the current subalgebra, which is generated by the polynomials of the list <tt>Gens</tt>. Example: Let <tt>Gens=[g_1,g_2,g_3]</tt> be the list of subalgebra generators, let <tt>S=K[y_1,y_2,y_3]</tt> be the current subalgebra and <tt>SARepr=[[0,2,3,-1],[2,3,1,4]]</tt> the given representation. Then the polynomial
+
This function computes from a given representation of a polynomial as a list of logarithms (see also <ref>ApCoCoA-1:SB.NFS|SB.NFS</ref>) the polynomial in the current subalgebra, which is generated by the polynomials of the list <tt>Gens</tt>. Example: Let <tt>Gens=[g_1,g_2,g_3]</tt> be the list of subalgebra generators, let <tt>S=K[y_1,y_2,y_3]</tt> be the current subalgebra and <tt>SARepr=[[0,2,3,-1],[2,3,1,4]]</tt> the given representation. Then the polynomial
 
<par/>
 
<par/>
 
<tt>-1*(y_2)^2(y_3)^3 + 4*(y_1)^2(y_2)^3(y_3)</tt>
 
<tt>-1*(y_2)^2(y_3)^3 + 4*(y_1)^2(y_2)^3(y_3)</tt>
Line 28: Line 29:
  
 
SB.SubalgebraPoly(G,L[2]);
 
SB.SubalgebraPoly(G,L[2]);
 +
 +
-------------------------------------------------------
 +
-- output:
  
 
[x^3y + 3x^2y^2, [[2, 0, 0, 0, 0, 1]]]
 
[x^3y + 3x^2y^2, [[2, 0, 0, 0, 0, 1]]]
Line 45: Line 49:
  
 
SB.SubalgebraPoly(G,L[2]);
 
SB.SubalgebraPoly(G,L[2]);
 +
 +
-------------------------------------------------------
 +
-- output:
  
 
[-xy^2 - y^3, [[3, 0, 1], [1, 1, -2]]]
 
[-xy^2 - y^3, [[3, 0, 1], [1, 1, -2]]]
Line 62: Line 69:
  
 
SB.SubalgebraPoly(G,L[2]);
 
SB.SubalgebraPoly(G,L[2]);
 +
 +
-------------------------------------------------------
 +
-- output:
  
 
[0, [[2, 1, 1], [1, 2, 1], [2, 0, 1], [1, 1, 4], [0, 2, 1], [1, 0, 3], [0, 1, 3], [0, 0, 2]]]
 
[0, [[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 71: Line 81:
 
</example>
 
</example>
 
   </description>
 
   </description>
<see>SB.NFS</see>
+
<see>ApCoCoA-1:SB.NFS|SB.NFS</see>
 
   <types>
 
   <types>
 
     <type>sagbi</type>
 
     <type>sagbi</type>
Line 79: Line 89:
 
   <key>sb.subalgebrapoly</key>
 
   <key>sb.subalgebrapoly</key>
 
   <key>sagbi.subalgebrapoly</key>
 
   <key>sagbi.subalgebrapoly</key>
   <wiki-category>Package_sagbi</wiki-category>
+
   <wiki-category>ApCoCoA-1:Package_sagbi</wiki-category>
 
</command>
 
</command>

Latest revision as of 10:33, 7 October 2020

This article is about a function from ApCoCoA-1.

SB.SubalgebraPoly

Computes a subalgebra polynomial from a subalgebra representation.

Syntax

SB.SubalgebraPoly(Gens:LIST of POLY, SARepr:LIST of LIST of INT):POLY

Description

This function computes from a given representation of a polynomial as a list of logarithms (see also SB.NFS) the polynomial in the current subalgebra, which is generated by the polynomials of the list Gens. Example: Let Gens=[g_1,g_2,g_3] be the list of subalgebra generators, let S=K[y_1,y_2,y_3] be the current subalgebra and SARepr=[[0,2,3,-1],[2,3,1,4]] the given representation. Then the polynomial

-1*(y_2)^2(y_3)^3 + 4*(y_1)^2(y_2)^3(y_3)

in the ring S will be returned.

  • @param Gens A list of polynomials, which are the generators of the current subalgebra.

  • @param SARepr A list of lists with integers as entries.

  • @return A polynomial in the current subalgebra.

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];
L:=SB.NFS(G,F,TRUE);
L;

SB.SubalgebraPoly(G,L[2]);

-------------------------------------------------------
-- output:

[x^3y + 3x^2y^2, [[2, 0, 0, 0, 0, 1]]]
-------------------------------
SARing :: y[1]^2
-------------------------------
-- Done.
-------------------------------

Example

Use R::=QQ[x,y], DegLex;

F:=x^3+x^2y;
G:=[x+y,xy];
L:=SB.NFS(G,F,TRUE);
L;

SB.SubalgebraPoly(G,L[2]);

-------------------------------------------------------
-- output:

[-xy^2 - y^3, [[3, 0, 1], [1, 1, -2]]]
-------------------------------
SARing :: y[1]^3 - 2y[1]y[2]
-------------------------------
-- Done.
-------------------------------

Example

Use R::=QQ[x,y], DegLex;

F:=x^4y^2+x^2y^4;
G:=[x^2-1,y^2-1];
L:=SB.NFS(G,F,TRUE);
L;

SB.SubalgebraPoly(G,L[2]);

-------------------------------------------------------
-- output:

[0, [[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