ApCoCoA-1:SB.IsInSubalgebra

From ApCoCoAWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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