# Package sagbi/SB.Subalgebra

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

Package sagbi/SB.GetTruncSAGBI