Subring is a type that stores information associated to a subring of a polynomial ring or quotient ring, such as a set of subring generators and a reference to the ring containing these generators. An instance of a Subring is constructed with the function subring. For many uses, it is suggested to use a Subring, as the computation objects (SAGBIBasis) are handled behind the scenes, and the user experience is more streamlined.

Every instance of Subring has the following keys (some of which are strings):

- ambientRing: The polynomial or quotient ring that contains the subring instance's generators.
- generators: A one-row matrix, the generators of the subring.
- cache: Contains data from previous computations to allow for more efficient computations.
- presentationRing: the polynomial ring with one variable for each generator of the subring.
- presentationMap: a map from the presentation ring to the ambient ring of the subring.

- subring -- Constructs a subring of a polynomial ring.
- generators(Subring) -- A generating set of a subring
- ambient(Subring) -- The ambient ring of a subring
- numgens(Subring) -- The number of generators of a subring
- net(Subring) -- Short summary of a subring
- presentationRing(Subring) -- returns the presentation ring of a subring
- sagbi -- Compute a subalgebra basis (sagbi basis)
- SAGBIBasis -- The type of all subalgebra bases
- subalgebraBasis -- Compute subalgebra basis generators
- flattenedRing(Subring) -- The flattened ring of a subring or sagbiBasis

- IntersectedSubring -- The type of all subrings arising from intersection

- ambient(Subring) -- The ambient ring of a subring
- flattenedRing(Subring) -- see flattenedRing -- The flattened ring of a subring or sagbiBasis
- forceSB(Subring) -- declare the generators to be a complete subalgebra basis
- generators(Subring) -- A generating set of a subring
- groebnerMembershipTest(RingElement,Subring) -- see groebnerMembershipTest -- Extrinsic method for subring membership
- groebnerSubductionQuotient(RingElement,Subring) -- see groebnerSubductionQuotient -- Extrinsic method for subduction quotients
- intersect(Subring,Subring) -- Intersection of subrings
- isSAGBI(Subring) -- Check if the generators are a subalgebra basis
- net(Subring) -- Short summary of a subring
- numgens(Subring) -- The number of generators of a subring
- presentationRing(Subring) -- see presentationRing -- returns the presentation ring of a subring
- Matrix % Subring -- see Reduction in subrings -- Remainder modulo a subring
- RingElement % Subring -- see Reduction in subrings -- Remainder modulo a subring
- RingElement // Subring -- Subduction quotient with respect to a subring
- sagbi(Subring) -- see sagbi -- Compute a subalgebra basis (sagbi basis)
- sagbiBasis(Subring) -- see sagbiBasis -- Constructs a computation object from a subring.
- subalgebraBasis(Subring) -- see subalgebraBasis -- Compute subalgebra basis generators
- subduction(Subring,Matrix) -- see subduction -- Subduction against a set elements
- subduction(Subring,RingElement) -- see subduction -- Subduction against a set elements