ApCoCoA:SB.SubalgebraPoly

From CoCoAWiki
Jump to: navigation, search

<command>

 <title>SB.SubalgebraPoly</title>
 <short_description>Computes a subalgebra polynomial from a subalgebra representation.</short_description>
 

<syntax> SB.SubalgebraPoly(Gens:LIST of POLY, SARepr:LIST of LIST of INT):POLY </syntax>

 <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 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 <par/> -1*(y_2)^2(y_3)^3 + 4*(y_1)^2(y_2)^3(y_3) <par/> in the ring S will be returned.

<itemize>

 <item>@param Gens A list of polynomials, which are the generators of the current subalgebra.</item>
 <item>@param SARepr A list of lists with integers as entries.</item>
 <item>@return A polynomial in the current subalgebra.</item>

</itemize>

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


</example>

 </description>

<see>SB.NFS</see>

 <types>
   <type>sagbi</type>
   <type>poly</type>
 </types>
 <key>subalgebrapoly</key>
 <key>sb.subalgebrapoly</key>
 <key>sagbi.subalgebrapoly</key>
 <wiki-category>Package_sagbi</wiki-category>

</command>