# PresRing -- Stores data on the lifted presentation ring of a subring.

## Description

The PresRing type contains about a Subring instance is related to the lifted presentation ring of a subring. In the code, the lifted presentation of a subring is referred to as the tensorRing.

An instance of the PresRing type contains the following keys:

• tensorRing: The lifted presentation ring of the given subring.
• sagbiInclusion: A map from tensorRing to tensorRing
• projectionAmbient: A map from tensorRing to the ambient ring.
• inclusionAmbient: A map from the ambient ring to tensorRing
• substitution: A map from tensorRing to tensorRing
• fullSubstitution: Composition of substitution and projectionAmbient.
• syzygyIdeal: This is used in the function sagbi to calculate toric syzygies.
• liftedPres: This is used in normal form calculations.

To understand the maps stored inside of a PresRing instance, it is informative to look at the output of debugPrintAllMaps:

 i1 : gndR = QQ[x, y]; i2 : subR = subring {y, y*x-x^2, y*x^2}; i3 : debugPrintAllMaps subR - sagbiInclusion: maps p_0 to 0 maps p_1 to 0 maps p_2 to p_2 maps p_3 to p_3 maps p_4 to p_4 - projectionAmbient: maps p_0 to x maps p_1 to y maps p_2 to 0 maps p_3 to 0 maps p_4 to 0 - inclusionAmbient: maps x to p_0 maps y to p_1 - substitution: maps p_0 to p_0 maps p_1 to p_1 maps p_2 to p_1 maps p_3 to -p_0^2+p_0*p_1 maps p_4 to p_0^2*p_1 - fullSubstitution: maps p_0 to x maps p_1 to y maps p_2 to y maps p_3 to -x^2+x*y maps p_4 to x^2*y

This type is typically not used externally to Subring type.

• subring -- Constructs a subring of a polynomial ring.
• PresRing -- Stores data on the lifted presentation ring of a subring.
• generators(Subring) -- Returns the generators of a subring as a one-row matrix.
• ambient(Subring) -- Returns the ambient ring (ring containing the generators) of a subring.
• sagbi -- Subalgebra basis (sagbi basis)

## Functions and methods returning an object of class PresRing :

• makePresRing -- Contstructs an instance of the PresRing type

## Methods that use an object of class PresRing :

• "internalSubduction(PresRing,Matrix)" -- see internalSubduction -- Performs subduction from a presentation ring
• "internalSubduction(PresRing,RingElement)" -- see internalSubduction -- Performs subduction from a presentation ring

## For the programmer

The object PresRing is a type, with ancestor classes HashTable < Thing.