Computing zero-dimensional tropical varieties via projections

We present an algorithm for computing zero-dimensional tropical varieties using projections. Our main tools are fast monomial transforms of triangular sets. Given a Gröbner basis, we prove that our algorithm requires only a polynomial number of arithmetic operations, and, for ideals in shape position, we show that its timings compare well against univariate factorization and backsubstitution. We conclude that the complexity of computing positive-dimensional tropical varieties via a traversal of the Gröbner complex is dominated by the complexity of the Gröbner walk.


Introduction
Tropical varieties are piecewise linear structures which arise from polynomial equations.They appear naturally in many areas of mathematics and beyond, such as geometry [Mik05], combinatorics [AK06; FS05], and optimisation [ABGJ18], as well as phylogenetics [SS04; LMY18], celestial mechanics [HM06;HJ11], and auction theory [BK19;TY15].Wherever they emerge, tropical varieties often provide a fresh insight into existing computational problems, which is why efficient algorithms and optimised implementations are of great importance.
Computing tropical varieties from polynomial ideals is a fundamentally important yet algorithmically challenging task, requiring sophisticated techniques from computational algebra and convex geometry.Currently, Gfan [Jen17] and Singular [DGPS19] are the only two programs capable of computing general tropical varieties.Both programs rely on a traversal of the Gröbner complex as initially suggested by Bogart, Jensen, Speyer, Sturmfels, and Thomas [BJSST07], and for both programs the initial bottleneck had been the computation of so-called tropical links.Experiments suggest that this bottleneck was resolved with the recent development of new algorithms [Cha13;HR18].However the new approaches still rely on computations that are known to be very hard, [Cha13] on elimination and [HR18] on root approximation to an unknown precision.
In this paper, we study the computation of zero-dimensional tropical varieties, which is the key computational ingredient in [HR18], but using projections, which is the key conceptual idea in [Cha13].We create a new algorithm for computing zero-dimensional tropical varieties that only requires a polynomial amount of field operations if we start with a Gröbner basis, and whose timings compare favourably with other implementations even if we do not.In particular, we argue that in the computation of general tropical varieties, the calculation of so-called tropical links becomes computationally insignificant compared to the Gröbner walk required to traverse the tropical variety.
Note that projections are a well-studied approach in polynomial systems solving, see [Stu02;DE05] for an overview on various techniques.Our approach can be regarded as a non-Archimedean analogue of that strategy, since tropical varieties can be regarded as zeroth-order approximation of the solutions in the topology induced by the valuation.
Our paper is organised as follows: In Section 3, we introduce a special class of unimodular transformations and study how they act on generic lexicographical Gröbner bases.In Section 4, we explain our main algorithm for reconstructing zerodimensional tropical varieties from their projections, while Section 5 touches upon some technical details of the implementation.In Section 6, we compare the performance of our algorithm against the root approximation approach, while Section 7 analyses the complexity of our algorithm.
Implementations of all our algorithms can be found in the Singular library tropicalProjection.lib.Together with the data for the timings, it is available at https://software.mis.mpg.de, and will also be made publicly available as part of the official Singular distribution.
Acknowledgment.The authors would like to thank Avi Kulkarni (MPI Leipzig) for his Magma script for solving polynomial equations over p-adic numbers, Marta Panizzut (TU Berlin) and Bernd Sturmfels (MPI Leipzig + UC Berkeley) for the examples of tropical cubic surfaces with 27 distinct lines, as well as Andreas Steenpaß (TU Kaiserslautern) for his work on the Singular library modular.lib[Ste19].

Background
For the sake of notation, we briefly recall some basic notions of tropical algebraic geometry and computational algebra that are of immediate relevance to us.In tropical geometry, our notation closely follows that of [MS15].
Convention 2.1 For the remainder of the article, let K be a field with non-trivial valuation ν : K * → R and fix a multivariate polynomial ring K[x] := K[x 1 , . . ., x n ] as well as a multivariate Laurent polynomial ring . Moreover, given a Laurent polynomial ideal I ⊆ K[x ± ], we call a finite subset G ⊆ I a Gröbner basis with respect to a monomial ordering ≺ on K[x] if G consists of polynomials and forms a Gröbner basis of the polynomial ideal I ∩ K[x] with respect to ≺ in the conventional sense, see for example [GP02,§1.6].All our Gröbner bases are reduced.
Finally, a lexicographical Gröbner basis will be a Gröbner basis with respect to the lexicographical ordering For the purposes of this article, the following definition of tropical varieties in terms of coordinate-wise valuations of points in solution sets suffices.
where K al denotes the algebraic closure of the completion of K, so that ν extends uniquely to a valuation ν al on K al , V K al (I) denotes the affine variety of I over K al , and cl(•) is the closure in the euclidean topology.
In this article, our focus lies on zero-dimensional ideals I ⊆ K[x ± ], in which case Trop(I) is a finite set of deg(I) points if each point w ∈ Trop(I) is counted with the multiplicity corresponding to the number of solutions p ∈ V K al (I) with ν al (p) = w.
In the univariate case, the tropical variety of an ideal I = (f ) ⊆ K[x ± 1 ] simply consists of the negated slopes in the Newton polygon of f [Neu99, Proposition II.6.3].Our approach for computing zero-dimensional tropical varieties of multivariate ideals is based on reducing computations to the univariate case.

Definition 2.3
We say that a zero-dimensional ideal I ⊆ K[x ± ] is in shape position if the projection onto the last coordinate p n : (K * ) n → K * , (a 1 , . . ., a n ) → a n defines a closed embedding p n | V (I) : V (I) ֒→ K * .
In this article, we will concentrate on ideals that are in shape position.Lemma 2.4 shows an easy criterion to decide whether a given ideal is in shape position, while Lemma 2.5 shows how to coax degenerate ideals into shape position.

and only if its (reduced) lexicographical Gröbner basis is of the form
for some univariate polynomials f 1 , . . ., The polynomials f i are unique.
Lemma 2.5 Let I ⊆ K[x ± ] be a zero-dimensional ideal.Then there exists a euclidean dense open subset V ⊆ R n−1 such that for any (u 1 , . . ., u n−1 ) ∈ V ∩ Z n−1 the unimodular transformation Proof.Without loss of generality, we may assume that the field K is algebraically closed.For any u = (u 1 , . . ., u n−1 ) ∈ Z n−1 , let f u : (K * ) n → (K * ) n be the torus automorphism induced by Φ u , so that V (Φ u (I)) = f −1 u (V (I)).Then the transformed ideal Φ u (I) is in shape position if and only if the map is a proper affine subspace of R n−1 .By definition, for any two elements b = c ∈ V (I), we have

Unimodular transformations on lexicographical Gröbner bases
In this section, we introduce a special class of unimodular transformations and describe how they operate on lexicographical Gröbner bases in shape position.Definition 3.1 We will consider unimodular transformations indexed by the set For any u ∈ U, we define a unimodular ring automorphism and a linear projection We call such a ϕ u a slim (unimodular) transformation concentrated at ℓ.
While our slim unimodular transformations might seem overly restrictive, the next lemma states that they are sufficient to compute arbitrary projections of tropical varieties, which is what we will need in Section 4. Lemma 3.2 Let ϕ u be a slim transformation concentrated at ℓ. Then Proof.We may assume that K is algebraically closed.The ring automorphism ϕ u induces a torus automorphism f u : (K * ) n → (K * ) n with f −1 u (V (I)) = V (ϕ u (I)), which in turn induces a linear transformation h u : R n ∼ = − → R n mapping Trop(ϕ u (I)) to Trop(I): Hence, with p ℓ : R n ։ R denoting the projection onto the ℓ-th coordinate: The following easy properties of slim unimodular transformations serve as a basic motivation for their inception.They map polynomials to polynomials, which is important when working with software which only supports polynomial data.Moreover, they preserve saturation and shape position for zero-dimensional ideals, which is valuable as saturating and restoring shape position as in Lemma 2.5 are two expensive operations.

Lemma 3.3 For any slim transformation ϕ u and any zero-dimensional ideal
Proof.From the definition, it is clear that polynomials get mapped to polynomials under ϕ u , showing (1).In particular, The next Algorithm 3.4 allows us to efficiently transform a lexicographical Gröbner basis of I into a lexicographical Gröbner basis of ϕ u (I).This is the main advantage of slim unimodular transformations, which we will leverage to compute π u (Trop(I)).
1: In the univariate polynomial ring and is by assumption generated by G.This implies that f n is relatively prime to each f i for i < n and to x n .In particular, the inverse in

Note that the expression (
and it is clear that G ′ is a lexicographical Gröbner basis.

Computing zero-dimensional tropical varieties via projections
In this section, we assemble our algorithm for computing Trop(I) from a zerodimensional ideal I ⊆ K[x ± ].This is done in two stages, see Figure 1: In the first stage, we project Trop(I) onto all coordinate axes of R n .In the second stage, we iteratively glue the coordinate projections together until Trop(I) is fully assembled.
For the sake of simplicity, all algorithms contain some elements of ambiguity to minimise the level of technical detail.To see how these ambiguities are resolved in the actual implementation, see Section 5.Moreover, we will only consider Trop(I) as points in R n without multiplicities.It is straightforward to generalise the algorithms to work with Trop(I) as points in R n with multiplicities, which is how they are implemented in Singular.
The following algorithm merges several small projections into a single large projection.For clarity, given a finite subset A ⊆ {1, . . ., n}, we use R A to denote the linear subspace of R n spanned by the unit vectors indexed by A and p A to denote the projection  • G is the lexicographical Gröbner basis of a zero-dimensional ideal I ⊆ K[x ± ] in shape position as in (SP), • A 1 , . . ., A k ⊆ {1, . . ., n} are non-empty sets.
1: Construct the candidate set 2: Pick a slim transformation ϕ u such that the following map is injective: 3: Using Algorithm 3.4, transform G into a Gröbner basis G ′ of ϕ u (I): Correctness of Algorithm 4.1.First, we argue that line 2 can be realised, i.e., we show the existence of a slim unimodular transformation ϕ u such that π u is injective on the candidate set T .Pick ℓ = n and denote B := {1, . . ., n} \ {ℓ}.It suffices to show that the set By the definition of π v−e ℓ , we see that This describes Z as the complement of an affine hyperplane arrangement in R B inside the positive orthant.Therefore, Z must contain an integer point.
Next, we note that the candidate set T contains p A (Trop(I)) by construction, so injectivity of Therefore, the correctness of the output will follow from showing π u (Trop(I)) = Trop(µ).By Lemma 3.2, it suffices to prove that µ(x ℓ ) ∈ K[x ℓ ] generates the elimination ideal ϕ u (I) ∩ K[x ± ℓ ].For this, we observe that reducing a univariate polynomial g ∈ K[x ℓ ] with respect to the lexicographical Gröbner basis G ′ substitutes x ℓ by f ′ ℓ to obtain a univariate polynomial in K[x n ] and then reduces the result modulo f n .In particular, this shows that such The next algorithm computes Trop(I) by projecting it onto all coordinate axes and gluing the projections together via Algorithm 4.1.In every iteration of the while loop, the set W grows in size.Since there are only finitely many coordinate sets A ⊆ {1, . . ., n}, we will after finitely many iterations compute Trop(I) = p {1,...,n} (Trop(I)), hence the while loop terminates.
Another resultant computation yields the minimal polynomial of f ′′ 1 ∈ K[x 3 ]/(f 3 ) over K: Figure 2 (right) shows the Newton polygon of the resultant, from which we see:
Figure 2. Newton polygons of f 3 and the two resultants in Example 4.3.Below each vertex is its height, above each edge is its slope.

Implementation
In this section, we reflect on some design decisions that were made in the implementation of the algorithms in the Singular library tropicalProjection.lib.While the reader who is only interested in the algorithms, their performance, and their complexity may skip this section without impeding their understanding, we thought it important to include this section for the reader who is interested in the actual implementation.5.1.Picking unimodular transformations in Algorithm 4.1 Line 2. As π u | T is injective for generic u ∈ U, it seems reasonable to sample random u ∈ U until the corresponding projection is injective on the candidate set.Our implementation however iterates over all u ∈ U in increasing ℓ 1 -norm until the smallest one with injective π u | T is found.This is made in an effort to keep the slim unimodular transformation ϕ u (I) as simple as possible, since Lines 3-4 are the main bottlenecks of our algorithm.5.2.Transforming Gröbner bases in Algorithm 4.1 Line 3. As mentioned before, Lines 3-4 are the main bottlenecks of our algorithm.Two common reasons why polynomial computations may scale badly are an explosion in degree or in coefficient size.The degree of the polynomials is not problematic in our algorithm, as using Algorithm 3.4 in Line 3 only incurs basic arithmetic operations in K[x n ]/(f n ) whose elements can be represented by polynomials of degree bounded by deg(f n ), while the degree of the minimal polynomial in Line 4 also is bounded by deg(f n ).Therefore, the only aspect that needs to be controlled in our computation is the size of the coefficients.

Coefficient explosion is a common problem for computing inverses in K[
x n ]/(f n ) via the Extended Euclidean Algorithm [GG13, §6.1].To make matters worse, the polynomial h := x n un • i =ℓ,n f i u i ∈ K[x n ]/(f n ) to be inverted in Algorithm 3.4 usually already has large coefficients.However, we can exploit the fact that the minimal polynomial of , which is easier as f ℓ has generally smaller coefficients than h and is independent of u, so its inversion modulo f n is much faster.5.3.Computing minimal polynomials in Algorithm 4.1 Line 4. The computation of minimal polynomials for elements in K[x n ]/(f n ) can be carried out in many different ways, for example using: Resultants: We can compute the resultant of the two polynomials f n and hx n − f ℓ ∈ K[x ℓ , x n ] with respect to the variable x n by standard resultant algorithms.The minimal polynomial µ(x ℓ ) ∈ K[x ℓ ] is the squarefree part of the resultant.Linear Algebra: Let k ∈ N be minimal such that in the finite-dimensional K-vector space x n ] forms a Gröbner basis with respect to the lexicographical ordering with x n ≺ x ℓ .We can transform this to a Gröbner basis with respect to the lexicographical ordering with x ℓ ≺ x n using FGLM [FGLM93] and read off the eliminant µ(x ℓ ) as the generator of the elimination ideal For polynomials with small coefficients, the implementation using Singular's resultants seemed the fastest, but Singular's FGLM seems to be best when dealing with very large coefficients.
For K = Q however, we can use a modular approach thanks to the Singular library modular.lib[Ste19]: It computes the minimal polynomial over F p for several primes p using any of the above methods, then lifts the results to Q.This modular approach avoids problems caused by very large coefficients and works particularly well using the method based on linear algebra from above.We can check if the lifted µ is correct by testing whether µ(f 5.4.Picking gluing strategies in Algorithm 4.2 Line 6. Algorithm 4.2 is formulated in a flexible way: Different strategies of realising the choice of coordinate sets A 1 , . . ., A k in line 6 can adapt to the needs of a specific tropicalization problem.The four gluing strategies that follow seem very natural and are implemented in our Singular library.See Figure 3 for an illustration in the case n = 5. oneProjection is the simplest strategy, requiring only one unimodular transformation.For examples of very low degree, it is the best strategy due to its minimal overhead.For examples of higher degree d, the candidate set T in Algorithm 4.1 can become quite large, at worst |T | = d n .This generally leads to larger u ∈ U in Line 2 and causes problems due to coefficient growth. sequential avoids the problem of a large candidate set T by only gluing two projections at a time, guaranteeing |T | ≤ d 2 .This comes at the expense of computing n − 1 unimodular transformations, but even for medium-sized instances we observe considerable improvements compared to oneProjection.In Section 7, we prove that sequential guarantees good complexity bounds on Algorithm 4.2.regularTree(k) can achieve considerable speed-up by parallelisation.Whereas every while-iteration in sequential depends on the output of the previous iteration, regularTree(k) allows us to compute all gluings in parallel in ⌈log k n⌉ batches.The total number of gluings remains the same.
overlap further reduces the size of the candidate set T compared to sequential, while exploiting parallel computation like regularTree(k).It glues projections two at a time, but only those A 1 and A 2 which overlap significantly.This can lead to much smaller candidate sets T , at best |T | = d which makes a unimodular transformation obsolete.The strategy overlap seems particularly successful in practice and is the one used for the timings in Section 6.
Our implementation in Singular also allows for custom gluing strategies by means of specifying a graph as in Figure 3.

Timings
In this section we present timings of our Singular implementation of Algorithm 4.2 for K = Q and the 2-adic valuation.We compare it to a Magma [BCP97] implementation which approximates the roots in the 2-adic norm.While Singular is also capable of the same task, we chose to compare to Magma instead as it is significantly faster due to its finite precision arithmetic over p-adic numbers.Our Singular timings use the overlap strategy, a modular approach and parallelisation with up to four threads.The Singular times we report on are total CPU times across all threads (for reference, the longest example in Singular required 118 seconds total CPU time, but only 32 seconds real time).All computations were run on a server with 2 Intel Xeon Gold 6144 CPUs, 384GB RAM and Debian GNU/Linux 9.9 OS.All examples and scripts are available at https://software.mis.mpg.de.
Figure 4 shows timings for n = 5 and varying d.Each computation was aborted if it failed to terminate within one hour.We see that Magma is significantly faster for small examples, while Singular scales better with increasing degree.
For many of the ideals I however, Trop(I) has fewer than d distinct points.This puts our algorithm at an advantage, as it allows for easier projections in Algorithm 4.2 Line 2. Mathematically, it is not an easy task to generate non-trivial examples with distinct tropical points.Picking f n to have d roots with distinct valuation for example would make all roots live in Q 2 , in which case Magma terminates instantly.Our next special family of examples has criteria which guarantee distinct points.6.2.Tropical lines on a random honeycomb cubic.Let V (f ) ⊆ P 3 be a smooth cubic surface.In [PV19], it is shown that Trop(f ) ⊆ R 3 may contain infinitely many tropical lines.However, for general f whose coefficient valuations induce a honeycomb subdivision of its Newton polytope, Trop(f ) will always contain exactly 27 distinct tropical lines [PV19, Theorem 27], which must therefore be the tropicalizations of the 27 lines on V (f ).We used Polymake [GJ00] to randomly generate 1000 cubic polynomials with honeycomb subdivisions whose coefficients are pure powers of 2. For each cubic polynomial f , we constructed the one-dimensional homogeneous ideal L f ⊆ Q[p 12 , p 13 , p 14 , p 23 , p 24 , p 34 ] of degree 27 whose solutions are the lines on V (f ) in Plücker coordinates.Figure 5 shows the timings for computing Trop(L f ), where L f := L f + (p 34 − 1) is a zero-dimensional ideal of degree 27.Out of our 1000 random cubics, 8 had to be discarded because L f was of lower degree, i.e., V (f ) contained lines with p 34 = 0.
Unsurprisingly, the Singular timings are relatively stable, while the Magma timings heavily depend on the degree of the splitting field of L f over Q 2 .Over Q, the generic splitting field degree would be 51840 [EJ12].Over Q 2 , the distinct tropical points of Trop(L f ) severely restrict the Galois group of the splitting field.

Complexity
In this section, we bound the complexity for computing a zero-dimensional tropical variety from a given Gröbner basis using Algorithm 4.2 with the sequential strategy.We show that the number of required arithmetic operations is polynomial in the degree of the ideal and the ambient dimension.Based on this, we argue that the complexity of computing a higher-dimensional tropical variety is dominated by the Gröbner walk required to traverse the Gröbner complex, as the computation of a tropical link is essentially polynomial time in the aforementioned sense.
Convention 7.1 For the remainder of the section, consider a zero-dimensional ideal I ⊆ K[x ± 1 , . . ., x ± n ] of degree d and assume ν(K * ) ⊆ Q, so that Trop(I) ⊆ Q n .For the sake of convenience, we recall some results on the complexity of arithmetic operations over algebraic extensions, a well-studied topic in the area of computational algebra.Proof.We need to count the number of field operations in which the following polynomial f ′ ℓ ∈ K[x n ] can be computed: Denoting k := |{i ∈ {1, . . ., n} | u i = 0}|, this entails the following in the ring An exponentiation to the power u i requires O(d 2 log u i ) arithmetic operations in K, while every other operation requires O(d 2 ) arithmetic operations in K by Proposition 7.2.In total, the number of required field operations in K is We may store the information on the unimodular transformation computed in iteration k − 1 during the computation of p {1,...,k−1} (Trop(I)) and this information may be used in the next iteration.Then Propositions 7.2 and 7.5 allow us to deduce the claimed bounds on arithmetic operations in Algorithm 4.2.
Remark 7.7 (Computing positive-dimensional tropical varieties) Currently, gfan and Singular are the only software systems capable of computing general tropical varieties, and both rely on a guided traversal of the Gröbner complex as introduced in [BJSST07].Their frameworks roughly consist of two parts: (1) the Gröbner walk to traverse the tropical variety, (2) the computation of tropical links to guide the Gröbner walk.
While the computation of tropical links had been a major bottleneck of the original algorithm and in early implementations, experiments suggest that it has since been resolved by new approaches [Cha13;HR18].However, the algorithm in [Cha13, §4.2] relies heavily on projections, while [HR18, Algorithm 2.10] relies on root approximations to an unknown precision, so neither approach has good complexity bounds.In fact, [HR18, Timing 3.9] shows that the necessary precision can be exponential in the number of variables.Algorithm 4.2 was designed with [HR18, Algorithm 2.10] in mind, and with Theorem 7.6 we argue that the complexity of calculating tropical links as in [HR18, Algorithm 4.6] is dominated by the complexity of the Gröbner basis computations required for the Gröbner walk.In the following, let J K[x ± 1 , . . ., x ± n ] be a homogeneous ideal of codimension c and degree d.
(1) The Gröbner walk requires Gröbner bases of initial ideals in w (J) with respect to weight vectors w ∈ Trop(J) with dim C w (J) = dim Trop(J) − 1, where C w (J) denotes the Gröbner polyhedron of J around w.Note that in w (J) is neither monomial since w ∈ Trop(J) nor binomial as dim C w (J) < dim Trop(J).Therefore, this is a general Gröbner basis computation which is commonly regarded as double exponential time.where w is chosen as before and λ ∈ K is chosen to satisfy ν(λ) = ±1.These ideals are zero-dimensional of degree at most d, and it is known that Gröbner bases of zero-dimensional ideals can be on average computed in polynomial time in the number of solutions [Lak91; LL91].Thus the entire computation of tropical links can on average be done in polynomial time.

Figure 4 .
Figure 4. Timings for the randomly generated ideals in shape position.

Figure 5 .
Figure 5. Timings for the 27 tropical lines on a tropical honeycomb cubic.

( 3 )
Computing the minimal polynomial of ḡ ∈ K[z]/(f ) requires O(d 2 log d log log d) arithmetic operations in K. Proposition 7.3 Algorithm 3.4, which computes the lexicographical Gröbner basis of ϕ u (I) for some slim transformation ϕ u , requires O d 2 u i >0 (1 + log u i ) arithmetic operations in K.

Lemma 7. 4
Let X, Y ⊆ Q be finite sets of cardinality ≤ d.Then there exists a non-negative integer m ≤ d 2 2 such that X × Y → Q, (a, b) → a − mb is injective.The smallest such m can be found in O(d 4 ) arithmetic operations in Q. Proof.The map (a, b) → a − mb will fail to be injective if and only if there exists a pair of points in X × Y lying on an affine line with slope m.Since there are at most d 2 2 pairs of points, the statement follows by the pigeonhole principle.We can determine all integral slopes attained by a line between any two points of X × Y with O( d 2 2 ) = O(d 4 ) arithmetic operations in Q. Picking the smallest natural number not occurring among these slopes gives the desired m.Proposition 7.5 Let k ∈ {2, . . ., n} and assume that the following is known from a previous call of Algorithm 4.1 within Algorithm 4.2 running the sequential strategy: • p {1,...,k−1} (Trop(I)) and p {k} (Trop(I)), • a slim transformation ϕ v concentrated at ℓ with v i = 0 for i ≥ k such that π v is injective on p {1,...,k−1} (Trop(I)), • the lexicographical Gröbner basis of ϕ v (I).Then Algorithm 4.1 for gluing the two projections into p {1,...,k} (Trop(I)) requires O(d 2 log d log log d) and O(d 4 ) arithmetic operations in K and Q respectively.Proof.Applying Lemma 7.4 to X := π v (p {1,...,k−1} (Trop(I))) and Y := p {k} (Trop(I)), we can compute a minimal m ≤ d 2 2 such that (a, b) → a − mb is injective on X × Y in O(d 4 ) arithmetic Q-operations.Setting w := v + me k , this means that π w is injective on p {1,...,k−1} (Trop(I)) × p {k} (Trop(I)).Since ϕ w (I) = ϕ u (ϕ v (I)) for u := me k − e ℓ and a lexicographical Gröbner basis of ϕ v (I) is already known, we may compute the lexicographical Gröbner basis of ϕ w (I) by applying Algorithm 3.4 to u and ϕ v (I).By Proposition 7.3, this requires O(d 2 log m) = O(d 2 log d) arithmetic operations in K.By Proposition 7.2, computing the minimal polynomial of f ′ ℓ ∈ K[x n ]/(f n ) requires O(d 2 log d log log d) arithmetic operations in K, so the overall number of arithmetic K-operations in Algorithm 4.1 is also O(d 2 log d log log d).Theorem 7.6 Algorithm 4.2, which computes the zero-dimensional tropical variety Trop(I), with the sequential strategy requires O(n d 2 log d log log d) and O(nd 4 ) arithmetic operations in K and Q respectively.Proof.Algorithm 4.2 using the sequential strategy consists of • Computing minimal polynomials of f k ∈ K[x n ]/(f n ) for k = 1, . . ., n − 1 • Applying Algorithm 4.1 to p {1,...,k−1} (Trop(I)) and p {k} (Trop(I)) for k = 2, . . ., n.