    # Lopsided Approximation of Amoebas

The amoeba of a Laurent polynomial is the image of the corresponding hypersurface under the coordinatewise log absolute value map. In this article, we demonstrate that a theoretical amoeba approximation method due to Purbhoo can be used efficiently in practice. To do this, we resolve the main bottleneck in Purbhoo's method by exploiting relations between cyclic resultants. We use the same approach to give an approximation of the Log preimage of the amoeba of a Laurent polynomial using semi-algebraic sets. We also provide a SINGULAR/SAGE implementation of these algorithms, which shows a significant speedup when our specialized cyclic resultant computation is used, versus a general purpose resultant algorithm.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1. Introduction

Consider a Laurent polynomial

 f(z)=d∑j=1bjzα(j), (1.1)

where . We denote by the hypersurface defined by in the maximal open torus of .

###### Definition 1.1.

The log absolute value map is given by

 (1.2)

The amoeba of is defined as . The unlog amoeba of is defined as , where

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001|⋅|: (C∗)n→Rn,(z1,…,zn)↦(|z1|,…,|zn|).

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 [IdW16]. 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].

###### Definition 1.3 ([Rul03, Page 24] and [Pur08, Definition 1.2]).

Let be as in (1.1). We say that is lopsided at a point if there exists an index such that

 ∣∣bkvα(k)∣∣ > ∑j∈{1,…,d}∖{k}∣∣bjzα(j)∣∣. (1.3)

The lopsided amoeba of is defined by

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001L(f) :=

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

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001CycRes(f;r):= r−1∏k1=0⋯r−1∏kn=0f(e2πik1/rz1,…,e2πikn/rzn) (1.4) =Resun(Resun−1(…Resu1(f(u1z1,…,unzn),ur1−1),…,urn−1−1),urn−1),

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 .

Note that is a Laurent polynomial in . The informal version of [Pur08, Theorem 1] states that the limit as of is ; see Section 2.2 for more information.

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.

1. 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).

2. We provide an algorithm to approximate the unlog amoeba by semialgebraic sets, see Theorem 6.1 and Algorithm 6.2.

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].

### Outline

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 Section

6 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.

### Acknowledgements

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.

## 2. Preliminaries

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 .

### 2.1. Amoebas

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:

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001ord:Rn∖A(f) → Rn,w↦(u1,…,un),  where (2.1) uj := 1(2π√−1)n∫Log|z|=wzj∂jf(z)f(z)dz1⋯dznz1⋯zn  for all  1≤j≤n.
###### 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:

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001Eα(f) := {w∈Rn∖A(f) ∣ ord(w)=α}. (2.2)

### 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 .

###### Remark 2.4.

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

 rε ≥ (n−1)logr+log((n+3)2n+1d),

then it holds that is lopsided at the point . We will typically be interested in the case . Then, it suffices that

 2kk ≥ C(n,d)ε,

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 .

###### Theorem 2.5 ([Fpt00, Proposition 2.7] and [Pur08, Proposition 4.1]).

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.

###### Lemma 2.6.

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

 Resz(f,g) = bdeg(f)∏{ξ∣g(ξ)=0}f(ξ). (3.1)
###### Lemma 3.1.

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

 Resu(g(zu),ur−1) = h(zr).
###### Proof.

By (3.1),

 Resu(g(zu),ur−1) = r−1∏j=0g(e2π√−1j/rz).

Writing , we have

 Resu(g(zu),ur−1) = r−1∏j=0bδ∏ℓ=1(e2π√−1j/rz−ξℓ) = brδ∏ℓ=1r−1∏j=0(e2π√−1j/rz−ξℓ) = brδ∏ℓ=1(zr−ξrℓ).

Now use . ∎

###### Lemma 3.2.

Let be as in Lemma 3.1. Then

 Resu(g(zu),u2k+1) = h(−z2k).
###### Proof.

Note that the roots of are exactly the roots of multiplied by . Therefore, by (3.1),

 Resu(g(zu),u2k+1) =2k−1∏j=0g(e2π√−1j/2ke2π√−1/2k+1z) =h((e2π√−1/2k+1z)2k) =h(−z2k).\qed
###### Lemma 3.3.

The following identity holds.

 Resu(g(zu),u2k+1−1) = Resu(g(zu),u2k−1)⋅Res(g(zu),u2k+1).
###### Proof.

The equality follows from the Poisson formula, since , and these factors have disjoint sets of roots. ∎

###### Algorithm 3.4.
1:Input: a polynomial in variables of degree and
2:Output:
3: /* Initialize a polynomial */
4:
5: /* Different variables are handled subsequently */
6:for  to  do
7:     for  to  do
8:          /* Initialize multiplier polynomial */
9:
10:         Change all signs of terms in multiplier, which have an exponent whose -th entry is not divisible by .
11:
12:     end for
13:end for
14:return
###### Proof of correctness of Algorithm 3.4.

This follows from the definition of cyclic resultants (1.4), Lemma 3.2, and Lemma 3.3. ∎

###### 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

 k(d2+2d2+2d+1)=k(2d2+5d2+1).

Thus, the complexity is . ∎

###### Remark 3.5.

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.

###### Algorithm 4.1.
1:Input: a polynomial , start-/endpoints of grid , steplength for grid,
2:Output: List of gridpoints together with a bit indicating membership in neighborhood of and the order of the component of the complement if applicable
3: /* Create grid */
4:Create grid .
5: /* Compute -th cyclic resultants for via Algorithm 3.4 */
6:for  to  do
7:
8:
9:end for
10: /* Create empty list */
11:
12: /* Test gridpoints for lopsidedness */
13:for every in  do
14:     IsLopsided false
15:
16:     while IsLopsided false and  do
17:         if  is lopsided at  then
18:              IsLopsided true
19:         else
20:
21:         end if
22:     end while
23:     if IsLopsided true then
24:          /* Compute the order of at via Theorem 2.5 */
25:          divided by
27:     else
29:     end if
30:end for
31:return
###### Proof of Algorithm 4.1.

Follows from Algorithm 3.4 and Theorem 2.5. ∎

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

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001F(w,x) := d∑j=1wjxj,

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 .

###### Lemma 5.1.

Let be the -dimensional affine space defined by . Then .

###### Proof.

By Lemma 2.6, if and only if there exist arguments such that . We have

 F(be√−1θb,xe√−1θx) = F(b,xe√−1(θx+θb)) = Fb(xe√−1(θx+θb)),

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

 \definecolor[named]pgfstrokecolorrgb0,0,1\pgfsys@color@rgb@stroke001\pgfsys@color@rgb@fill001¯¯¯¯¯prA:Hb∩(Rd×A(XA))→Rn

is an affine isomorphism.

###### Theorem 5.2.

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 ).

###### Proof.

Let be fixed. Since is an affine isomorphism, it has an inverse given by

 ¯¯¯¯¯pr−1A:Rn→Hb∩(Rd×A(XA)),Log|z|↦(Log|b|,α(1)⋅Log|z|,…,α(d)⋅Log|z|).

By Lemma 2.6, is not lopsided at if and only if there exist angles such that

 d∑j=1bjeθbj√−1zα(j) = 0,

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).

###### Theorem 6.1.

Let be as in (1.1) and let . Then, the boundary converges to the boundary as , in the same sense as in Theorem 2.3. In particular, if and if is sufficiently large, then the semi-algebraic set belongs to an -neighborhood of the semi-algebraic set

 ∑β∈A(r)∖{rn⋅α(1)}|br,β|xβ≥|br,rn⋅α(1)|⋅xrn⋅α(1),⋮⋮⋮∑β∈A(r)∖{rn⋅α(k)}|br,β|xβ≥|br,rn⋅α(k)|⋅xrn⋅α(k),x1,…,xn≥0. (6.1)
###### Proof.

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