Consider a Laurent polynomial
where . We denote by the hypersurface defined by in the maximal open torus of .
The log absolute value map is given by
The amoeba of is defined as . The unlog amoeba of is defined as , where
Gelfand, Kapranov and Zelevinsky introduced amoebas in [GKZ94, Definition 6.1.4]
in the context of toric geometry. Since then, amoebas have been used
in different areas such as
complex analysis [FPT00, PR04], real algebraic
curves [Mik00], statistical thermodynamics [PPT13],
and nonnegativity of real polynomials
Overviews on amoeba theory include [dW17, Mik04, PT05].
The usefulness of amoebas motivates the problem of finding an efficient algorithm for computing them. Since is a non-algebraic map, is not a semi-algebraic set in general. The amoeba is, however, a semi-analytic set. The absolute value map, on the other hand, is a real algebraic map. Therefore, the unlog amoeba is a real semi-algebraic set. Hence, the ideal solution to the problem of amoeba computation can be described as follows.
Given a Laurent polynomial , efficiently compute a real semi-algebraic description of the unlog amoeba .
Theobald was the first to tackle computational aspects of amoebas in [The02]. He described, in the case , methods to compute a superset of the boundary of called the contour of . Later, his method was extended by Schroeter and the fourth author in [SdW13], who provide a method to test whether a contour point of belongs to the boundary of in the case when the hypersurface defined by is smooth.
An approach, different than Theobald’s, for computing amoebas arises from following problem.
Problem 1.2 (The Membership Problem).
Let and . Provide a certificate such that if is true, then .
The membership problem was addressed by Purbhoo in [Pur08], using the notion of lopsidedness; see Definition 1.3. A second approach for certifying non-membership of a point in was provided by Theobald and the fourth author in [TdW15] using semidefinite programming and sums of squares. A rough but quick method to approximate amoebas was given by Avendaño, Kogan, Nisse and Rojas [AKNR13] via tropical geometry. In [BKS16], Bogdanov, Kytmanov and Sadykov computed amoebas in dimensions two and three, with focus on amoebas with the most complicated topology possible. We remark that even for univariate polynomials deciding the membership problem is NP-hard [AKNR13, Section 1.2].
The main aim of this article is to make the results in [Pur08] effective and efficient in practice.
Let be as in (1.1). We say that is lopsided at a point if there exists an index such that
The lopsided amoeba of is defined by
It is not hard to see that ; the special case of this result was proven in the nineteenth century, in an equivalent formulation, by Pellet [Pel81]. We remark that, in general, .
Following Purbhoo, we introduce
where denotes the resultant of the polynomials and with respect to the variable . If is a univariate polynomial, then is called a cyclic resultant of .
The main obstacle in turning Purbhoo’s result into an efficient approximation method for amoebas is the difficulty in computing the polynomials . The degree and the number of terms of grow exponentially with , but more importantly, the methods used by computer algebra systems to find resultants fail to take advantage of the sparseness of the polynomials , and are therefore manifestly inefficient when applied to .
Our main results are as follows.
We give a fast method to compute the cyclic resultant from omitting all intermediate steps ; see Section 3 for details. We provide an experimental comparison of the runtimes using these quick resultants versus a general purpose resultant algorithm in Table 2. We also give the complexity of our specialized algorithm for computing (certain) cyclic resultants, verifying our experimental conclusion that this method is significantly faster than the best resultant algorithm for real polynomials (Remark 3.5).
Purbhoo’s Amoeba Approximation Theorem is the main ingredient in the proof of Theorem 6.1 and in Algorithm 6.2. Using toric geometry, we also show that there exists a natural correspondence between the boundary components of lopsided amoebas and the boundary components of linear amoebas, where the latter are well understood due to Forsberg, Passare, and Tsikh [FPT00]; see Section 5 for further details.
Lemma 3.3 allows us to compute cyclic resultants for powers
using a divide and conquer algorithm. Note that several prominent algorithms are built on a similar approach, for example the Cooley–Tukey algorithm for the Fast Fourier Transformation[CT65].
As a companion to this work we provide the first implementation of lopsided approximation of amoebas, available here:
We also provide the data presented in this article on this website. The algorithms in this article are implemented in the computer algebra system Singular [DGPS15] and scripts to provide graphical outputs use the computer algebra system Sage [Dev16].
This paper is organized as follows. Section 2 contains background on amoebas and lopsided amoebas. Section 3 outlines a fast way of computing certain cyclic resultants. In Section 4 we describe how the algorithm from Section 3 can be used to approximate amoebas. Section 5
provides a geometric interpretation of the lopsided amoeba as the intersection of the amoeba of a toric variety and the amoeba of a hyperplane. In Section6 we describe how to use results from Sections 3 and 5 to compute semialgebraic sets approximating the amoeba. Finally, Section 7 is devoted to examples.
We are very grateful to Alicia Dickenstein for her helpful suggestions, especially on resultants. We also thank Luis Felipe Tabera for his helpful comments. We are grateful to the anonymous referee for their helpful suggestions.
In this section, we review the theory of amoebas and lopsided amoebas which is used in this work.
Recall that throughout this article, denotes the Laurent polynomial (1.1). We denote by the support of , namely,
The Newton polytope of , denoted , is the convex hull in of the support set of .
The complement of the amoeba is the set . The connected components of are referred to as the components of the complement of .
Theorem 2.1 ([Gkz94, Chapter 6.1.A, Proposition 1.5, Corollary 1.8]).
For a nonzero Laurent polynomial , the complement is non-empty. Every component of is convex and open (with respect to the standard topology).
Forsberg, Passare and Tsikh [FPT00] showed that every component of the complement of an amoeba can be associated with a specific lattice point in the Newton polytope via the order map:
Theorem 2.2 ([Fpt00, Propositions 2.4 and 2.5]).
The image of the order map is contained in . Let . Then and belong to the same component of the complement of if and only if .
As a consequence of Theorem 2.2, it is possible to define the component of order of the complement of . We use the following notation:
2.2. Lopsided Amoebas
We now give a more precise statement of the main result in [Pur08], which was alluded to in the introduction.
Theorem 2.3 ([Pur08, Theorem 1 “rough version”]).
For the family converges uniformly to . More precisely, for every there exists an integer such that for all the lopsided amoeba is contained in an -neighborhood of .
The integer in Theorem 2.3 depends only on and the Newton polytope (or degree) of , and can be computed explicitly from this data. For simplicity, assume that is a polynomial of degree . Let be of distance at least from the amoeba . Then, by [Pur08, Theorem 1], if is chosen such that
then it holds that is lopsided at the point . We will typically be interested in the case . Then, it suffices that
where is constant.
If is lopsided at a point , then it is straightforward to determine the order of the component of the complement of which contains .
Let and let be as in (1.1). Assume that is lopsided at with dominating term . Then . In particular, if is lopsided at with dominating term , then .
The following useful criterion for lopsidedness is a consequence of the triangle inequality.
The Laurent polynomial is not lopsided at if and only if there exist arguments such that
3. A Fast Algorithm to Compute Cyclic Resultants
In this section, we provide a fast way of computing certain cyclic resultants.
We recall the Poisson formula for the resultant. If and are univariate polynomials, and has leading coefficient , then
Let be a univariate polynomial of degree with leading coefficient , and let be a positive integer. Then there exists a univariate polynomial of degree such that
Writing , we have
Now use . ∎
Let be as in Lemma 3.1. Then
Note that the roots of are exactly the roots of multiplied by . Therefore, by (3.1),
The following identity holds.
The equality follows from the Poisson formula, since , and these factors have disjoint sets of roots. ∎
Proof of correctness of Algorithm 3.4.
Complexity analysis of Algorithm 3.4.
In order to perform the complexity analysis we will impose the assumption that . This is not a severe restriction, as for a multivariate polynomial our algorithm iterates the univariate case, however it greatly simplifies the computations.
We count complexity as the number of arithmetic operations performed in a field containing the coefficients of . Here, we consider addition and multiplication to have the same cost. In the comparison with the signed resultant algorithm we need to assume that the coefficients are real; however, this does not affect our complexity analysis.
By Lemma 3.1 we have that, for each , the polynomial CycResult has at most terms. Multiplying the coefficient of every second term (i.e., the terms whose exponents are not divisible by ) by requires arithmetic operations.
Multiplying two univariate (real) polynomials of degree has complexity , see [BPR03, Algorithm 8.3].
Since we perform this task times, the total complexity is less than
Thus, the complexity is . ∎
Let be a real, univariate polynomial. The fastest general resultant algorithm which the authors are aware of is the signed subresultant algorithm, see, e.g., [BPR03, Algorithm 8.73]). It computes the resultant of two univariate polynomials of degrees and with arithmetic complexity . In our situation and ; hence the signed subresultant algorithm computes the cyclic resultant of order with arithmetic complexity .
The algorithm we propose is, hence, a vast improvement. In particular since, in the typical situation, the degree is fixed while one varies the parameter in order to obtain an improved approximation. Overall, it reduces the runtime from exponential to polynomial in one variable and from double to single exponential in arbitrary many variables.
We point out that Hillar and Levine [Hil05, HL07] have shown that the sequence of cyclic resultants satisfies a linear recurrence of order . While this recurrence can be used to compute all cyclic resultants, it is in general slower than our method for computing , and the latter is sufficient for our purposes.
4. Approximating an Amoeba Using Cyclic Resultants
In this section, we describe how Algorithm 3.4 can be applied to approximate an amoeba of a given polynomial. There are two obstacles in obtaining an algorithm to approximate amoebas from the results of Section 3. First, we can only compute cyclic resultants of finite level . That is, according to Theorem 2.3 and Remark 2.4, we can only test for membership in some neighborhood of the amoeba, where determines . Second, it is not effective to test all points of for membership.
Neither of these obstacles are insurmountable. Our approach will be as follows. Let us fix some , which determines the integer in accordance with Remark 2.4. Also, we will construct a grid for some . Here, should be chosen small enough so that any ball of radius inside contains at least one point of . Then, testing the finitely many points of on the level , we are assured to find points in every component of the complement of the amoeba whose intersection with contains a ball of radius . Since the complement of the amoeba consists of a finite number of open sets, this ensures that we will find all components of the complement if is chosen sufficiently small. Though, we remark that there is currently no explicit expression describing how small should be chosen. In practice we will chose the grid rather than ; the latter can then be determined from the former.
We remark that computing the orders allows to determine from the finite list a set of polyhedra contained in the complement of the amoeba. By Theorem 2.1, the components of the complement of an amoeba are convex. Similarly, the recession cone of a component of the complement with order is equal to the normal cone of in the Newton polytope of ; see [PT05].
5. Geometry of the Lopsided Amoeba
The main result of this section, Theorem 5.2, gives a geometric interpretation of the lopsided amoeba of a Laurent polynomial.
Let be as in (1.1), and denote by
the coefficient vector. We introduce the auxiliary -variate polynomial
which coincides with the polynomial when evaluated at and . The polynomial has amoeba . We denote by the projection of onto the second factor, and set .
For convenience, we denote the coordinates of by .
Let be the -dimensional affine space defined by . Then .
By Lemma 2.6, if and only if there exist arguments such that . We have
and the result follows. ∎
Recall that the affine toric variety associated to , is the Zariski closure in of the image of the monomial map given by .
The amoeba of the toric variety is a linear subvariety of , parameterized by . We denote by the inverse of this mapping.
We embed in the second factor , in order to be able to compare this set to the amoeba . Let . Note that, given , the induced map
is an affine isomorphism.
We have that .
More precisely, if we identify with by the map , then is identified with (or rather, is identified with the part of which is contained in ).
Let be fixed. Since is an affine isomorphism, it has an inverse given by
By Lemma 2.6, is not lopsided at if and only if there exist angles such that
which is equivalent to . But, the latter is equivalent to and the proof is complete. ∎
6. Approximating Unlog Amoebas by Semi-algebraic Sets
Recall that the unlog amoeba is a semi-algebraic set. In this section we give an algorithm which provides an approximation of the unlog amoeba as a sequence of semi-algebraic sets.
The boundary of the amoeba is denoted by ; similarly, the boundary of a lopsided amoeba by is denoted by . Our computation is based on the following statement, which uses the notation introduced in (2.2).
Since each connected component of the complement of the set defined by (6.1) is contained in the complement of , we have that the Hausdorff distance of and is dominated by the Hausdorff distance of and . In particular, the statement regarding convergence of the boundaries follows immediately from Theorem 2.3. Using Theorem 5.2, we see that a component of the complement of of order is given by image of the semi-algebraic set