Package sagbi/SB.Subalgebra

From ApCoCoAWiki
This article is about a function from ApCoCoA-2.

SB.Subalgebra

Creates a subalgebra given the base ring and a list of generators.

Syntax

SB.Subalgebra(R: RING, fs: LIST): TAGGED("$apcocoa/sagbi.Subalgebra")

Description

This function returns the Subalgebra of a polynomial ring R generated by the polynomials in the list fs. A Subalgebra in this package is a record tagged with "$apcocoa/sagbi.Subalgebra". The record contains the following fields:

  • ID: A unique ID of the subalgebra, like the ID of a ring,

  • CoeffRing: The coefficient ring of R,

  • Ring: The ring R,

  • gens: The generators of the subalgebra, so fs,

  • SAGBI: A (truncated) SAGBI basis of the subalgebra, initially [],

  • trunc: The truncation degree of the current SAGBI basis, initially 0 - is set to -1 if SAGBI is a complete SAGBI basis,

  • HS: The Hilbert series of S, initially 0.

Note that most of the fields are initially empty and only computed by calling the getter functions of the package. For using truncated SAGBI bases and Hilbert series, the base ring R has to be standard graded.

  • @param R The polynomial ring containing the subalgebra, i.e. the ring of the fs.

  • @param fs A list of polynomials in R

  • @return The subalgebra of R generated by the polynomials in fs, represented as a tagged object.

Example

Use R ::= QQ[x,y,z];
S := SB.Subalgebra(R,[x^2,y+z]);
PrintLn S;
-- SubalgebraWithID(2, QQ[x^2,  y +z]) of RingWithID(2, "QQ[x,y,z]")


See also

Package sagbi/SB.IsInSA

Package sagbi/SB.IsInSA_SAGBI

Package sagbi/SB.IsInToricRing

Package sagbi/SB.IsSAGBIOf

Package sagbi/SB.GetID

Package sagbi/SB.GetRing

Package sagbi/SB.GetGens

Package sagbi/SB.GetCoeffRing

Package sagbi/SB.GetSAGBI

Package sagbi/SB.GetTruncSAGBI

Package sagbi/SB.GetTruncDeg

Package sagbi/SB.GetLTSA

Package sagbi/SB.GetInDeg

Package sagbi/SB.GetHS

Package sagbi/SB.IsToricRing

Package sagbi/SB.IsGraded

Package sagbi/SB.DeleteSAGBI

Package sagbi/SB.RandomPoly