next | previous | forward | backward | up | top | index | toc | Macaulay2 website
SubalgebraBases :: SubalgebraBases

SubalgebraBases -- A package for finding canonical subalgebra bases (Sagbi bases)

Description

Let $R=k[f_1,\ldots,f_k]$ denote the subalgebra of the polynomial ring $k[x_1,\ldots,x_n]$ generated by $f_1,\ldots ,f_k.$ We say $f_1,\ldots,f_k$ form a subalgebra basis with respect to a monomial order $<$ if the initial algebra associated to $<$, defined as $in(R) := k[in(f) \mid f \in R],$ is generated by the elements $in(f_1), \ldots , in(f_k).$ The main functions provided by this package are for computing these subalgebra bases: sagbi, subalgebraBasis, and subduction. Some useful functions for internal use and experimental features are also provided.

Some references for Subalgebra bases (aka canonical subalgebra bases, SAGBI bases)

  • Kapur, D., Madlener, K. (1989). A completion procedure for computing a canonical basis of a $k$-subalgebra. Proceedings of Computers and Mathematics 89 (eds. Kaltofen and Watt), MIT, Cambridge, June 1989
  • Robbiano, L., Sweedler, M. (1990). Subalgebra bases, in W.~Bruns, A.~Simis (eds.): Commutative Algebra, Springer Lecture Notes in Mathematics 1430, pp.~61--87
  • F. Ollivier, Canonical Bases: Relations with Standard bases, finiteness conditions and applications to tame automorphisms, in Effective Methods in Algebraic Geometry, Castiglioncello 1990, pp. 379-400, Progress in Math. 94 Birkhauser, Boston (1991)
  • Stillman, Michael, and Harrison Tsai. Using SAGBI bases to compute invariants. J. Pure and Appl. Alg., 1999, pp.~285--302.
  • B. Sturmfels, Groebner bases and Convex Polytopes, Univ. Lecture Series 8, Amer Math Soc, Providence, 1996

See also

Authors

Version

This documentation describes version 1.0 of SubalgebraBases.

Source code

The source code from which this documentation is derived is in the file SubalgebraBases.m2. The auxiliary files accompanying it are in the directory SubalgebraBases/.

Exports

  • Types
    • PresRing -- Stores data on the lifted presentation ring of a subring.
    • SAGBIBasis -- The type of all sagbi bases
    • Subring -- The type of all subrings
  • Functions and commands
  • Methods
    • ambient(Subring) -- Returns the ambient ring (ring containing the generators) of a subring.
    • "autoreduce(Subring,Matrix)" -- see autoreduce -- Perform autoreduction of the generators of an ideal of a subring.
    • "autosubduce(Matrix)" -- see autosubduce -- Performs autosubduction on the generators of a subring.
    • "debugPrintAllMaps(Subring)" -- see debugPrintAllMaps -- Prints the maps associated with a subring.
    • "debugPrintGens(Subring)" -- see debugPrintGens -- Print the generators of a subring.
    • "debugPrintMap(RingMap)" -- see debugPrintMap -- Prints a RingMap in human-readable format.
    • "debugPrintMat(Matrix)" -- see debugPrintMat -- Prints a one-row matrix
    • "extractEntries(Matrix,Matrix)" -- see extractEntries -- Inverse of moduleToSubringIdeal
    • "extrinsicBuchberger(Subring,Matrix)" -- see extrinsicBuchberger -- Computes a Gröbner basis of an ideal within a subring.
    • generators(SAGBIBasis) -- Returns a partial sagbi generating set
    • generators(Subring) -- Returns the generators of a subring as a one-row matrix.
    • "genVars(Subring)" -- see genVars -- tensor ring generators
    • "internalSubduction(PresRing,Matrix)" -- see internalSubduction -- Performs subduction from a presentation ring
    • "internalSubduction(PresRing,RingElement)" -- see internalSubduction -- Performs subduction from a presentation ring
    • "Matrix % Subring" -- see internalSubduction -- Performs subduction from a presentation ring
    • "intrinsicReduce(Subring,Matrix,Matrix)" -- see intrinsicReduce -- Compute normal forms relative to an ideal within a subring.
    • "intrinsicReduce(Subring,Matrix,RingElement)" -- see intrinsicReduce -- Compute normal forms relative to an ideal within a subring.
    • "isSubalg(Subring,Subring)" -- see isSubalg -- Calculates whether one subring is contained in another subring.
    • "makePresRing(Ring,List)" -- see makePresRing -- Contstructs an instance of the PresRing type
    • "makePresRing(Ring,Matrix)" -- see makePresRing -- Contstructs an instance of the PresRing type
    • "makePresRing(Subring)" -- see makePresRing -- Contstructs an instance of the PresRing type
    • "mingensSubring(Subring,Matrix)" -- see mingensSubring -- Auto reduces matrix elements
    • "moduleToSubringIdeal(Subring,Matrix)" -- see moduleToSubringIdeal -- Convert a module as a matrix to a subring ideal.
    • numgens(Subring) -- Returns the number of generators of a subring.
    • ring(Subring) -- Returns tensor ring
    • RingElement % Subring -- Remainder modulo a subring
    • "Matrix // Subring" -- see RingElement // Subring -- Write a ring element in terms of the generators.
    • RingElement // Subring -- Write a ring element in terms of the generators.
    • "sagbi(List)" -- see sagbi -- Subalgebra basis (sagbi basis)
    • "sagbi(Matrix)" -- see sagbi -- Subalgebra basis (sagbi basis)
    • "sagbi(SAGBIBasis)" -- see sagbi -- Subalgebra basis (sagbi basis)
    • "sagbi(Subring)" -- see sagbi -- Subalgebra basis (sagbi basis)
    • "sagbiBasis(MutableHashTable)" -- see sagbiBasis -- Constructs a computation object from a subring.
    • "sagbiBasis(Subring)" -- see sagbiBasis -- Constructs a computation object from a subring.
    • "sagbiDone(SAGBIBasis)" -- see sagbiDone -- Test if sagbi basis computation is complete
    • "subalgebraBasis(List)" -- see subalgebraBasis -- Subalgebra basis (sagbi basis) generators
    • "subalgebraBasis(Matrix)" -- see subalgebraBasis -- Subalgebra basis (sagbi basis) generators
    • "subalgebraBasis(Subring)" -- see subalgebraBasis -- Subalgebra basis (sagbi basis) generators
    • "subalgEquals(Subring,Subring)" -- see subalgEquals -- Check if two subrings are equal.
    • "Subring == Subring" -- see subalgEquals -- Check if two subrings are equal.
    • "subduction(Matrix,Matrix)" -- see subduction -- Performs subduction by the generators of a subring.
    • "subduction(Matrix,RingElement)" -- see subduction -- Performs subduction by the generators of a subring.
    • "subring(List)" -- see subring -- Constructs a subring of a polynomial ring.
    • "subring(Matrix)" -- see subring -- Constructs a subring of a polynomial ring.
    • "subring(SAGBIBasis)" -- see subring -- Constructs a subring of a polynomial ring.
    • Subring ^ ZZ -- Construct a product subring.
    • "toricSyz(Subring,Matrix)" -- see toricSyz -- Calculate toric syzygies of monomials in the initial algebra.
    • "verifySagbi(List)" -- see verifySagbi -- Test if the generators form sagbi basis
    • "verifySagbi(Matrix)" -- see verifySagbi -- Test if the generators form sagbi basis
    • "verifySagbi(Subring)" -- see verifySagbi -- Test if the generators form sagbi basis
  • Symbols
    • Autosubduce -- Flag for autosubduction before the Sagbi algorithm
    • "StrWidth" -- see debugPrintGens -- Print the generators of a subring.
    • PrintLevel -- A verbose mode for the Sagbi algorithm.

For the programmer

The object SubalgebraBases is a package.