SubalgebraBases in Macaulay2
Michael Burr, Oliver Clarke, Timothy Duff, Jackson Leaman, Nathan, Nichols, Elise Walker

TL;DR
This paper presents an updated software package in Macaulay2 for computing and manipulating subalgebra bases, including SAGBI and Khovanskii bases, with practical examples demonstrating its functionality.
Contribution
The paper introduces a revived version of the SubalgebraBases package in Macaulay2, enhancing tools for subalgebra basis computations in polynomial rings.
Findings
The package successfully computes subalgebra bases for various examples.
Demonstrates the package's utility in algebraic computations.
Provides an overview of the package's design and capabilities.
Abstract
We describe a recently revived version of the software package SubalgberaBases, which is distributed in the Macaulay2 computer algebra system. The package allows the user to compute and manipulate subagebra bases -- which are also known as SAGBI bases or canonical bases and form a special class of Khovanskii bases -- for polynomial rings and their quotients. We provide an overview of the design and functionality of SubalgberaBases and demonstrate how the package works on several motivating examples.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCommutative Algebra and Its Applications · Polynomial and algebraic computation · Algebraic Geometry and Number Theory
SubalgebraBases in Macaulay2
Michael Burr
220 Parkway Drive, Clemson University, Clemson, SC 29634
,
Oliver Clarke
The University of Edinburgh, James Clerk Maxwell Building, Edinburgh EH9 3FD
,
Timothy Duff
Department of Mathematics, University of Washington, Seattle, WA 98195
,
Jackson Leaman
220 Parkway Drive, Clemson University, Clemson, SC 29634
,
Nathan Nichols
Department of Mathematics and Statistical Sciences, Marquette University, Milwaukee, WI 53233
and
Elise Walker
Center for Computing Research, Sandia National Laboratories, Albuquerque, NM, USA
Abstract.
We describe a recently revived version of the software package SubalgebraBases, which is distributed in the Macaulay2 computer algebra system. The package allows the user to compute and manipulate subagebra bases — which are also known as SAGBI bases or canonical bases and form a special class of Khovanskii bases — for polynomial rings and their quotients. We provide an overview of the design and functionality of SubalgebraBases and demonstrate how the package works on several motivating examples.
Burr was partially supported by NSF grant DMS-1913119 and SIMONS collaboration grant #964285.
The work was started when Oliver Clarke was at the University of Bristol supported by the EPSRC Doctoral Training Partnership (DTP) award EP/N509619/1, and continued while being an overseas researcher under Postdoctoral Fellowship of Japan Society for the Promotion of Science (JSPS).
Duff acknowledges support from an NSF Mathematical Sciences Postdoctoral Research Fellowship (DMS-2103310)
1. Introduction
In the field of computational algebraic geometry, the notion of a Gröbner basis plays an instrumental role in solving many basic problems involving polynomial ideals. For computations involving polynomial algebras, there is an analogous, but more subtle, notion of a subalgebra basis. This notion was introduced independently by Kapur and Madlener [14] and Robbiano and Sweedler [20], where the names canonical basis and SAGBI basis were also proposed. In more recent years, the name Khovanskii basis has also been adopted [15] to describe a more general notion for valued algebras.
The SubalgebraBases package in Macaulay2 was initially developed around 1997 by Mike Stillman and Harrison Tsai [11]. In subsequent years this package was inaccessible to most users due to internal changes in Macaulay2, until version 1.18 was released in mid–2021. Our work before and after this re-release has focused on restoring the package’s original functionality, implementing additional algorithms, and designing new data structures that facilitate working with larger examples and admit new features in the package.
Outline. In Section 2, we provide some background on subalgebra bases, with examples illustrating the basic usage of our package. In Section 3.1, we introduce the main data structures: the Subring and SAGBIBasis types, which allow for resuming partial subalgebra basis computations, and describe the various methods that they enable. Section 3.2 summarizes several options that may be useful for computing subalgebra bases, and Section 3.3 covers some additional functionality. Finally, in Section 4, we provide some more sophisticated examples of our package in action. The examples appearing in this paper may be found in the file accompanyingCode.m2.
2. Background and basic computations
For a field , let be a polynomial ring, which we equip with a monomial order . Unless otherwise specified, we follow the Macaulay2 convention for variable ordering, in which Consider a subalgebra where is some index set. The initial algebra is generated by the initial terms of all elements in :
[TABLE]
Definition 2.1**.**
A set is a subalgebra basis for , with respect to the order , if
[TABLE]
Just as Gröbner bases enable many computations with polynomial ideals, the knowledge of a finite subalgebra basis allows us to answer several basic questions about a given algebra. A basic application is algebra membership: if form a subalgebra basis for then any polynomial has an associated normal form : for some polynomial
[TABLE]
with the property that either or Additionally, we require that none of the monomials of are contained in , which implies it is unique. The polynomials and normal form appearing in Equation (1) can be computed using an analogue of multivariate polynomial division known as the subduction algorithm. A description of the subduction algorithm may be found, for example, in [20, Algorithm 1.5] or [22, Algorithm 11.1].
Unlike Gröbner bases, the theory of subalgebras bases is not, strictly speaking, algorithmic. For instance, as illustrated in Example 2.3, a finitely generated polynomial algebra need not have a finite subalgebra basis with respect to a given term order. Nevertheless, there are many interesting examples for which finite subalgebra bases exist and can be computed. We consider a classical and well-known example from invariant theory.
Example 2.2**.**
Let and consider the first three power-sums in ,
[TABLE]
The underlined monomials above are the initial terms with respect to the GRevLex order on The algebra is the ring of invariants for the standard action of the symmetric group given by A subalgebra basis for consists of the three elementary symmetric polynomials,
[TABLE]
hence We verify these assertions in Macaulay2 with the code below.
needsPackage "SubalgebraBases";
R = QQ[x_1..x_3];
A = subring {x_1+x_2+x_3, x_1^2+x_2^2+x_3^2, x_1^3+x_2^3+x_3^3};
SB = sagbi A
isSAGBI SB
The two lines without semicolons produce the following output, informing us that SB is an instance of the type SAGBIbasis, and that our computation terminated successfully.
i4 : SB = sagbi A
o4 = SAGBIBasis Computation Object with 3 generators, Limit = 20.
o4 : SAGBIBasis
i5 : isSAGBI SB
o5 = true
To verify we may compute and appearing in Equation (1) as follows:
i5 : A = subring(gens SB, GeneratorSymbol => g);
i6 : f = x_1^4 + x_2^4 + x_3^4;
i7 : q = f // A
4 2 2
o7 = g - 4g g + 2g + 4g g
1 1 2 2 1 3
o7 : QQ[g ..g ]
1 3
i8 : r = f % A
o8 = 0
o8 : R
For a given set of algebra generators , the binomial syzygies on the set of initial terms , also known as tête-a-têtes [20], provide an analogue of S-polynomials from Gröbner basis theory. The binomial syzygies generate the kernel of the monomial map
[TABLE]
If we consider a presentation of the algebra given by
[TABLE]
then the initial term of the “S-polynomial” is strictly less than . Applying the subduction algorithm, we obtain a normal form for analogous to in Equation (1). If every is zero, then the set forms a subalgebra basis. Otherwise, we enlarge the set of generators to include all nonzero and restart the computation.
Example 2.3**.**
Consider the algebra , and let be the GRevLex order. The initial algebra is not finitely generated. However, we can still compute a partial subalgebra basis in Macaulay2 as follows:
i3 : R = QQ[x_1,x_2];
i4 : SB = subalgebraBasis({x_1+x_2, x_1x_2, x_1x_2^2}, Limit => 7)
o4 = | x_1+x_2 x_1x_2 x_1x_2^2 x_1x_2^3 x_1x_2^4 x_1x_2^5 x_1x_2^6 |
1 15
o4 : Matrix R <--- R
The option Limit (whose default value is 20) allows the procedure outlined above to terminate. The final S-polynomial computed is , of degree Using isSAGBI, we can check that the computation is incomplete:
i3 : isSAGBI SB
o3 = false
Various extensions of Definition 2.1 may be found in the literature. For instance, in [16], a Noetherian integral domain with identity replaces the coefficient field . Building upon this, the authors of [21] extend the theory of subalgebra bases to quotients of these polynomial rings. Currently, our package can be used to compute a (partial) subalgebra basis for a finitely-generated subalgebra , where is a polynomial ideal. In this setting, the initial algebra is defined to be a subalgebra of (see, for example, [21, 15]). We provide an example illustrating this functionality below.
Example 2.4** ([21, Example 2]).**
Fix a positive integer . If we let
[TABLE]
and be the subalgebra generated by , then forms a subalgebra basis for with respect to Lex. We verify this below when :
i1 : n = 3;
i2 : R = QQ[a,b,c,d,u_1 .. u_n, v_1 .. v_n, MonomialOrder => Lex];
i3 : S = R / ideal(ad - bc - 1);
i4 : G = flatten for i from 1 to n list {au_i + bv_i, cu_i + dv_i};
i5 : SB = subalgebraBasis G
o5 = | cu_3+dv_3 cu_2+dv_2 cu_1+dv_1 au_3+bv_3 au_2+bv_2 au_1+bv_1 u_2v_3-u_3v_2 u_1v_3-u_3v_1 u_1v_2-u_2v_1 |
1 9
o5 : Matrix S <--- S
i6 : isSAGBI SB
o6 = true
3. Design and Functionality
3.1. Data structures and resuming computations
We provide two main data structures for working with subalgebras and subalgebra bases: the Subring and SAGBIBasis types. An instance of the type Subring, which we call a subring, represents a subalgebra of a polynomial ring or a quotient ring. Subrings are designed to behave similarly to the core data type Ideal. The other main type SAGBIBasis captures the state of a subalgebra basis computation, making it more similar to a GroebnerBasis computation object. In particular, this type is designed to keep track of the already-computed elements of the subalgebra basis, and we refer to an instance of SAGBIBasis as a computation object.
A subring A is a light-weight object that keeps track of the generators of the algebra , and may be used as an argument for the main functions that compute subalgebra bases; subalgebraBasis and sagbi. A subring also keeps track of the furthest-advanced computation object that has been constructed during a subalgebra basis computation. To access or create a computation object, we use the function sagbi. The generators associated with a computation object are the currently-known elements of a (partial) subalgebra basis. Applying the method function isSAGBI to a subring checks whether the generators of furthest advanced computation object is a certified subalgebra basis.
Algebra generators associated with an instance of Subring or SAGBIBasis can be recovered using gens. For example, if S is a subring and isSAGBI S returns true, then a complete subalgebra basis for S has been computed. In this case, the subalgebra basis may be accessed with gens sagbi S, or equivalently subalgebraBasis S.
Example 3.1**.**
Let . The following code computes a partial GRevLex subalgebra basis:
i1 : R = QQ[x,y];
i2 : A = subring {x+y, x^6, y^6}
o2 = subring of R with 3 generators
o2 : Subring
i3 : SB = sagbi(A, Limit => 5)
o3 = Partial SAGBIBasis Computation Object with 1 generators, Limit = 5.
o3 : SAGBIBasis
i4 : isSAGBI SB
o4 = false
The computation object SB above records the state of a subalgebra basis computation accounting for binomial syzygies of degree up to This computation does not compute the S-polynomial , whose initial term is needed to generate the initial algebra. Since the subring A has recorded the progress of the last computation, we may resume computation with a higher value for Limit.
i5 : SB' = sagbi(A, Limit => 100)
o5 = SAGBIBasis Computation Object with 3 generators, Limit = 100.
o5 : SAGBIBasis
i6 : isSAGBI SB'
o6 = true
i7 : gens SB'
o7 = | x+y y6 6x5y+15x4y2+20x3y3+15x2y4+6xy5 |
1 3
o7 : Matrix R <--- R
Remark 3.2**.**
Subring and SAGBIBasis both inherit from HashTable, and thus both types are immutable. However, the constructors for either type provide the special key cache used to keep track of the progress of computations. Any subring has two keys generators and ambientRing, which store the input generators and the ring containing these generators. In contrast, many keys of these objects are reserved for internal use, but may be accessed through accessor functions. Two keys of particular interest are the keys SAGBIdata and SAGBIoptions. The key SAGBIoptions stores the options that are used in subalgebra basis computations. The key SAGBIdata stores user-readable information such as the original generators of the subring, the partially computed subalgebra basis, and whether the subalgebra basis computation is complete.
3.2. Computation options
When calling sagbi or subalgebraBasis, several options for fine-tuning computations may be used. These options typically carry over when resuming computations. Two exceptions are the options Limit, which is always taken to be the specified or default value, and PrintLevel, which is described below and controls the verbosity of the computation. However, by using the option RenewOptions, the options may be modified. The option Recompute is used to completely restart a subalgebra basis computation. We catalogue several other options below, which may be useful in various different settings:
- (PrintLevel)
This option takes a non-negative integer and controls the verbosity of the function. For successively higher values, the function will print more data related to the computation. 2. (SubductionMethod)
This option controls whether subduction is performed by top-level code "Top" or by engine-level compiled code "Engine". The engine-level code can be faster for computations that require many subduction steps. One advantage of "Top" is that one can view intermediate results (e.g., from subduction) if a high enough PrintLevel is used. 3. (Strategy)
This option controls how the computation object is modified after new generators are added to the subalgebra basis. There are two primary strategies: "DegreeByDegree" and "Incremental". The strategy "DegreeByDegree" computes a partial Gröbner basis for the reduction ideal, whereas the strategy "Incremental" computes a full Gröbner basis. However, the strategy "DegreeByDegree" computes the partial Gröbner basis from scratch, whereas the strategy "Incremental" makes use of previously computed full Gröbner basis to speed up the computation of the next full Gröbner basis. Both strategies have strengths and weaknesses: "DegreeByDegree" is suited to computations where a large number of new generators are added at a particular degree, and "Incremental" is well suited to computations where very few generators are added at each degree. The default option is the strategy "Master" which heuristically blends between the "DegreeByDegree" and "Incremental" in order to gain performance benefits from each method. 4. (AutoSubduceOnPartialCompletion)
This option controls whether the subalgebra basis generators are subducted against each other. More precisely, if no new subalgebra basis generators are found at a particular degree, then the current subalgebra basis generators are subducted against each other. This produces a reduced set of generators. We intend for this option to be used when the supplied generators are suspected to be a subalgebra basis; reducing the generators speeds up the computation of the subsequent binomial syzygies.
3.3. Other functionality
The function subduction takes a collection of polynomials and subducts a given polynomial (or matrix of polynomials) against them. When are encoded using a subring A or computation object, then are taken to be the generators of S or (partial) subalgebra basis generators of A, respectively.
Example 3.3**.**
Fix the polynomial ring and let . We subduct the polynomial against with respect to GRevLex as follows:
i1 : R = QQ[x,y];
i2 : G = {x^2 + x, y^2 + 1};
i3 : subduction(G, x^2y^2 + x^3y)
3 2
o3 = x y - x*y
o3 : R
As in Example 2.2, we may compute normal forms using the operator %. Analogous to its use with ideals and Gröbner bases, the syntax f % S works for S of class either Subring or SAGBIBasis. If no complete subalgebra basis for S of class Subring is known, then f % S falls back on an extrinsic method using Gröbner bases to compute the normal form. On the other hand, if either a complete subalgebra basis has been computed for S or S is of class SAGBIBasis, then f % S subducts f against the (partial) subalgebra basis associated with S.
Example 3.4**.**
Consider the subalgebra in Example 2.3. Let be a polynomial. We illustrate the different behaviors of % in the code below.
i1 : R = QQ[x,y];
i2 : A = subring {x+y, xy, xy^2};
i3 : SB = sagbi(A, Limit => 5);
i4 : f = xy^3 + xy^4 + xy^5 + xy^6;
i5 : f % A
o5 = 0
o5 : R
i6 : f % SB
6 5
o6 = xy + xy
o6 : R
i7 : SB = sagbi(A, Limit => 7);
i8 : f % SB
o8 = 0
o9 : R
The generators associated with SB, namely , form a partial subalgebra basis for . To subduct against these generators, we may use f % SB. However, the generators of SB do not form a complete subalgebra basis for A, so in this case the operation f % A falls back on the extrinsic method.
The function groebnerMembershipTest is an extrinsic membership test for elements of a subring. It can potentially be used in cases where a subring has an intractable subalgebra basis. If a sufficiently large partial subalgebra basis has already been computed, then it is recommended to use the operator % or the function subduction.
Example 3.5**.**
Following from Example 3.4, we test the membership of in as follows:
i7 : groebnerMembershipTest(f, A)
o7 = true
The function subringIntersection computes the intersection of two subrings using an analogous method to that of intersecting ideals via Gröbner bases [6]. The output of the function is an instance of IntersectedSubring, which is a type that inherits from Subring. To check whether the output is guaranteed to be equal to the full intersection of the subrings, we use the function isFullIntersection. If the function isFullIntersection returns true then the generators of the intersected subring are a subalgebra basis for the intersection.
Example 3.6**.**
Consider the subrings and of the quotient ring . We compute the intersection as follows:
i1 : R = QQ[x,y];
i2 : I = ideal(x^3 + x*y^2 + y^3);
i3 : S = R/I;
i4 : A1 = subring {x^2, x*y};
i5 : A2 = subring {x, y^2};
i6 : A = subringIntersection(A1, A2)
o6 = QQ[p_0..p_5], subring of S
o6 : IntersectedSubring
i7 : gens A
o7 = | x2 x2y2+xy3 y4 xy3 y6 xy5 |
1 6
o7 : Matrix S <--- S
i8 : isFullIntersection A
o8 = true
Since isFullIntersection A returns true, the generators of the intersected subring A are in fact guaranteed to generate the entire ring Moreover the generators are a subalgebra basis for the intersection with respect to the default GRevLex.
If isFullIntersection A returns false for an intersected subring A, then the generators of A may or may not generate the entire intersection. If this happens, then the function subringIntersection may be used with the option Limit set to a value greater than its default of .
4. Examples
Subalgebra bases have a number of applications. A short sample of the literature, including several recent papers which use the SubalgebraBases package, follows: [21, 2, 7, 10, 23, 1, 12, 13, 8, 3, 17].
Example 4.1**.**
Following [7, Section 2], we describe the adjoint action of on its Lie algebra and its ring of invariants. We write for an element of the Special Euclidean group of rigid motions of . To describe the adjoint action of on its Lie algebra , it is convenient to define, for each , a skew-symmetric matrix
[TABLE]
We identify elements of with their Plücker coordinates . The adjoint action of on is given by
[TABLE]
Consider the polynomial algebra generated by the entries of the matrix in Equation (2) with the rotation set to be the identity matrix. Explicitly, the subring is given by
[TABLE]
The ring of invariants of under the action of the translational subgroup is given by the intersection . We compute this intersection using a monomial order that eliminates the variables :
i2 : R = QQ[t_1..t_3, w_1..w_3, v_1..v_3, MonomialOrder=>{Eliminate 3, Lex}];
i3 : SB = sagbi {w_1, w_2, w_3, -t_3w_2+t_2w_3+v_1, t_3w_1-t_1w_3+v_2, -t_2w_1+t_1w_2+v_3};
i4 : isSAGBI SB
o4 = true
i5 : SB' = selectInSubring(1, gens SB)
o5 = | w_3 w_2 w_1 w_1v_1+w_2v_2+w_3v_3 |
1 4
o5 : Matrix R <--- R
It follows from this computation that the algebra of translational invariants is simply , which confirms the computation in [7, Section 5.1]. The action above naturally extends to an action on , called a multi-screw. In accompanyingCode.m2, calling screwsExample n will attempt computing a subalgebra basis for the translational invariants for any number In particular, it is straightforward to verify the computation when , which is used in [7, Section 5.2] as a step in computing full invariant ring.
Besides invariant-theoretic applications such as Examples 2.2 and 4.1, computing subalgebra bases is also a key operation for constructing toric degenerations. A toric degeneration is a particular type of flat family whose generic fibers are some variety of interest and whose special fiber is a toric variety. Various properties of the variety of interest that are preserved under flat limits (e.g., dimension and degree) can then be studied via toric degenerations by passing to the toric fiber. Newton-Okounkov bodies are a closely-related construction, whose applications include counting the number of solutions to classes of polynomial systems (see e.g., [9, 4, 19, 3]). Using subalgebra bases, toric degenerations have been constructed for many families of varieties, including Grassmannians, Flag varieties, Cox-Nagata Rings [23, 2, 18, 5]. We conclude with two representative examples.
Example 4.2**.**
Consider the matrix
[TABLE]
and let . The columns of are six points in , which are the points of intersection of four generic lines. Following [23, Example 2.6], the Cox-Nagata ring is given by
[TABLE]
where the polynomials and are described below. We verify that the generators indeed form a subalgebra basis as follows:
i1 : R = QQ[x_1..x_6, y_1..y_6];
i2 : L124 = y_3x_5x_6 + x_3y_5x_6 - x_3x_5y_6;
i3 : L135 = y_2x_4x_6 - x_2y_4x_6 + x_2x_4y_6;
i4 : L236 = y_1x_4x_5 + x_1y_4x_5 - x_1x_4y_5;
i5 : L456 = y_1x_2x_3 + x_1y_2x_3 + x_1x_2y_3;
i6 : M16 = y_2x_3x_4x_5 + x_2y_3x_4x_5 - x_2x_3y_4x_5 + x_2x_3x_4y_5;
i7 : M25 = y_1x_3x_4x_6 + x_1y_3x_4x_6 + x_1x_3y_4x_6 - x_1x_3x_4y_6;
i8 : M34 = y_1x_2x_5x_6 + x_1y_2x_5x_6 - x_1x_2y_5x_6 + x_1x_2x_5y_6;
i9 : RG = subring {x_1 .. x_6, L124, L135, L236, L456, M16, M25, M34};
i10 : isSAGBI RG
o10 = true
Example 4.3**.**
Let be a matrix of variables and be a ring in those variables. Under the Plücker embedding, the coordinate ring of the Grassmannian Gr is generated by the maximal minors of . However, the maximal minors do not form a subalgebra basis with respect with respect to a weight vector associated to a hexagonal matching field [18, 5].
i1 : R = QQ[x_(1,1)..x_(3,6), MonomialOrder => {Weights => {0,0,0,0,0,0,
0,15,3,12,9,6,0,7,14,21,28,35}}];
i2 : X = transpose genericMatrix(R, 6, 3);
3 6
o2 : Matrix R <--- R
i3 : A = subring for s in subsets(6, 3) list det X_s;
i4 : SB = sagbi(A, Limit => 100, SubductionMethod => "Engine")
o4 = Partial SAGBIBasis Computation Object with 21 generators, Limit = 100.
o4 : SAGBIBasis
i5 : isSAGBI SB
o5 = true
Note that the first generators of SB are the maximal minors of , or, in other words, the original generators of A. However, a twenty-first generator is required for a complete subalgebra basis.
Acknowledgements
We wish to thank the organizers of two virtual Macaulay2 workshops held in 2020 virtually “at” Cleveland State University and the University of Warwick. These workshops provided first introductions for several of the authors. We also thank several working group participants who we also wish to thank for their help during early stages of re-developing this package.
This article has been co-authored by an employee of National Technology & Engineering Solutions of Sandia, LLC under Contract No. DE-NA0003525 with the U.S. Department of Energy (DOE). The employee co-owns right, title and interest in and to the article and is responsible for its contents. The United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this article or allow others to do so, for United States Government purposes. The DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan https://www.energy.gov/downloads/doe-public-access-plan.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Mara Belotti and Marta Panizzut. Discrete geometry of Cox rings of blow-ups of ℙ 3 superscript ℙ 3 \mathbb{P}^{3} . ar Xiv e-prints , 2022.
- 2[2] Lara Bossinger, Sara Lamboglia, Kalina Mincheva, and Fatemeh Mohammadi. Computing toric degenerations of flag varieties. In Gregory G. Smith and Bernd Sturmfels, editors, Combinatorial Algebraic Geometry: Selected Papers From the 2016 Apprenticeship Program , pages 247–281. Springer New York, New York, NY, 2017.
- 3[3] Paul Breiding, Mateusz Michałek, Leonid Monin, and Simon Telen. The algebraic degree of coupled oscillators. ar Xiv e-prints , 2022.
- 4[4] Michael Burr, Frank Sottile, and Elise Walker. Numerical homotopies from Khovanskii bases. Mathematics of Computation , 92:2333–2353, 2023.
- 5[5] Oliver Clarke, Fatemeh Mohammadi, and Francesca Zaffalon. Toric degenerations of partial flag varieties and combinatorial mutations of matching field polytopes. Journal of Algebra , 638:90–128, 2024.
- 6[6] David Cox, John Little, and Donal O’Shea. Ideals, varieties, and algorithms: an introduction to computational algebraic geometry and commutative algebra . Springer Science & Business Media, 2013.
- 7[7] Deborah Crook and Peter Donelan. Polynomial invariants and SAGBI bases for multi-screws. ar Xiv e-prints , 2020.
- 8[8] John Dalbec. Straightening Euclidean invariants. Annals of Mathematics and Artificial Intelligence , 13:97–108, 1995.
