LOPSIDED APPROXIMATION OF AMOEBAS

arXiv:1608.08663v3 [cs.SC] 9 Sep 2017

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF
A BSTRACT. 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/S AGE implementation of these algorithms, which shows a significant speedup when our specialized cyclic resultant
computation is used, versus a general purpose resultant algorithm.

1. I NTRODUCTION
Consider a Laurent polynomial
f (z) =

d
X

bj zα(j) ,

(1.1)

j=1

where z := (z1 , . . . , zn ). We denote by Var(f ) the hypersurface defined by f in the maximal open
torus (C∗ )n := (C \ {0})n of Cn .
Definition 1.1. The log absolute value map is given by
Log | · | : (C∗ )n → Rn ,

(z1 , . . . , zn ) 7→ (log |z1 |, . . . , log |zn |) .

(1.2)

The amoeba A (f ) of f is defined as Log |Var(f )|. The unlog amoeba U (f ) of f is defined as
|Var(f )|, where
| · | : (C∗ )n → Rn ,

(z1 , . . . , zn ) 7→ (|z1 |, . . . , |zn |) .
7

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 Log| · | is a non-algebraic map, A (f ) is not a semi-algebraic set in general. The
amoeba A (f ) is, however, a semi-analytic set. The absolute value map, on the other hand, is a real
algebraic map. Therefore, the unlog amoeba U (f ) is a real semi-algebraic set. Hence, the ideal
solution to the problem of amoeba computation can be described as follows.
2010 Mathematics Subject Classification. Primary: 13P15, 14Q20, 14T05; Secondary: 90C59, 90C90.
Key words and phrases. Amoeba, Amoeba Computation, Cyclic Resultant, Lopsided Amoeba, Resultant, Sage,
Singular.
LFM was partially supported by NSF Grant DMS 1500832.
1

2

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

Given a Laurent polynomial f ∈ C[z±1 ], efficiently compute a real semi-algebraic
description of the unlog amoeba U (f ).
Theobald was the first to tackle computational aspects of amoebas in [The02]. He described, in the
case n = 2, methods to compute a superset of the boundary of A (f ) called the contour of A (f ).
Later, his method was extended by Schroeter and the fourth author in [SdW13], who provide a
method to test whether a contour point of A (f ) belongs to the boundary of A (f ) in the case when
the hypersurface defined by f is smooth.
An approach, different than Theobald’s, for computing amoebas arises from following problem.
Problem 1.2 (The Membership Problem). Let f ∈ C[z±1 ] and |v| ∈ Rn . Provide a certificate C
such that if C(|v|) is true, then Log|v| ∈
/ A (f ).
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 A (f ) 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 Avendañ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.
Definition 1.3 ([Rul03, Page 24] and [Pur08, Definition 1.2]). Let f be as in (1.1). We say that f
is lopsided at a point Log|v| ∈ Rn if there exists an index k ∈ {1, . . . , d} such that
X
bk vα(k) >
bj zα(j) .
(1.3)
j∈{1,...,d}\{k}

The lopsided amoeba of f is defined by

L (f ) := Log|v| ∈ Rn f is not lopsided at Log|v| .

7

It is not hard to see that A (f ) ⊆ L (f ); the special case n = 1 of this result was proven in the
nineteenth century, in an equivalent formulation, by Pellet [Pel81]. We remark that, in general,
A (f ) 6= L (f ).
Following Purbhoo, we introduce
CycRes(f ; r) :=

r−1
Y

k1 =0

···

r−1
Y

kn =0

f e2πik1 /r z1 , . . . , e2πikn /r zn



(1.4)



= Resun Resun−1 . . . Resu1 (f (u1z1 , . . . , un zn ), ur1 − 1), . . . , urn−1 − 1 , urn − 1 ,

where Resx (g, h) denotes the resultant of the polynomials g and h with respect to the variable x.
If g = g(x) is a univariate polynomial, then Resx (g, xr − 1) is called a cyclic resultant of g.

Note that CycRes(f ; r) is a Laurent polynomial in z1 , . . . , zn . The informal version of [Pur08,
Theorem 1] states that the limit as r → ∞ of L (CycRes(f ; r)) is A (f ); see Section 2.2 for more
information.

LOPSIDED APPROXIMATION OF AMOEBAS

3

The main obstacle in turning Purbhoo’s result into an efficient approximation method for amoebas
is the difficulty in computing the polynomials CycRes(f ; r). The degree and the number of terms
of CycRes(f ; r) grow exponentially with r, but more importantly, the methods used by computer
algebra systems to find resultants fail to take advantage of the sparseness of the polynomials uri −1,
and are therefore manifestly inefficient when applied to CycRes(f ; r).
Our main results are as follows.
(1) We give a fast method to compute the cyclic resultant CycRes(f ; 2r) from CycRes(f ; r)
omitting all intermediate steps CycRes(f ; r + 1), . . . , CycRes(f ; 2r − 1); 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 r = 2k 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:
http://www.math.tamu.edu/research/dewolff/LopsidedAmoebaApproximation/.

We also provide the data presented in this article on this website. The algorithms in this article
are implemented in the computer algebra system S INGULAR [DGPS15] and scripts to provide
graphical outputs use the computer algebra system S AGE [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.

4

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

2. P RELIMINARIES
In this section, we review the theory of amoebas and lopsided amoebas which is used in this work.
Recall that throughout this article, f ∈ C[z±1 ] denotes the Laurent polynomial (1.1). We denote
by A the support of f , namely,

A := α ∈ Zn zα appears with nonzero coefficient in f .
The Newton polytope of f , denoted New(f ), is the convex hull in Rn of the support set A of f .

2.1. Amoebas. The complement of the amoeba A (f ) is the set Rn r A (f ). The connected
components of Rn r A (f ) are referred to as the components of the complement of A (f ).
Theorem 2.1 ([GKZ94, Chapter 6.1.A, Proposition 1.5, Corollary 1.8]). For a nonzero Laurent
polynomial f , the complement Rn r A (f ) is non-empty. Every component of Rn r A (f ) 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 A (f ) can be associated with a specific lattice point in the Newton polytope New(f ) via
the order map:
ord : Rn r A (f ) → Rn ,
uj

w 7→ (u1 , . . . , un ), where
(2.1)
Z
zj ∂j f (z) dz1 · · · dzn
1
√
for all 1 ≤ j ≤ n .
:=
z1 · · · zn
(2π −1)n Log|z|=w f (z)

Theorem 2.2 ([FPT00, Propositions 2.4 and 2.5]). The image of the order map is contained in
New(f ) ∩ Zn . Let w, w′ ∈ Rn r A (f ). Then w and w′ belong to the same component of the
complement of A (f ) if and only if ord(w) = ord(w′ ).
As a consequence of Theorem 2.2, it is possible to define the component of order α of the complement of A (f ). We use the following notation:
Eα (f ) := {w ∈ Rn r 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 r → ∞ the family L (CycRes(f ; r))
converges uniformly to A (f ). More precisely, for every ε > 0 there exists an integer N such that
for all r > N the lopsided amoeba L (CycRes(f ; r)) is contained in an ε-neighborhood of A(f ).
Remark 2.4. The integer N in Theorem 2.3 depends only on ε and the Newton polytope (or
degree) of f , and can be computed explicitly from this data. For simplicity, assume that f is a
polynomial of degree d. Let Log|v| ∈ Rn \ A (f ) be of distance at least ε from the amoeba A (f ).
Then, by [Pur08, Theorem 1], if r is chosen such that

rε ≥ (n − 1) log r + log (n + 3)2n+1d ,
then it holds that CycRes(f ; r) is lopsided at the point Log|v|. We will typically be interested in
the case r = 2k . Then, it suffices that
2k
C(n, d)
≥
,
k
ε

LOPSIDED APPROXIMATION OF AMOEBAS

5

where C(n, d) := (n − 1) log 2 + log ((n + 3)2n+1d) is constant.
If f is lopsided at a point Log|v| ∈ Rn , then it is straightforward to determine the order of the
component of the complement of A(f ) which contains Log|v|.

Theorem 2.5 ([FPT00, Proposition 2.7] and [Pur08, Proposition 4.1]). Let A ⊂ Zn and let f (z)
′
be as in (1.1). Assume that f (z) is lopsided at Log|v| with dominating term |bα′ zα |. Then
ord(Log|v|) = α′ . In particular, if CycRes(f, r) is lopsided at Log|v| with dominating term
′
|bα′ zα |, then ord(Log|v|) · r n = α′ .
The following useful criterion for lopsidedness is a consequence of the triangle inequality.
Lemma 2.6. The Laurent polynomial f (z)
is not lopsided at Log|z| if and only if there exist
√
Pd
θj −1 α(j)
1 d
arguments θ ∈ (S ) such that j=1 bj e
z
= 0.
3. A FAST A LGORITHM

TO

C OMPUTE C YCLIC R ESULTANTS

In this section, we provide a fast way of computing certain cyclic resultants.
We recall the Poisson formula for the resultant. If f (z) and g(z) are univariate polynomials, and g
has leading coefficient b, then
Y
Resz (f, g) = bdeg(f )
f (ξ).
(3.1)
{ξ | g(ξ)=0}

Lemma 3.1. Let g ∈ C[z] be a univariate polynomial of degree δ with leading coefficient b, and
let r be a positive integer. Then there exists a univariate polynomial h of degree δ such that

Resu g(zu), ur − 1 = h(z r ).
Proof. By (3.1),

r

Resu g(zu), u − 1
Writing g(z) = b

Qδ

ℓ=1 (z

− ξℓ ), we have
r

Resu g(zu), u − 1





r−1
Y

=

g e2π

√

−1j/r

j=0


z .

r−1 Y
δ
Y
√
=
b (e2π −1j/r z − ξℓ )
j=0

= br

ℓ=1

δ Y
r−1
Y

(e2π

√

−1j/r

ℓ=1 j=0

z − ξℓ )

δ
Y
(z r − ξℓr ).
= b
r

ℓ=1

Q
Now use h(z) = br δℓ=1 (z − ξℓr ).

k
k
Lemma 3.2. Let h z 2 = Resu g(zu), u2 − 1 be as in Lemma 3.1. Then

k
k
Resu g(zu), u2 + 1 = h(−z 2 ).



6

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF
k

k

Proof. Note that the roots of u2 + 1 are exactly the roots of u2 − 1 multiplied by e2π
Therefore, by (3.1),
2k



Resu g(zu), u + 1 =

k −1
2Y

j=0

√

−1/(2k+1 )

.


 √
√
k
k+1
g e2π −1j/2 e2π −1/2 z



√
k+1
k
= h (e2π −1/2 z)2
k
= h − z2 .



Lemma 3.3. The following identity holds.



k+1
k
k
Resu g(zu), u2 − 1 = Resu g(zu), u2 − 1 · Res g(zu), u2 + 1 .
k+1

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

k

k

− 1 = (u2 − 1)(u2 + 1), and


Algorithm 3.4.
√
1: Input: a polynomial f ∈ Q[ −1][x] in n variables of degree d and k ∈ N
2: Output: CycRes(f ; 2k )
3: /* Initialize a polynomial */
4: CycResult := f
5: /* Different variables are handled subsequently */
6: for j = 1 to n do
7:
for l = 1 to k do
8:
/* Initialize multiplier polynomial */
9:
Multiplier := CycResult
10:
Change all signs of terms in multiplier, which have an exponent whose j-th entry is not
divisible by 2l .
11:
CycResult = CycResult · Multiplier
12:
end for
13: end for
14: return CycResult
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 n = 1. 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 f . 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 l, the polynomial CycResult has at most d + 1 terms. Multiplying the coefficient of every second term (i.e., the terms whose exponents are not divisible by
2l ) by −1 requires ⌊d/2⌋ arithmetic operations.

LOPSIDED APPROXIMATION OF AMOEBAS

7

Multiplying two univariate (real) polynomials of degree d has complexity 2d2 +2d+1, see [BPR03,
Algorithm 8.3].
Since we perform this task k times, the total complexity is less than




d
5d
2
2
k
+ 2d + 2d + 1 = k 2d +
+1 .
2
2
Thus, the complexity is O(kd2).



Remark 3.5. Let f 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 d1 and d2 with arithmetic complexity O(d1d2 ). In our situation d1 = d and d2 = 2k ; hence the signed subresultant algorithm
computes the cyclic resultant of order k with arithmetic complexity O(d 2k ).
The algorithm we propose is, hence, a vast improvement. In particular since, in the typical situation, the degree d is fixed while one varies the parameter k 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
deg(g)
{Resz (g(z), z k − 1)}∞
. While this recurrence can
k=1 satisfies a linear recurrence of order 2
be used to compute all cyclic resultants, it is in general slower than our method for computing
k
Resu (g(zu), u2 − 1), and the latter is sufficient for our purposes.
4. A PPROXIMATING

AN

A MOEBA U SING C YCLIC R ESULTANTS

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 k. 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 k. Second, it is not effective to test all points of Rn for membership.
Neither of these obstacles are insurmountable. Our approach will be as follows. Let us fix some
ε > 0, which determines the integer k in accordance with Remark 2.4. Also, we will construct a
grid G := [s, t]n ∩ (ℓ · Z)n ⊆ Qn for some ℓ ∈ Qn . Here, ℓ should be chosen small enough so that
any ball of radius ε inside [s, t]n contains at least one point of G. Then, testing the finitely many
points of G on the level k, we are assured to find points in every component of the complement
of the amoeba whose intersection with [s, t]n 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 G
rather than ε; the latter can then be determined from the former.
Algorithm 4.1.
√
1: Input: a polynomial f ∈ Q[ −1][x], start-/endpoints of grid s, t, steplength ℓ for grid, k ∈ N
2: Output: List of gridpoints together with a bit indicating membership in ε neighborhood of
A(f ) and the order of the component of the complement if applicable
3: /* Create grid */
4: Create grid G := [s, t]n ∩ (ℓ · Z)n .

8

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

/* Compute 2j -th cyclic resultants for j = 1, . . . , k via Algorithm
3.4 */
6: for j = 1 to k do
5:

7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:

gj := CycResult(f, 2j )
end for
/* Create empty list */
L := [ ]
/* Test gridpoints for lopsidedness */
for every p in G do
IsLopsided := false
j := 1
while IsLopsided = false and j ≤ k do
if gj is lopsided at p then
IsLopsided := true
else
j := j + 1
end if
end while
if IsLopsided = true then
/* Compute the order of f at p via Theorem 2.5 */
α := exponent of dominating term of gj at p divided by 2j
Adjoin (p, 0, α) to L
else
Adjoin (p, 1, NaN) to L
end if
end for
return L

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 L 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 f ; see [PT05].
5. G EOMETRY

OF THE

L OPSIDED A MOEBA

The main result of this section, Theorem 5.2, gives a geometric interpretation of the lopsided
amoeba of a Laurent polynomial.
Let f (z) be as in (1.1), and denote by b the coefficient vector (b1 , . . . , bd ). We introduce the
auxiliary 2d-variate polynomial
F (w, x) :=

d
X
j=1

wj xj ,

LOPSIDED APPROXIMATION OF AMOEBAS

9

which coincides with the polynomial f (z) when evaluated at w = b and xj = zα(j) . The polynomial F has amoeba A (F ) ⊂ Rd × Rd . We denote by pr2 the projection of Rd × Rd onto the
second factor, and set Fb (x) := F (b, x).
For convenience, we denote the coordinates of Rd × Rd by (Log|w|, Log|x|).
Lemma 5.1. Let Hb be the d-dimensional affine space defined by Log|w| = Log|b|. Then
A (Fb ) = pr2 (A (F ) ∩ Hb ).
Proof. By Lemma 2.6, (Log|b|,
Log|x|)√ ∈ A (F ) if and only if there exist arguments (θb , θx ) ∈
√
1 d
1 d
−1θb
(S ) × (S ) such that F (be
, xe −1θx ) = 0. We have
√

F (b e

−1θb

√

,xe

−1θx

√

) = F (b, x e

−1(θx +θb )

√

) = Fb (x e

−1(θx +θb )

),

and the result follows.



Recall that the affine toric variety XA associated to A = {α(1), . . . , α(d)} ⊂ Zn , is the Zariski
closure in Cd of the image of the monomial map (C∗ )n → (C∗ )d given by z 7→ (zα(1) , . . . , zα(d) ).

The amoeba A (XA ) of the toric variety XA is a linear subvariety of Rd , parameterized by Log|z| 7→
(α(1) · Log|z|, . . . , α(d) · Log|z|). We denote by sA : A (XA ) → Rn the inverse of this mapping.

We embed A (XA ) in the second factor Rd × Rd , in order to be able to compare this set to the
amoeba A (F ). Let prA = sA ◦ pr2 . Note that, given b, the induced map
prA : Hb ∩ (Rd × A (XA )) → Rn

is an affine isomorphism.

Theorem 5.2. We have that L (f ) = prA A (F ) ∩ Hb ∩ (Rd × A (XA )) .

More precisely, if we identify Rn with Hb ∩(Rd ×A (XA )) ⊂ Rd ∩Rd by the map prA , then L (f )
is identified with A (F ) (or rather, L (f ) is identified with the part of A (F ) which is contained in
Hb ∩ (Rd × A (XA ))).
Proof. Let b be fixed. Since prA : Hb ∩ (Rd × A (XA )) → Rn is an affine isomorphism, it has an
inverse pr−1
A given by
n
d
pr−1
A : R → Hb ∩ (R × A (XA )),

Log|z| 7→ (Log|b|, α(1) · Log|z|, . . . , α(d) · Log|z|) .

By Lemma 2.6, f is not lopsided at Log|z| if and only if there exist angles θb ∈ (S 1 )d such that
d
X

bj eθbj

√

−1

zα(j) = 0,

j=1

which is equivalent to F (beθb
and the proof is complete.

√

−1

, z) = 0. But, the latter is equivalent to pr−1
A (Log(z)) ∈ A (F ),


6. A PPROXIMATING U NLOG A MOEBAS

BY

S EMI - ALGEBRAIC S ETS

Recall that the unlog amoeba U (f ) is a semi-algebraic set. In this section we give an algorithm
which provides an approximation of the unlog amoeba U (f ) as a sequence of semi-algebraic sets.

10

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

The boundary of the amoeba A (f ) is denoted by ∂A (f ); similarly, the boundary of a lopsided
amoeba L (f ) by is denoted by ∂L (f ). Our computation is based on the following statement,
which uses the notation introduced in (2.2).
P
Theorem 6.1. Let f (z) be as in (1.1) and let CycRes(f ; r) = β∈A(r) br,β zβ . Then, the boundary ∂L (CycRes(f ; r)) converges to the boundary ∂A (f ) as r → ∞, in the same sense as in
S
Theorem 2.3. In particular, if Rn r A (f ) = kj=1 Eα(j) (f ) and if r is sufficiently large, then the
semi-algebraic set U (f ) belongs to an ε-neighborhood of the semi-algebraic set
P
n
β
≥ |br,rn ·α(1) | · xr ·α(1) ,
β∈A(r)\{r n ·α(1)} |br,β |x
.. .. ..
. . .
(6.1)
P
n
β
|b
|x
≥ |br,rn ·α(k) | · xr ·α(k) ,
β∈A(r)\{r n ·α(k)} r,β
x1 , . . . , xn ≥ 0.
Proof. Since each connected component of the complement of the set defined by (6.1) is contained in the complement of U (f ), we have that the Hausdorff distance of ∂L (CycRes(f ; r)) and
∂A (f ) is dominated by the Hausdorff distance of L (CycRes(f ; r)) and A (f ). 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 L (CycRes(f ; r)) of order α′ is given
by Log| · | image of the semi-algebraic set
X
′
|br,β |xβ ,
(6.2)
|br,α′ |xα >
β∈A(r)\{α′ }

x1 , . . . , xn ≥ 0.

By Theorem 2.3 we know that for all sufficiently large r there exists a bijection between the set
of all components of the complement of A (f ) and the set of all components of the complement
of L (CycRes(f, r)). By Theorem 2.5 it follows that if a component of the complement of A (f )
has order α′ , then the corresponding component of the complement of L (CycRes(f ; r)) has order
α′ · r n . This and (6.2) complete the proof.

This theorem allows us to compute a sequence of semi-algebraic sets approximating the unlog
amoeba U (f ) as follows:
Algorithm 6.2.
√
1: Input: f ∈ Q[ −1][x], ε > 0
2: Output: An approximation of U (f ) by a semi-algebraic set.
3: Choose r ∈ N sufficiently large with respect to ε according to Remark 2.4.
4: /* Compute all potential images of ord(A (f )) */
5: M := New(f ) ∩ Zn
6: /* Define a zero polynomial */
7: g := 0
8: /* Construct g as sum of abs. values of terms of CycRes(f ; r) */
9: for bα xα term in CycRes(f ; r) do
10:
g := g + |bα |xα
11: end for
12: /* Construct inequalities for semi-alg. description of U (f ) */
13: for α/r n ∈ M do

LOPSIDED APPROXIMATION OF AMOEBAS

14:
15:
16:
17:
18:

11

g(α) := g − 2 · |bα |xα
end for
/* S
Construct semi-alg.
description of U (f ) */
S
L := nj=1 {xj ≥ 0} ∪ α/rn ∈M {g(α)}
return L

Proof of correctness of Algorithm 6.2. This follows from Theorem 2.3 and Remark 2.4.



Note that it is sufficient to consider the image of the order map of A (f ) as the set M in Algorithm
6.2, if the image of the order map is known. For example, if supp(f ) is a circuit, that is, a minimal
affinely dependent set, then it is well-known that the image of the order map is at most supp(f );
see [Rul03, Theorem 12, Page 36].
7. E XPERIMENTAL C OMPARISONS

AND

C OMPUTATIONS

In this section we show experimentally that our fast method for computing cyclic resultants allows us to efficiently tackle the membership problem, as well as approximate an unlog amoeba
using semi-algebraic sets. We compare this approach to a general purpose resultant algorithm: the
comparison of the runtimes of both methods in given in Table 2.
7.1. Outline, Input, and Assumptions. As we mentioned in the Introduction, the two methods
we use in this article to compute the amoeba of a Laurent polynomial are:
(1) an approximation based on solving the Membership Problem 1.2, and
(2) an approximation given by semi-algebraic sets converging to the unlog amoeba U (f ).
We use the computer algebra system S INGULAR [DGPS15] for the computation of resultants and
for the lopsidedness test. We produce pictures by transferring our S INGULAR output to the computer algebra system S AGE [Dev16].
For technical reasons we encode, in S INGULAR, coefficients over a rational ring with n variables
which, in order to mimic complex numbers, has a parameter I with a minimal polynomial I 2 + 1.
When computing CycRes(f ; 2k ), we refer to the number k as the level of the resultant. In theory,
our S INGULAR code can be used to compute cyclic resultants of an arbitrary level, and also to test
lopsidedness of a single point; see Sections 7.2 and 7.3. In order to produce pictures, we need to
restrict our computations to a grid as described in Section 4. Depending on the approach used, we
handle this issue differently; see Sections 7.3 and 7.4.
7.2. The Computation of Cyclic Resultants. In order to compute amoebas via membership tests
or via a sequence of semi-algebraic sets converging to the unlog amoeba U (f ) for a given Laurent
polynomial f we need to compute the r-th cyclic resultant CycRes(f ; r). The larger we choose
r ∈ N∗ the more accurate we expect the approximation to be, but also more resources are required,
and the output obtained increase in complexity. Indeed, CycRes(f ; r) is typically extremely large
by any measure. For instance, consider f (z1 , z2 ) = z13 +z1 z2 +z23 +1; a polynomial in two variables
of degree three with four terms. Table 1 provides a rough view of the size of CycRes(f ; r) for
different values of r.

12

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

r

2

4

8

16

32

64

number of terms

10

31

109

409

1585

6241

degree

12

48

192

786

3072 12288

coefficient magnitude

9

860 > 1012 > 1051 10204

10811

TABLE 1. The size of CycRes(z13 + z1 z2 + z23 + 1; r) with r = 2k .

Polynomial Level Runs Quick resultant Iterated resultant

Factor

f1

3

100

0.0062

0.0263

4.24

f1

4

100

0.0520

1.7120

32.92

f1

5

5

8.0400

221.6040

27.56

f1

6

1

28.1400

118397.8600

4207.46

f2

3

100

0.0354

0.6680

18.87

f2

4

100

0.3952

88.9828

301.42

f2

5

3

5.0433

67927.7433 13468.91

f3

3

10

0.0080

245.5500 30693.75

TABLE 2. A comparison of runtimes for the computation of cyclic resultants.
In Table 2 we provide a comparison of the runtimes of our resultant algorithm and a standard computation using a built in resultant command for the following polynomials with real and complex
coefficients in two and three variables:
f1 (z1 , z2 ) = z13 + z1 z2 + z23 + 1,
√
√
√
f2 (z1 , z2 ) = (5 + −1) · z13 + −1 · z1 z2 + (4 + −1) · z23 + 1,
f3 (z1 , z2 , z3 ) = z14 z2 + z1 z2 z35 + z12 z24 + z1 z22 + z1 z2 z3 + z1 z2 z33 + 1.
In the table, Level denotes the level of the cyclic resultant. Runs denotes the number of test
runs we made for the particular polynomial and level. Quick resultant denotes the average
runtime (in seconds) for the computation of cyclic resultants using our new recursive method, while
Iterated resultant denotes the average runtime (in seconds) of a procedure using (1.4) and
the S INGULAR resultant command. Finally, Factor denotes the ratio between the latter and
former runtimes.
For instances, which can be computed very quickly, we took up to 100 test runs and computed the
average runtime of both algorithms 1.
1
All computations were performed with S INGULAR Version 3-0-4 and on a Desktop computer, Distribution: Linux Mint 13 Maya, Kernel: 3.8.0-44-generic x86 64, CPU: Quad core Intel Core
i7-2600 CPU, RAM: 16GB.

LOPSIDED APPROXIMATION OF AMOEBAS

13

F IGURE 1. Plot of the amoeba of the polynomial f (z1 , z2 ) = z13 + z23 + b · z1 z2 + 1
for b = 2 and b = −4 on a [−2, 2]2 grid with 81 × 81 grid points and relaxation
level at most 4. On the left hand side the turquoise points are the complement of the
lopsided amoeba of f , light blue points are lopsided on relaxation level 3 and dark
blue points (very few; mainly at the boundary of hole in the middle) at relaxation
level 4. Red points were never lopsided and hence are presumed to belong to the
amoeba of f . On the right hand side the amoeba coincides with the lopsided amoeba
in this plot.
7.3. Solving the Membership Problem via Lopsidedness. In this section we describe how amoebas can be approximated in practice by solving the membership problem using lopsidedness certificates. Again, we use the following polynomial as a running example
f (z1 , z2 ) = z13 + z1 z2 + z23 + 1.

(7.1)

The level two cyclic resultant equals (where we point out that, for notational convenience, the
variables are denoted x,y,z in S INGULAR output):
1
2
3
4
5

x48+28*x40y4-4*x36y12-4*x36+246*x32y8-156*x28y16-156*x28y4+
6*x24y24+576*x24y12+6*x24-860*x20y20-860*x20y8-156*x16y28+
969*x16y16-156*x16y4-4*x12y36+576*x12y24+576*x12y12-4*x12+
246*x8y32-860*x8y20+246*x8y8+28*x4y40-156*x4y28-156*x4y16+
28*x4y4+y48-4*y36+6*y24-4*y12+1

In order to compute the intersection of A (f ) with [s, t]n ⊆ Rn , the idea is to define a grid on
[s, t]n , and to test f and CycRes(f ; r) for lopsidedness on every grid point up to a pre-defined
r. According to Theorem 2.3 all grid points w ∈ Rn which do not belong to A (f ) are lopsided
for CycRes(f ; r) if r is sufficiently large. For our running example we choose the grid given by
1
[−2, 2]2 ∩ ( 10
Z)2 ⊆ R2 .

For every point w on the grid, we need to evaluate every monomial of f or CycRes(f ; r) at
Log−1 (w) = (exp(w1 ), . . . , exp(wn )). We test all points in our list for lopsidedness using f =
CycRes(f ; 20) and CycRes(f ; 21 ), . . . , CycRes(f ; 2k ); here k = 4 . The algorithm successively
searches for lopsidedness certificates for w ∈
/ L (CycRes(f ; j)) for j ∈ {0, . . . , k}. If a certificate

14

JENS FORSGÅRD, LAURA FELICIA MATUSEVICH, NATHAN MEHLHOP, AND TIMO DE WOLFF

F IGURE 2. A plot of the semi-algebraic approximation of the unlog amoeba U (f )
for f (z1 , z2 ) = z13 + z23 + 2 · z1 z2 + 1 using relaxed polynomials given by
quickcyclicresultant on level 1 (blue), 2 (dark green), and 3 (red).
is found, then we save the level j. Otherwise j is increased by 1. If CycRes(f ; r) is not lopsided
at w, then we presume that w ∈ Rn is a point in A (f ) since no certificate was found. This does
not preclude further testing being performed, that may eliminate some of these points at a higher
level.
7.4. Approximating Unlog Amoebas using Semi-algebraic Sets. In this last section we demonstrate how to use our software to obtain an approximation of the unlog amoeba U (f ) for a given
f ∈ C[z±1 ] using semi-algebraic sets. Moreover, we can draw an implicit plot of (the boundary
of) the image of this semi-algebraic description.
Returning to our running example (7.1) we compute the semi-algebraic description of U (f ) in
S INGULAR. In this example, we use levels 1, 2, and 3 given by the first three non-trivial instances
of quickcyclicresultant for f . The output is shown in Figure 2. An interesting observation
is that, according to this plot, the approximation of the sought semi-algebraic description of U (f )
does not necessarily improve monotonically. One can see that there exist certain areas where the
level 2 approximation is better than the level 3 approximation. This behavior does not seem
to be a plotting artifact, and raises theoretical questions on the nature of the convergence of this
approximation.
R EFERENCES
[AKNR13] M. Avendaño, R. Kogan, M. Nisse, and J. M. Rojas, Metric estimates and membership complexity for
archimedean amoebae and tropical hypersurfaces, 2013, Preprint, arXiv:1307.3681.
[BKS16] D.V. Bogdanov, A.A. Kytmanov, and T.M. Sadykov, Algorithmic computation of polynomial amoebas,
Computer algebra in scientific computing, Lecture Notes in Comput. Sci., vol. 9890, Springer, Cham,
2016, pp. 87–100.

LOPSIDED APPROXIMATION OF AMOEBAS

[BPR03]

15

S. Basu, R. Pollack, and M-F. Roy, Algorithms in Real Algebraic Geometry, Algorithms and Computations
in Mathematics, vol. 10, Springer-Verlag Berlin Heidelberg, 2003.
[CT65]
J.W. Cooley and J.W. Tukey, An algorithm for the machine calculation of complex Fourier series, Math.
Comp. 19 (1965), 297–301.
[Dev16]
The Sage Developers, Sagemath, the Sage Mathematics Software System (Version 6.4.1), 2016,
http://www.sagemath.org.
[DGPS15] W. Decker, G.-M. Greuel, G. Pfister, and H. Schönemann, S INGULAR 4-0-2 — A computer algebra system
for polynomial computations, http://www.singular.uni-kl.de, 2015.
[dW17]
T. de Wolff, Amoebas and their tropicalizations - a survey, to appear in: Analysis Meets Geometry: A
Tribute to Mikael Passare, 2017.
[FPT00]
M. Forsberg, M. Passare, and A. Tsikh, Laurent determinants and arrangements of hyperplane amoebas,
Adv. Math. 151 (2000), 45–70.
[GKZ94] I.M. Gelfand, M.M. Kapranov, and A.V. Zelevinsky, Discriminants, resultants and multidimensional determinants, Birkhäuser, 1994.
[Hil05]
C.J. Hillar, Cyclic resultants, J. Symbolic Comput. 39 (2005), no. 6, 653–669.
[HL07]
C.J. Hillar and L. Levine, Polynomial recurrences and cyclic resultants, Proc. Amer. Math. Soc. 135
(2007), no. 6, 1607–1618 (electronic).
[IdW16]
S. Iliman and T. de Wolff, Amoebas, nonnegative polynomials and sums of squares supported on circuits,
Res. Math. Sci. 3 (2016), 3:9.
[Mik00]
G. Mikhalkin, Real algebraic curves, the moment map and amoebas, Ann. of Math. (2) 151 (2000), no. 1,
309–326.
, Amoebas of algebraic varieties and tropical geometry, Different Faces of Geometry (S. K. Don[Mik04]
aldson, Y. Eliashberg, and M. Gromov, eds.), Kluwer, New York, 2004, pp. 257–300.
[Pel81]
A. E. Pellet, Sur un mode de séparation des racines des équations et la formule de Lagrange, Darboux
Bull. (2) 5 (1881), 393–395, In French.
[PPT13]
M. Passare, D. Pochekutov, and A. Tskih, Amoebas of complex hypersurfaces in statistical thermodynamics, Math. Phys. Anal. Geom. 16 (2013), no. 1, 89–108.
[PR04]
M. Passare and H. Rullgård, Amoebas, Monge-Ampère measures and triangulations of the Newton polytope, Duke Math. J. 121 (2004), no. 3, 481–507.
[PT05]
M. Passare and A. Tsikh, Amoebas: their spines and their contours, Idempotent mathematics and mathematical physics, Contemp. Math., vol. 377, Amer. Math. Soc., 2005, pp. 275–288.
[Pur08]
K. Purbhoo, A Nullstellensatz for amoebas, Duke Math. J. 14 (2008), no. 3, 407–445.
[Rul03]
H. Rullgård, Topics in geometry, analysis and inverse problems, Ph.D. thesis, Stockholm University, 2003.
[SdW13] F. Schroeter and T. de Wolff, The boundary of amoebas, 2013, Preprint, arXiv:1310.7363.
[TdW15] T. Theobald and T. de Wolff, Approximating amoebas and coamoebas by sums of squares, Math. Comp.
84 (2015), no. 291, 455–473.
[The02]
T. Theobald, Computing amoebas, Experiment. Math. 11 (2002), no. 4, 513–526 (2003).
D EPARTMENT OF M ATHEMATICS , T EXAS A&M U NIVERSITY , C OLLEGE S TATION , TX 77843.
E-mail address: jensf@math.tamu.edu
E-mail address: laura@math.tamu.edu
E-mail address: mehl144@tamu.edu
E-mail address: dewolff@math.tamu.edu

