Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
14 views24 pages

Math Research

Math research paper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views24 pages

Math Research

Math research paper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

COMPUTING THE PARTITION FUNCTION FOR

GRAPH HOMOMORPHISMS WITH MULTIPLICITIES

Alexander Barvinok and Pablo Soberón


July 2015

Abstract. We consider a refinement of the partition function of graph homomor-


phisms and present a quasi-polynomial algorithm to compute it in a certain domain.
As a corollary, we obtain quasi-polynomial algorithms for computing partition func-
tions for independent sets, perfect matchings, Hamiltonian cycles and dense sub-
graphs in graphs as well as for graph colorings. This allows us to tell apart in
quasi-polynomial time graphs that are sufficiently far from having a structure of a
given type (i.e., independent set of a given size, Hamiltonian cycle, etc.) from graphs
that have sufficiently many structures of that type, even when the probability to hit
such a structure at random is exponentially small.

1. Introduction and main results


(1.1) Partition function of graph homomorphisms with prescribed mul-
tiplicities. Let G = (V, E) be an undirected graph with set V of vertices, set E of
edges, without loops or multiple edges. We denote by ∆(G) the largest degree of a
vertex in G. In what follows, we assume that ∆(G) ≥ 1, so that the graph contains
at least one edge.
Let m = (µ1 , . . . , µk ) be a vector of positive integers such that

µ1 + . . . + µk = |V |

and let A = (aij ) be a k × k symmetric real or complex matrix. We define the


partition function of graph homomorphisms of G with multiplicities m by
X Y
(1.1.1) PG,m (A) = aφ(u)φ(v) .
φ: V →{1,... ,k} {u,v}∈E
|φ−1 (i)|=µifor i=1,... ,k

1991 Mathematics Subject Classification. 05C30, 15A15, 05C85, 68C25, 68W25, 60C05, 82B20.
Key words and phrases. graph homomorphism, partition function, algorithm.
The research of the first author was partially supported by NSF Grants DMS 0856640 and
DMS 1361541.

Typeset by AMS-TEX
1
Here the sum is taken over all maps φ : V −→ {1, . . . , k} that map precisely µi
vertices of G into i for all i = 1, . . . , k and the product is taken over all edges
of G. If we take the sum over all k |V | maps φ : V −→ {1, . . . , k}, without the
multiplicity restrictions, we obtain what is known as the partition function of graph
homomorphisms
X Y
(1.1.2) PG (A) = aφ(u)φ(v) ,
φ: V →{1,... ,k} {u,v}∈E

see [BG05] and [C+13].

• One of the main results of our paper is a deterministic algorithm, which, given
a graph G = (V, E), a vector m = (µ1 , . . . , µk ) of multiplicities, a k × k symmetric
matrix A = (aij ) such that

γ
(1.1.3) |aij − 1| ≤ for all i, j
∆(G)

O(ln |E|−ln )
and a real  > 0, computes PG,m (A) within relative error  in (|E|k)
time. Here γ > 0 is an absolute constant (we can choose γ = 0.1). More pre-
cisely, we prove that for complex matrices A satisfying (1.1.3) we necessarily have
O(ln |E|−ln )
PG,m (A) 6= 0 and, given a real  > 0, we compute in (|E|k) time a
(possibly complex) number P̃G,m (A) 6= 0 such that

ln PG,m (A) − ln P̃G,m (A) < 

(we choose a branch of the logarithm which is real when aij = 1 for all i, j).

In [BS15], we construct a deterministic algorithm, which, given a graph G =


(V, E) and a k × k symmetric matrix A = (aij ) satisfying (1.1.3) with a better con-
stant γ = 0.34 (we can choose γ = 0.45 if ∆(G) ≥ 3 and γ = 0.54 for all sufficiently
large ∆(G)) computes the graph homomorphism partition function (1.1.2) within
O(ln |E|−ln )
relative error  in (|E|k) time. Although the methods of [BS15] and this
paper are similar, it appears that neither result follows from the other.
Specializing (1.1.1), we obtain various quantities of combinatorial interest.
(1.2) Independent sets in graphs. Let G = (V, E) be a graph as above. A set
S ⊂ V is called independent if {u, v} ∈
/ E for every two vertices u, v ∈ S. Finding
the maximum size of an independent set in a given graph within a factor of |V | is
an NP-hard problem for any 0 ≤  < 1, fixed in advance [Hå99], [Zu07].
Let us choose k = 2 and define the matrix A = (aij ) by

a11 = 0, a12 = a21 = a22 = 1.


2
Let m = (µ1 , µ2 ) be an integer vector such that µ1 + µ2 = |V |. One can see that a
map φ : V −→ {1, 2} contributes 1 to (1.1.1) if φ−1 (1) is an independent set in G
and contributes 0 otherwise. Hence PG,m (A) is the number of independent sets in
G of size µ1 .
Let us modify A 7→ Ã by choosing
γ γ
ã11 = 1 − and ã12 = ã21 = ã22 = 1 + ,
∆(G) ∆(G)

where γ is the constant in (1.1.3). Then


 −|E|
γ X
(1.2.1) 1+ PG,m (Ã) = w(S),
∆(G)
S: S⊂V
|S|=µ1

where  −e(S)  e(S)


γ γ
w(S) = 1 + 1−
∆(G) ∆(G)
and e(S) is the number of pairs of vertices of S that span an edge of G. Thus
   
e(S) 3 e(S) e(S)
exp −2γ −γ 3 ≤ w(S) ≤ exp −2γ ,
∆(G) ∆ (G) ∆(G)

so roughly  
e(S)
w(S) ≈ exp −2γ .
∆(G)
Hence (1.2.1) computes a weighted sum over all subsets S of vertices of cardinality
µ1 , where w(S) = 1 if S is an independent set in G, while all other subsets are
weighted down exponentially in the number of edges that the vertices of the subsets
span.
Computing (1.2.1) allows us to distinguish graphs with sufficiently many inde-
pendent sets of a given size from graphs that are sufficiently far from having an
independent set of a given size. Indeed, if every subset S ⊂ V of µ1 vertices of G
spans at least x edges of G, we get
 −|E|    
γ |V | x
1+ PG,m (Ã) ≤ exp −2γ .
∆(G) µ1 ∆(G)

If, on the other hand, a random  subset


 of µ1 vertices of G is an independent set
−2γx
with probability at least 2 exp then
∆(G)
 −|E|    
γ |V | x
1+ PG,m (Ã) ≥ 2 exp −2γ .
∆(G) µ1 ∆(G)
3
Computing PG,m (Ã) within a relative error of 0.1, say, we can distinguish these
two cases in |E|O(ln |E|) time.
Let us fix some δ > 0 and 0 > 0 and let us consider a class of graphs G that
satisfy |E| ≥ δ|V |∆(G) (in other words, we consider graphs that are not very far
from regular). Let us choose x = |E| for some  ≥ 0 > 0. In this case, G is
sufficiently far from having an independent set of size µ1 if every subset of vertices
of size µ1 spans at least some constant proportion  ≥ 0 (arbitrarily small, but
fixed in advance) of the total number |E| of edges whereas G has sufficiently many
independent sets if the probability that a randomly selected set of µ1 vertices is
independent is at least
 
|E|
2 exp −2γ ≤ 2 exp {−2γ0 δ|V |} .
∆(G)
We can distinguish these two cases in quasi-polynomial time, although in the latter
case the probability to hit an independent set at random is exponentially small in
the number of vertices of the graph.
More generally, we can separate graphs where each subset S ⊂ V of cardinality
µ1 spans at least x edges of G from graphs having sufficiently many subsets S ⊂ V
of cardinality µ1 spanning at most y < x edges of G.
(1.3) Hafnians, Hamiltonian permanents, and subgraph densities.
Suppose that G is a union of n pairwise vertex-disjoint edges, so |V | = 2n
and ∆(G) = 1. Suppose further that k = |V | and let us choose m = (1, . . . , 1).
Then, up to a normalizing constant, PG,m (A) is the hafnian of the matrix A, see,
for example, Section 8.2 of [Mi78]. In particular, if A is the adjacency matrix
of a simple undirected graph H with set {1, . . . , k} of vertices, then the value of
(2n n!)−1 PG,m (A) is the number of perfect matchings in H, that is, the number of
collections of edges of H covering every vertex of H exactly once. Hence we obtain
a deterministic algorithm approximating the hafnian of a 2n×2n symmetric matrix
A = (aij ) that satisfies
(1.3.1) |1 − aij | ≤ γ for all i, j

within a relative error  > 0 in nO(ln n−ln ) time. A similar algorithm, though with
a better constant γ = 0.19 (which can be improved to 0.27, see Lemma 4.1 below
and the remark thereafter), was earlier constructed in [B15a].
Suppose that G is a cycle with n > 2 vertices, so that ∆(G) = 2, and that k = n.
Let us choose m = (1, . . . , 1). If A is the adjacency matrix of a simple undirected
graph H then the value of (2n)−1 PG,m (A) is the number of Hamiltonian cycles in
H, that is, the number of walks that visit every vertex in H exactly once before
returning to the starting point. For a general A, the value of n−1 PG,m (A) is a
Hamiltonian version of the permanent of A,
n
1 XY
PG,m (A) = aiσ(i) ,
n σ i=1
4
where the sum is taken over all (n − 1)! permutations σ of the set {1, . . . , n} that
consist of a single cycle, cf. [Ba15]. Hence we obtain a deterministic algorithm
approximating the Hamiltonian permanent of an n × n symmetric matrix A = (aij )
that satisfies
γ
|1 − aij | ≤ for all i, j
2
within a relative error  > 0 in nO(ln n−ln ) time. This result is new, although
there is a polynomial time algorithm, which, for, given a real A satisfying (1.3.1)
with any γ < 1, fixed in advance, approximates the Hamiltonian permanent of (not
necessarily symmetric) A within a factor of nO(ln n) (the implicit constant in the
“O” notation depends on γ), see [Ba15]. As in Section 1.2, we obtain a polynomial
time algorithm that distinguishes graphs that have sufficiently many (for example,
at least n n! for some 0 <  < 1, fixed in advance) Hamiltonian cycles from graphs
that are sufficiently far from Hamiltonian (need at least n new edges added to
become Hamiltonian for some fixed 0 <  < 1), see [Ba15] for details.
For an arbitrary G with n vertices, let k ≥ n and let A be the adjacency matrix
of a simple graph H with set {1, . . . , k} of vertices. Let us consider a graph G b
consisting of G and k − n isolated vertices. Let us choose a k-dimensional vector
−1
m = (1, . . . , 1). Then (k − n)! PG,m
b (A) is the number of embeddings ψ : G −→
H that map distinct vertices of G into distinct vertices of H and the edges of
G into edges of H. The case of a complete graph G is of a particular interest.
Assuming that G is a complete graph with n vertices and n2 edges, we conclude
−1
that n!(k − n)! PG,m
b (A) is the number of cliques of size n in H. In this case we
have ∆(G)b = n − 1. Given H with vertex set {1, . . . , k}, let us modify A 7−→ Ã by
γ
1+ if {i, j} is an edge of H

n−1
ãij = γ
1− n−1 if {i, j} is not an edge of H.

Given a set S of vertices of H, let t(S) be the number of pairs of distinct vertices
of S that do not span an edge of H. Then
 −(n2 )
γ X
(1.3.2) (n!(k − n)!)−1 1+ PG,m
b (Ã) = w(S),
n−1
S: S⊂{1,... ,k}
|S|=n

where
 −t(S)  t(S)   
γ γ t(S) t(S)
w(S) = 1+ 1− = exp −2γ +O .
n−1 n−1 n−1 (n − 1)3

Hence we obtain a deterministic algorithm of (kn)O(ln n) complexity, which, given


a graph H with k vertices, computes (within a relative error of 0.1, say) the sum
(1.3.2) of the weights of n-subsets S of the set of vertices, where each weight w(S)
5
is exponentially small in the number of edges of H that the vertices of S fail to
span. A similar algorithm was constructed earlier in [B15b] (in [B15b] a worse
constant γ = 0.07 is achieved in the general case; however, in the most interesting
case of n = o(k) and n ≥ 10, [B15b] achieves a better constant of γ = 0.27).
Again, it allows us to distinguish graphs with no dense induced subgraphs of size n
from graphs having sufficiently many dense induced subgraphs of size n, even when
“many” still allows for the probability to hit a dense induced subgraph at random
to be exponentially small in n, see [B15b]. Finding the densest induced subgraph
of a given size n in a given graph with k vertices is a notoriously hard problem.
The best known algorithm of k O(ln k) complexity approximates the highest density
of an n-subgraph up to within a multiplicative factor of k 1/4 [B+10], [Bh12].
Although an independent set in a graph corresponds to a clique in the comple-
mentary graph on the same set of vertices, there appears to be no direct relation
between the partition functions (1.2.1) and (1.3.2). In (1.2.1), the weight of a sub-
set depends on the maximum degree ∆(G) while in (1.3.2) it depends on the size
of the subset.
(1.4) Graph colorings. Let G = (V, E) be a graph as in Section 1.1 and let

φ : V −→ {1, . . . , k}

be a map. The map φ is called a proper k-coloring if φ(u) 6= φ(v) whenever {u, v} ∈
E. The smallest k for which a proper k-coloring of G exists is called the chromatic
number of G. Approximating the chromatic number of a given graph within a factor
of |V |1− for any 0 <  < 1, fixed in advance, is NP-hard [FK98], [Zu07]. Let us
define a matrix A = (aij ) by

1 if i 6= j

aij =
0 if i = j.

Given an integer vector m = (µ1 , . . . , µk ), we observe that PG,m (A) is the number
of proper colorings of G, where the i-th color is used exactly µi times. Colorings
with prescribed number of vertices of a given color were studied in the case of
equitable colorings, where any two multiplicities µi and µj differ by at most 1, see
[K+10] and references wherein.
As above, let us modify A 7−→ Ã by letting
( γ
1 + ∆(G) if i 6= j
ãij = γ
1 − ∆(G) if i = j.

Then we obtain
 −|E|
γ X
1+ PG,m (Ã) = w(φ),
∆(G)
φ: V →{1,... ,k}
|φ−1 (i)|=µi
for i=1,... ,k
6
where
 −e(φ)  e(φ)
γ γ
(1.4.1) w(φ) = 1+ 1−
∆(G) ∆(G)

and e(φ) is the number of miscolored edges of G (that is, edges whose endpoints
are colored with the same color under the coloring φ). Thus
   
e(φ) 3 e(φ) e(φ)
exp −2γ −γ 3 ≤ w(e) ≤ exp −2γ
∆(G) ∆ (G) ∆(G)

and hence (1.4.1) represents a weighted sum over all colorings into k colors with
prescribed multiplicity of each color and the weight of each coloring being exponen-
tially small in the number of miscolored edges. As before, we can compute (1.4.1)
within a relative error of 0.1 in (k|E|)O(ln |E|) time.
(1.5) Partition function of edge-colored graph homomorphisms with mul-
tiplicities. It turns out that instead of the partition function PG,m (A) defined by
(1.1.1), it is more convenient to consider a more general expression. Let G = (V, E)
be |E| × k(k+1)

be a graph as in Section 1.1 and let B = buv ij 2 real or complex
matrix with entries indexed by edges {u, v} ∈ E and unordered pairs 1 ≤ i, j ≤ k.
{u,v}
Technically, we should have written b{i,j} , but we write just buv
ij , assuming that

buv vu vu uv
ij = bij = bji = bji .

We define
X Y
(1.5.1) QG,m (B) = buv
φ(u)φ(v) .
φ: V →{1,... ,k} {u,v}∈E
|φ−1 (i)|=µi for i=1,... ,k

Let H be a simple undirected graph with set {1, . . . , k} of vertices and suppose
that the edges of G and H are colored. Let us define

 1 if {u, v} and {i, j} are edges of the same color

uv
bij = of G and H respectively

0 otherwise.

Then QG,m (B) is the number of maps V −→ {1, . . . , k} such that for every edge
{u, v} of G, the pair {φ(u), φ(v)} spans an edge of H of the same color and precisely
µi vertices of V are mapped into the vertex i of H.
Clearly, (1.1.1) is a specialization of (1.5.1) since PG,m (A) = QG,m (B) provided
uv
bij = aij for all {u, v} ∈ E and all 1 ≤ i, j ≤ k. The advantage of working with
QG,m (B) instead of PG,m (A) is that QG,m is a multi-affine polynomial, that is, the
degree of each variable in QG,m is 1.
7
If in (1.5.1) we consider the sum over all k |V | maps φ : V −→ {1, . . . , k} we
obtain the partition function of edge-colored graph homomorphisms
X Y
(1.5.2) QG (B) = buv
φ(u)φ(v)
φ: V →{1,... ,k} {u,v}∈E

introduced in [BS15], cf. also [AM98].

• The main result of our paper is a deterministic algorithm, which, given a


graph G = (V, E),
 a vector m = (µ1 , . . . , µk ) of multiplicities, a |E| × k(k+1)
2
matrix B = buv
ij such that

γ
(1.5.3) buv
ij − 1 ≤ for all {u, v} ∈ E and all 1 ≤ i, j ≤ k
∆(G)

O(ln |E|−ln )
and a real  > 0, computes QG,m (B) within relative error  in (|E|k)
time. Here γ > 0 is an absolute constant, we can choose γ = 0.1.

In [BS15], we construct a deterministic algorithm, which, given a graph G =


(V, E) and a matrix B satisfying (1.5.3) with a better constant γ = 0.34 (we
can choose γ = 0.45 if ∆(G) ≥ 3 and γ = 0.54 for all sufficiently large ∆(G))
O(ln |E|−ln )
computes the partition function (1.5.2) within relative error  in (|E|k)
time. Although the methods of [BS15] and this paper are similar, it appears that
neither result follows from the other.
(1.6) Partition functions in combinatorics. Partition functions are success-
fully used to count deterministically various combinatorial structures such as inde-
pendent sets [BG08] and matchings [B+07] in graphs. The approach of [BG08] and
[B+07] is based on the “correlation decay” idea motivated by statistical physics.
Our approach is different (and the partition functions we compute are also different)
but one can argue that our method is also inspired by statistical physics. Roughly,
we use that the logarithm of the partition function is well-approximated by a low
degree Taylor polynomial in the region that is sufficiently far away from the phase
transition. Phase transitions are associated with complex zeros of partition func-
tions [LY52], see also [SS05] for connections to combinatorics, and the main effort
of our method is in isolating the complex zeros of QG,m .
While our estimate of γ = 0.1 in (1.1.3) and (1.5.3) is unlikely to be close to
optimal, the tempting conjecture that PG,m (A) can be efficiently approximated as
long as |aij − 1| < γ for any γ < 1, fixed in advance, is unlikely to be true even
when k = 2 and ∆(G) = 3. It is argued in [BS15] that computing the partition
function (1.1.2) in quasi-polynomial time in such a large domain would have led
to a quasi-polynomial algorithm in an NP-hard problem. The argument of [BS15]
transfers almost verbatim to the partition function (1.1.1). Hence it appears to be
an interesting problem to find the best possible values of γ in (1.1.3) and (1.5.3).
8
2. The algorithm
In this section, we describe the algorithm for computing (1.5.1).
(2.1) The algorithm. Let J be an |E| × k(k+1)2 matrix filled with 1s. Given a
k(k+1) uv

|E| × 2 matrix B = bij , where {u, v} ∈ E and 1 ≤ i, j ≤ k, we consider the
univariate function 
f (t) = ln QG,m J + t(B − J) ,
so that
|V |!
f (0) = ln QG,m (J) = ln and f (1) = ln QG,m (B).
µ1 ! · · · µk !

Hence our goal is to approximate f (1) and we do it by using the Taylor polynomial
approximation of f at t = 0:
n
X 1 dj
(2.1.1) f (1) ≈ f (0) + f (t) .
j=1
j! dtj t=0

We claim that the right hand side can be computed in (|E|k)O(n) time. Indeed, let

g(t) =QG,m J + t(B − J)
X Y   
uv
(2.1.2) = 1 + t bφ(u)φ(v) − 1 ,
φ: V →{1,... ,k} {u,v}∈E
|φ−1 (i)|=µifor i=1,... ,k

so that f (t) = ln g(t),

g 0 (t)
f 0 (t) = and g 0 (t) = g(t)f 0 (t).
g(t)

Therefore,
j−1 
dj
 i
dj−i
 
X j−1 d
(2.1.3) g(t) = g(t) f (t) ,
dtj t=0
i=0
i dti t=0 dtj−i t=0

where we agree that the 0-th derivative of g is g. We note that

|V |!
(2.1.4) g(0) = .
µ1 ! · · · µk !

If we compute the values of

dj
(2.1.5) g(t) for j = 1, . . . , n,
dtj t=0
9
then we can compute

di
f (t) for i = 1, . . . , n,
dti t=0

from the triangular system (2.1.3) of linear equations with the coefficients (2.1.4)
on the diagonal. Hence our goal is to compute (2.1.5).
Using (2.1.2), we obtain

dj
g(t)
dtj t=0
   
uj vj
X X
= buφ(u
1 v1
1 )φ(v1 )
− 1 · · · b φ(uj )φ(vj ) − 1 ,
φ: V →{1,... ,k} I= {u1 ,v1 },
|φ−1 (i)|=µi for i=1,... ,k ··· 
{uj ,vj }

where the inner sum is taken over all ordered collections I of j distinct edges
{u1 , v1 }, . . . , {uj , vj } of G. For such a collection I, let

S(I) = {u1 , v1 } ∪ . . . ∪ {uj , vj }

be the set of all distinct endpoints of the edges. Then we can write

dj X X |V | − |S(I)|)!
g(t) =
dtj t=0 (µ1 − |φ−1 (1)|)! · · · (µk− |φ−1 (k)|)!
φ: S(I)→{1,... ,k}
I= {u1 ,v1 }, −1
···  |φ (i)|≤µi for i=1,... ,k
{uj ,vj }
   
uj vj
× buφ(u
1 v1
1 )φ(v1 )
− 1 · · · b φ(uj )φ(vj ) − 1 .

j
In words:  we enumerate at most |E| ordered collections I = {u1 , v1 } , . . . ,
{uj , vj } of j distinct edges of G, for each such a collection, we enumerate at
most k 2j maps φ defined on the set of the endpoints
  of the edges from
 I into the set
u1 v1 u j vj
{1, . . . , k}, multiply the term bφ(u1 )φ(v1 ) − 1 · · · bφ(uj )φ(vj ) − 1 by the number
of ways to extend the map φ to the whole set V of vertices so that the multiplicity
of i is µi and add the results over all choices of I and φ. Since j ≤ n, the complexity
of computing (2.1.5) is indeed (|E|k)O(n) as claimed.
The quality of the approximation (2.1.1) depends on the location of complex
zeros of QG,m .
(2.2) Lemma. Suppose that there is a real β > 1 such that

QG,m J + z(B − J) =6 0 for all z∈C satisfying |z| ≤ β.
10
Then the right hand side of (2.1.1) approximates f (1) within an additive error of
|E|
.
(n + 1)β n (β − 1)

Proof. The function g(t) defined by (2.1.2) is a polynomial in t of degree at most


d ≤ |E| and g(0) 6= 0 by (2.1.4), so we can factor
d  
Y z
g(z) = g(0) 1− ,
i=1
αi
where α1 , . . . , αd ∈ C are the roots of g(z). In addition,
|αi | ≥ β > 1 for i = 1, . . . , d.
Thus
d  
X z
(2.2.1) f (z) = ln g(z) = ln g(0) + ln 1 − for all |z| ≤ 1,
i=1
αi
where we choose the branch of ln g(z) for which ln g(0) is real. Using the standard
Taylor series expansion, we obtain
  n  j
1 X 1 1
ln 1 − =− + ξn ,
αi j=1
j α i

where
+∞  j
X 1 1 1
|ξn | = ≤ .
j=n+1
j αi (n + 1)β n (β − 1)

Hence from (2.2.1) we obtain


n d  j !
X 1X 1
f (1) = f (0) + − + ηn ,
j=1
j i=1 αi
where
|E|
|ηn | ≤ .
(n + 1)β n (β − 1)
It remains to notice that
d j
1 dj

1X 1
− = f (t) .
j i=1 αi j! dtj t=0


For a fixed β > 1, to achieve an additive error of 0 <  < 1, we can choose
n = O (ln |E| − ln ), in which case the algorithm of Section 2.1 computes QG,m (B)
within a relative error  in (|E|k)O(ln |E|−ln ) time. Hence it remains to identify
matrices B for which the number β > 1 of Lemma 2.2 exists.
We prove the following result.
11
(2.3) Theorem. There exists an absolute constant α > 0 (one can choose α =
0.107) such that for any undirected graph G = (V, E), for any vector
m = (µ1 , . . . , µk ) of positive integers such that µ1 + . . . + µk = |V | and for any
complex |E| × k(k+1) uv

2 matrix Z = zij satisfying

uv α
1 − zij ≤ for all {u, v} ∈ E and 1 ≤ i, j ≤ k,
∆(G)

one has
QG,m (Z) 6= 0.

Theorem 2.3 implies that if B satisfies (1.5.3) with γ = 0.100, then we can choose

α 0.107
β= = = 1.07 > 1
γ 0.1

in Lemma 2.2 and hence we obtain an algorithm which computes QG,m (B) within
relative error  in (|E|k)O(ln |E|−ln ) time.
In the rest of the paper, we prove Theorem 2.3.

3. Recurrence relations
We consider the polynomials QG,m (Z) within a larger family of polynomials.
(3.1) Definitions. Let us fix the graph G and the integer vector m = (µ1 , . . . , µk ).
We say that a sequence W = (v1 , . . . , vn ) of vertices of G is admissible if the
vertices v1 , . . . , vn are distinct.
Let I = (i1 , . . . , in ) be a sequence of (not necessarily distinct) indices ij ∈
{1, . . . , k} for j = 1, . . . , n. For i ∈ {1, . . . , k}, we define the multiplicity νi (I) of i
in I by
νi (I) = |{j : ij = i}| ,
the number of times that i occurs in I.
A sequence I = (i1 , . . . , in ) of (not necessarily distinct) indices ij ∈ {1, . . . , k}
is called admissible provided

νi (I) ≤ µi for i = 1, . . . , k.

For an admissible sequence W = (v1 , . . . , vn ) of vertices and an admissible sequence


I = (i1 , . . . , in ) of indices such that |W | = |I|, we define
X Y
QW
I (Z) =
uv
zφ(u)φ(v) .
φ:V →{1,... ,k} {u,v}∈E
|φ−1 (i)|=µi for i=1,... ,k
φ(vj )=ij for j=1,... ,n
12
In other words, to define QW I (Z), we restrict the sum (1.5.1) defining QG,m (Z) to
maps φ : V −→ {1, . . . , k} that map prescribed vertices v1 , . . . , vn of the graph to
the prescribed indices i1 , . . . , in . Note that if W = (v1 , . . . , vn ) and I = (i1 , . . . , in )
are admissible sequences, then there is a map φ : V −→ {1, . . . , k} which maps
precisely µi distinct vertices of V onto i for i = 1, . . . , k and such that φ(vj ) = ij
for j = 1, . . . , n.
We suppress the graph G and the vector of multiplicities m in the notation for
QI (Z) and note that when W and I are both empty, then QW
W
I (Z) = QG,m (Z).
For a sequence W of vertices and a vertex v of the graph, we denote by (W, v)
the sequence W appended by v. For a sequence I of indices and another index
i ∈ {1, . . . , k}, we denote by (I, i) the sequence I appended by i. We denote
similarly sequences appended by several vertices or indices.
(3.2) Recurrence relations. We will use the following two recurrence relations.
First, if W and I are admissible sequences such that |W | = |I| and the sequence
(W, v) is also admissible (that is, v is distinct from the vertices in W ), then
(W,v)
X
(3.2.1) QWI (Z) = Q(I,i) (Z).
i∈{1,... ,k}:
(I,i) is admissible

Second, if W and I are admissible sequences such that |W | = |I| and if (I, i) is
an admissible sequence of indices then
1 X (W,v)
(3.2.2) QW
I (Z) = Q(I,i) (Z)
µi − νi (I)
v∈V :
(W,v) is admissible

(recall that νi (I) is the multiplicity of i in I so that µi − νi (I) > 0 if (I, i) is


admissible).

4. Angles in the complex plane


In what follows, we measure angles between non-zero complex numbers, consid-
ered as vectors in R2 identified with C.
We start with two geometric calculations.
(4.1) Lemma. Let z1 , . . . , zn ∈ C be non-zero numbers such that the angle between
any two numbers zi and zj does not exceed θ for some 0 ≤ θ < 2π/3. Then, for
z = z1 + . . . + zn , we have
 n
X
θ
|z| ≥ cos |zi |.
2 i=1

Proof. We observe that 0 is not in the convex hull of any three vectors zi , zj , zk , since
otherwise the angle between some two of those three vectors would have been at
13
least 2π/3. By the Carathéodory Theorem, 0 is not in the convex hull of z1 , . . . , zn .
Therefore, the vectors are enclosed in an angle of at most θ with vertex at 0. Let
us project each vector zi orthogonally onto the bisector of the angle. The length
of the projection is at least |zi | cos(θ/2) and hence the length of the projection of
z1 + . . . + zn is at least (|z1 | + . . . + |zn |) cos(θ/2). Since the length of a vector is at
least the length of its orthogonal projection, the proof follows. 

√ Lemma 4.1 was suggested by Boris Bukh [Bu15]. It replaces a weaker bound of
cos θ (|z1 | + . . . + |zn |) of an earlier version of the paper.
(4.2) Lemma. Let a1 , . . . , an and b1 , . . . , bn be complex numbers such that all
a1 , . . . , an are non-zero. Let
n
X n
X
a= ai and b= bi .
i=1 i=1

Suppose that for some real 1 > τ >  > 0 we have


bi
− 1 ≤  for i = 1, . . . , n and
ai
n
X
|a| ≥ τ |ai | .
i=1

Then a 6= 0, b 6= 0 and the angle between a and b does not exceed



arcsin .
τ

Proof. Clearly, a 6= 0. We can write


bi = (1 + i ) ai where |i | ≤  for i = 1, . . . , n.
Hence
n n n n
X X X X 
b= (1 + i ) ai = a + i ai and i ai ≤  |ai | ≤ |a|,
i=1 i=1 i=1 i=1
τ

from which b 6= 0 and


b 
−1 ≤ .
a τ
Therefore, the argument of the complex number b/a lies in the interval
h  i
− arcsin , arcsin
τ τ
and the proof follows. 
The main result of this section concerns the angles between various numbers
QW
I (Z) introduced in Section 3.
14
(4.3) Proposition. Let us us fix an admissible sequence W of vertices, an admis-
sible sequence I of indices such that 0 ≤ |W | = |I| ≤ |V | − 2, a complex |E| × k(k+1)
2
matrix Z, a real  > 0 and a real 0 ≤ θ < 2π/3 such that  < cos(θ/2). Suppose that
for any two vertices u, v ∈ V and any two i, j ∈ {1, . . . , k} such that the sequences
(W,u,v) (W,u,v)
(W, u, v) and (I, i, j) are admissible, we have Q(I,i,j) (Z) 6= 0, Q(I,j,i) (Z) 6= 0 and

(W,u,v)
Q(I,i,j) (Z)
(W,u,v)
− 1 ≤ .
Q(I,j,i) (Z)

(1) Suppose that for any two vertices u, v ∈ V and any three i, j1 , j2 ∈ {1, . . . , k}
such that the sequences (W, u, v) and (I, i, j1 ) and (I, i, j2 ) are admissible,
(W,u,v) (W,u,v)
the angle between two complex numbers Q(I,i,j1 ) (Z) and Q(I,i,j2 ) (Z) does
not exceed θ. Then for any two vertices u, v ∈ V and for any i ∈ {1, . . . , k}
such that the sequences (W, u), (W, v) and (I, i) are admissible, we have
(W,u) (W,v)
Q(I,i) (Z) 6= 0, Q(I,i) (Z) 6= 0 and the angle between two complex numbers
(W,u) (W,v)
Q(I,i) (Z) and Q(I,i) (Z) does not exceed


arcsin .
cos(θ/2)

(2) Suppose that for any three u, v1 , v2 ∈ V and any two indices i, j ∈ {1, . . . , k}
such that the sequences (W, u, v1 ), (W, u, v2 ) and (I, i, j) are admissible, the
(W,u,v ) (W,u,v )
angle between two complex numbers Q(I,i,j) 1 (Z) and Q(I,i,j) 2 (Z) does not
exceed θ. Then for any u ∈ V and any i, j ∈ {1, . . . , k} such that the
(W,u)
sequences (W, u), (I, i) and (I, j) are admissible, we have Q(I,i) (Z) 6= 0,
(W,u) (W,u)
Q(I,j) (Z) 6= 0 and the angle between two complex numbers Q(I,i) (Z) and
(W,u)
Q(I,j) (Z) does not exceed


arcsin .
cos(θ/2)

Proof. To prove Part (1), we note that by (3.2.1), we have

(W,u) (W,u,v)
X
Q(I,i) (Z) = Q(I,i,j) (Z) and
j∈{1,... ,k}:
(I,i,j) is admissible
(W,v) (W,v,u)
X
Q(I,i) (Z) = Q(I,i,j) (Z).
j∈{1,... ,k}:
(I,j,i) is admissible
15
(W,u,v) (W,u,v)
Since the angle between any two complex numbers Q(I,i,j1 ) (Z) and Q(I,i,j2 ) (Z)
does not exceed θ, by Lemma 4.1 we have
 
(W,u) θ X (W,u,v)
Q(I,i) (Z) ≥ cos Q(I,i,j) (Z) .
2
j∈{1,... ,k}:
(I,i,j) is admissible

The proof of Part (1) follows by Lemma 4.2 applied to the numbers
(W,u,v) (W,v,u) (W,u) (W,v)
aj = Q(I,i,j) (Z), bj = Q(I,i,j) (Z), a = Q(I,i) (Z), b = Q(I,i) (Z)

and τ = cos(θ/2).
To prove Part (2), let us fix two indices i 6= j. Then the sequence (I, i, j)
is admissible provided (I, i) and (I, j) are both admissible. Applying (3.2.2), we
obtain
(W,u) 1 X (W,u,v)
Q(I,i) (Z) = Q(I,i,j) (Z)
µj − νj (I, i)
v∈V :
(W,u,v) is admissible

(4.3.1) and
(W,u) 1 X (W,u,v)
Q(I,j) (Z) = Q(I,j,i) (Z).
µi − νi (I, j)
v∈V :
(W,u,v) is admissible

For a vertex v ∈ V such that the sequence (W, u, v) is admissible, let us denote
(W,u,v) (W,u,v)
av = Q(I,i,j) (Z) and bv = Q(I,j,i) (Z)

and let X X
a= av and b = bv .
v∈V : v∈V :
(W,u,v) is admissible (W,u,v) is admissible

Since the angle between any two numbers av1 and av2 does not exceed θ, by Lemma
4.1 we have  
θ X
|a| ≥ cos |av | ,
2
v∈V :
(W,u,v) is admissible

and by Lemma 4.2, the angle between a and b does not exceed

arcsin .
cos(θ/2)
Since by (4.3.1) we have

(W,u) 1 (W,u) 1
Q(I,i) (Z) = a and Q(I,j) (Z) = b,
µj − νj (I, i) µi − νi (I, j)
16
where µj − νj (I, i) > 0 and µi − νi (I, j) > 0, the result follows.
It remains to handle the case of i = j, in which case we just have to prove
(W,u)
that Q(I,i) (Z) 6= 0 whenever (W, u) and (I, i) are admissible sequences. Since
|W | = |I| ≤ |V | − 2, there is an index l ∈ {1, . . . , k} for which the sequence (I, i, l)
is admissible. Using the first equation in (4.3.1) with j replaced by l throughout
(W,u)
and Lemma 4.1, we conclude that Q(I,i) (Z) 6= 0. 
(4.4) Remark. The intuition behind Proposition 4.3 is as follows. We are interested
in how the value of QW I (Z) may change if we change one vertex in the sequence W
or one index in the sequence I, while keeping the sequences admissible. Suppose
that the value of QW I (Z) does not change much if we just permute two indices
in the sequence I. Part (1) asserts that if for sequences W and I of some length
|W | = |I|, the complex number QW I (Z) rotates by a small angle when one index in
I is changed, then for shorter sequences W 0 and I 0 such that |W 0 | = |W | − 1 and
0
|I 0 | = |I|−1, the complex number QW I 0 (Z) rotates by a small angle when one vertex
in W 0 is changed. Part (2) asserts that if for sequences W and I of some length
|W | = |I|, the complex number QW I (Z) rotates by a small angle when one vertex
in W is changed, then for shorter sequences W 0 and I 0 such that |W 0 | = |W | − 1
0
and |I 0 | = |I| − 1, the complex number QW I 0 (Z) rotates by a small angle when one
index in I 0 is changed.
For the subsequent proof, we would like this condition of QW I (Z) being rotated
by a small angle if one vertex in W is changed or one index in I is changed to
propagate for shorter and shorter sequences W and I. For that, we will need
to find the “fixed point” of the conditions of Proposition 4.3, that is, a solution
0 ≤ θ < 2π/3 to the equation

θ = arcsin .
cos(θ/2)
It is not hard to see that for all sufficiently small  > 0 there is such a solution. To
make the constant α in Theorem 2.3 as large as possible, we would like to choose
 as large as possible. Numerical computations show that we can choose  = 0.76,
in which case θ ≈ 1.101463960.

5. Derivatives
The first goal of this section is to relate how the value of QW
I (Z) changes when
W
two indices in I are permuted, with partial derivatives of QI (Z).
(5.1) Definition. For a 0 < δ < 1, we define the polydisc U(δ) ⊂ Ck(k+1)|E|/2 by
uv uv
 
U(δ) = Z = zij : 1 − zij ≤ δ for all {u, v} ∈ E and 1 ≤ i, j ≤ k .

Thus U(δ) is the closed polydisc of radii δ centered at the matrix J of all 1’s. We
will be interested in the situations when QWI (Z) 6= 0 for all Z ∈ U(δ), in which case
we can choose a branch of ln QI (Z) for Z ∈ U(δ) in such a way that ln QW
W
I (J) is
a real number.
17
(5.2) Lemma. Let us fix an integer 2 ≤ r ≤ |V | and let τ > 0 and 0 < δ < 1 be
real. Suppose that for any admissible sequences W and I such that |W | = |I| = r
and for any Z ∈ U(δ) we have QW I (Z) 6= 0 and the following condition is satisfied:
if W = (W 0 , v) and I = (I 0 , i) then
τ X ∂
QW
I (Z) ≥ |zilvw | vw QW
I (Z) .
∆(G) ∂zil
w: {w,v}∈E
l: 1≤l≤k

Then for any admissible W and I such that |W | = |I| = r and for any Z ∈ U(δ)
the following condition is satisfied: if W = (W 0 , u, v) and I = (I 0 , j, i), then for
4δ∆(G)
ξ=
(1 − δ)τ
we have
(W 0 ,u,v)
Q(I 0 ,j,i) (Z)
(W 0 ,u,v)
− 1 ≤ eξ − 1.
Q(I 0 ,i,j) (Z)

Proof. Let us choose admissible W and I such that |W | = |I| = r and suppose that
W = (W 0 , u, v) and I = (I 0 , j, i). If i = j the result is trivial, so we assume that
i 6= j. Since  
∂ W ∂
ln QI (Z) = Q (Z) /QW
W
I (Z)
∂zilvw ∂zilvw I
and
|zilvw | ≥ 1 − δ for all Z ∈ U(δ),
by the conditions of the lemma, we obtain
X ∂ ∆(G)
vw ln QW
I (Z) ≤ and
∂zil (1 − δ)τ
w: {w,v}∈E
l: 1≤l≤k
(5.2.1)
X ∂ ∆(G)
uw ln QW
I (Z) ≤ .
∂zjl (1 − δ)τ
w: {w,u}∈E
l: 1≤l≤k

Given a matrix A ∈ U(δ), we define a matrix B ∈ U(δ) as follows:


buw uw
jl = ail for all w 6= v such that {u, w} ∈ E and all l = 1, . . . , k
bvw
il = avw
jl for all w 6= u such that {v, w} ∈ E and all l = 1, . . . , k,
whereas all other entries of B are equal to the corresponding entries of A. Since
swapping the values of φ : V −→ {1, . . . , k} on two vertices u and v does not change
the multiplicities φ−1 (l) for l = 1, . . . , k, we have
(W 0 ,u,v) (W 0 ,u,v)
Q(I 0 ,j,i) (B) = Q(I 0 ,i,j) (A)
18
and using (5.2.1), we obtain

(W 0 ,u,v) (W 0 ,u,v) (W 0 ,u,v) (W 0 ,u,v)


ln Q(I 0 ,j,i) (A) − ln Q(I 0 ,i,j) (A) = ln Q(I 0 ,j,i) (A) − ln Q(I 0 ,j,i) (B)
 
X ∂ X ∂
ln QW W
 
≤  sup uw I (Z) + ln QI (Z) 
Z∈U(δ) ∂zjl ∂zilvw 
w: {u,w}∈E w: {v,w}∈E
l: 1≤l≤k l: 1≤l≤k
 

×  max auw uw vw vw 
jl − bjl , |ail − bil |
w∈V
1≤l≤k
 
∆(G) ∆(G) 4δ∆(G)
≤ + × (2δ) = = ξ.
(1 − δ)τ (1 − δ)τ (1 − δ)τ

Let us denote
(W 0 ,u,v)
Q(I 0 ,j,i) (Z)
ζ= (W 0 ,u,v)
.
Q(I 0 ,i,j) (Z)

Hence
| ln ζ| ≤ ξ.
Since
+∞ m +∞
X z X |z|m
z
|e − 1| = ≤ = e|z| − 1 for all z ∈ C,
m=1
m! m=1
m!

we conclude that

|ζ − 1| ≤ eln ζ − 1 ≤ e| ln ζ| − 1 ≤ eξ − 1

as desired. 
(5.3) Remark. We will be interested in the situation when

(W 0 ,u,v)
Q(I 0 ,j,i) (Z)
(W 0 ,u,v)
− 1 ≤ 0.76,
Q(I 0 ,i,j) (Z)

cf. Proposition 4.3 and Remark 4.4. To ensure the estimate, it suffices to have
ξ ≤ 0.565 in Lemma 5.2.
Our next goal is to relate the inequality for partial derivatives of Lemma 5.2 to
another angle condition of Proposition 4.3. Namely, we show that if we can bound
the angle by which the number QW I (Z) rotates when one index in I is changed,
we obtain the inequality of Lemma 5.2 for shorter sequences W 0 and I 0 such that
|W 0 | = |I 0 | = |W | − 1 = |I| − 1.
19
(5.4) Lemma. Let 0 ≤ θ < 2π/3 be a real number, let W be an admissible sequence
of vertices and let I be an admissible sequence of indices such that 1 ≤ |I| =
|W | ≤ |V | − 1. Suppose that for any Z ∈ U(δ), for every w such that (W, w) is
admissible and for every 1 ≤ l, j ≤ k such that (I, l) and (I, j) are admissible, we
(W,w) (W,w)
have Q(I,l) (Z) 6= 0, Q(I,j) (Z) 6= 0 and the angle between the complex numbers
(W,w) (W,w)
Q(I,l) (Z) and Q(I,j) (Z) does not exceed θ.
Let W = (W 0 , v) and I = (I 0 , i). Then

τ X ∂
QW
I (Z) ≥
vw
zij W
vw QI (Z) ,
∆(G) ∂zij
w: {w,v}∈E
j: 1≤j≤k

where
θ
τ = cos .
2

Proof. Recall that QW I (Z) is a multi-affine function in Z.


Let us choose a vertex w such that {v, w} ∈ E. If w is an element of the sequence
W 0 , then

QW if j is the element of I 0 that corresponds to w



vw ∂ W I (Z)
zij vw QI (Z) =
∂zij 0 otherwise.

If w is not an element of W 0 , then (W, w) is an admissible sequence and


( (W,w)
vw ∂ W Q(I,j) (Z) if (I, j) is admissible,
zij vw QI (Z) =
∂zij 0 otherwise.

Denoting by d0 the number of vertices w in W 0 such that {w, v} ∈ E, we obtain

X
vw ∂ W W
zij vw QI (Z) = d0 QI (Z)
∂zij
w: {w,v}∈E
j: 1≤j≤k
(5.4.1) X (W,w)
+ Q(I,j) (Z) .
w,j:
w not in W 0 ,{w,v}∈E
(I,j) is admissible

On the other hand, by (3.2.1) for all w not in W 0 , we have

(W,w)
X
QW
I (Z) = Q(I,j) (Z)
j: 1≤j≤k
(I,j) is admissible
20
and hence by Lemma 4.1,
 
θ X (W,w)
(5.4.2) QW
I (Z) ≥ cos Q(I,j) (Z) .
2
j: 1≤j≤k
(I,j) is admissible

Denoting by d1 the number of vertices w such that {v, w} ∈ E and w are not in
W 0 , we deduce from (5.4.1) and (5.4.2) that

cos(θ/2) X
vw ∂
zij QW (Z)
∆(G) ∂zij I
vw
w: {w,v}∈E
j: 1≤j≤k
d0 cos(θ/2) W cos(θ/2) X (W,w)
= QI (Z) + Q(I,j) (Z)
∆(G) ∆(G) w,j:
w not in W 0 ,{w,v}∈E
(I,j) is admissible

d0 cos(θ/2) W d1
≤ QI (Z) + QW (Z) ≤ QW
I (Z) ,
∆(G) ∆(G) I

as desired. 

6. Proof of Theorem 2.3


First, we define some constants. Let

 = 0.76

and let θ be the solution of the equation



θ = arcsin ,
cos(θ/2)
so,
θ ≈ 1.101463960,
cf. Remark 4.4. Let
θ
τ = cos ≈ 0.8521416971
2
and let
0.565τ
α= ≈ 0.1074337498.
4 + 0.565τ
In particular, as long as ∆(G) ≥ 1, we have


ξ=  ≤ 0.565,
α
1− ∆(G) τ
21
and hence
eξ − 1 ≤ ,
cf. Remark 5.3. Finally, let
α
δ= .
∆(G)
Recall that U(δ) is the polydisc of radii δ centered at the matrix of all 1’s, cf.
Definition 5.1.
We prove by descending induction for r = |V |, |V | − 1, . . . , 2 that the following
statements (6.1.r)–(6.5.r) are satisfied for all Z ∈ U(δ).

(6.1.r) Let W be an admissible sequence of vertices and let I be an admissible


sequence of indices such that |W | = |I| = r. Then QW
I (Z) 6= 0.
(6.2.r) Let W be an admissible sequence of vertices and let I be an admissible
sequence of indices such that |W | = |I| = r. Assuming that W = (W 0 , v) and
I = (I 0 , i), we have
τ X ∂
QW
I (Z) ≥ |zilvw | QW (Z) .
∆(G) ∂zilvw I
w: {w,v}∈E
l: 1≤l≤k

(6.3.r) Let W be an admissible sequence of vertices and let I be an admissible


sequence of indices such that |W | = |I| = r. Assuming that W = (W 0 , u, v) and
I = (I 0 , j, i), we have
(W 0 ,u,v)
Q(I 0 ,j,i) (Z)
(W 0 ,u,v)
− 1 ≤ .
Q(I 0 ,i,j) (Z)

(6.4.r) Let W be an admissible sequence of vertices and let I be an admissible


sequence of indices such that |W | = |I| = r − 1. Let w be a vertex such that the
sequence (W, w) is admissible and let i and j be indices such that the sequences
(W,w) (W,w)
(I, i) and (I, j) are admissible. Then Q(I,i) (Z) 6= 0, Q(I,j) (Z) 6= 0 and the angle
(W,w) (W,w)
between the complex numbers Q(I,i) (Z) and Q(I,j) (Z) does not exceed θ.
(6.5.r) Let W be an admissible sequence of vertices and let I be an admissible
sequence of indices such that |W | = |I| = r − 1. Let u and v be vertices such that
the sequences (W, u) and (W, v) are admissible and let i be an index such that the
(W,u) (W,v)
sequences (I, i) is admissible. Then Q(I,i) (Z) 6= 0, Q(I,i) (Z) 6= 0 and the angle
(W,u) (W,v)
between the complex numbers Q(I,i) (Z) and Q(I,i) (Z) does not exceed θ.

Let W and I be admissible sequences such that |W | = |I| = r, so that W =


(v1 , . . . , vr ) and I = (i1 , . . . , ir ). If r = |V | then
v v
Y
QW I (Z) = zijjil l 6= 0,
1≤j<l≤r
{vj ,vl }∈E
22
so (6.1.r) holds for r = |V |. Moreover, denoting by deg (vr ) the degree of vr , we
obtain in this case
X ∂
|zilvw | QW (Z) = deg (vr ) QW
I (Z) ,
∂zilvw I
w: {w,v}∈E
l: 1≤l≤k

so (6.2.r) holds as well. Lemma 5.2 then implies that (6.3.r) holds for r = |V |, while
(6.4.r) and (6.5.r) hold trivially, since for W 0 = (v1 , . . . , vr−1 ) the only admissi-
ble extension is W = (v1 , . . . , vr ) and for I 0 = (i1 , . . . , ir−1 ) the only admissible
extension is I = (i1 , . . . , ir ). Hence (6.1.r)–(6.5.r) are satisfied for r = |V |.
From formula (3.2.1) and Lemma 4.1 we get the implication

(6.1.r) and (6.4.r) =⇒ (6.1.r − 1).

From Lemma 5.4 we get the implication

(6.4.r) =⇒ (6.2.r − 1).

From Lemma 5.2 we get the implication

(6.1.r − 1) and (6.2.r − 1) =⇒ (6.3.r − 1).

From Part (1) of Proposition 4.3 we get the implication

(6.3.r) and (6.4.r) =⇒ (6.5.r − 1).

From Part (2) of Proposition 4.3 we get the implication

(6.3.r) and (6.5.r) =⇒ (6.4.r − 1).

This proves (6.1.2)–(6.5.2). From Part (2) of Proposition 4.3, we get the implication

(6.3.2) and (6.5.2) =⇒ (6.4.1).

Thus for every vertex v and every two indices i and j we have Qvi (Z) 6= 0, Qvj (Z) 6= 0
and the angle between complex numbers Qvi (Z) and Qvj (Z) does not exceed θ.
By formula (3.2.1) applied to the empty sequences W and I and Lemma 4.1, we
conclude that Q(Z) 6= 0. 

Acknowledgments
The authors are grateful to Boris Bukh for suggesting Lemma 4.1 and to anony-
mous referees for careful reading of the paper, suggestions and corrections.
23
References
[AM98] N. Alon and T.H. Marshall, Homomorphisms of edge-colored graphs and Coxeter groups,
Journal of Algebraic Combinatorics 8 (1998), no. 1, 5–13.
[BG08] A. Bandyopadhyay and D. Gamarnik, Counting without sampling: asymptotics of the
log-partition function for certain statistical physics models, Random Structures & Algo-
rithms 33 (2008), no. 4, 452–479.
[B15a] A. Barvinok, Computing the permanent of (some) complex matrices, published online
January 6, 2015, doi 10.1007/s10208-014-9243-7, Foundations of Computational Mathe-
matics (2015).
[B15b] A. Barvinok, Computing the partition function for cliques in a graph, preprint
arXiv:1405.1974, Theory of Computing, to appear (2015).
[Ba15] A. Barvinok, On testing Hamiltonicity of graphs, Discrete Mathematics 338 (2015),
53–58.
[BS15] A. Barvinok and P. Soberón, Computing the partition function for graph homomor-
phisms, preprint arXiv:1406.1771, Combinatorica, to appear (2015).
[B+07] M. Bayati, D. Gamarnik, D. Katz, C. Nair and P. Tetali, Simple deterministic approxi-
mation algorithms for counting matchings, STOC’07 – Proceedings of the 39th Annual
ACM Symposium on Theory of Computing, ACM, New York, 2007, pp. 122–127.
[Bh12] A. Bhaskara, Finding Dense Structures in Graphs and Matrices, Ph.D. dissertation,
available at http://www.cs.princeton.edu/∼bhaskara/thesis.pdf, Princeton Univer-
sity, 2012.
[B+10] A. Bhaskara, M. Charikar, E. Chlamtac, U. Feige and A. Vijayaraghavan, Detecting high
log-densities – an O(n1/4 ) approximation for densest k-subgraph, STOC’10–Proceedings
of the 2010 ACM International Symposium on Theory of Computing, ACM, New York,
2010, pp. 201–210.
[Bu15] B. Bukh, Personal communication (2015).
[BG05] A. Bulatov and M. Grohe, The complexity of partition functions, Theoretical Computer
Science 348 (2005), no. 2–3, 148–186.
[C+13] J.-Y. Cai, X. Chen, and P. Lu, Graph homomorphisms with complex values: a dichotomy
theorem, SIAM Journal on Computing 42 (2013), no. 3, 924–1029.
[FK98] U. Feige and J. Kilian, Zero knowledge and the chromatic number, Journal of Computer
and System Sciences 57 (1998), no. 2, 187–199.
[Hå99] J. Håstad, Clique is hard to approximate within n1− , Acta Mathematica 182 (1999),
no. 1, 105–142.
[K+10] H.A. Kierstead, A.V. Kostochka, M. Mydlarz and E. Szemerédi, A fast algorithm for
equitable coloring, Combinatorica 30 (2010), no. 2, 217–224.
[LY52] T.D. Lee and C.N. Yang, Statistical theory of equations of state and phase transitions.
II. Lattice gas and Ising model, Physical Review (2) 87 (1952), 410–419.
[Mi78] H. Minc, Permanents, Encyclopedia of Mathematics and its Applications, Vol. 6,
Addison-Wesley Publishing Co., Reading, Mass., 1978.
[SS05] A.D. Scott and A.D. Sokal, The repulsive lattice gas, the independent-set polynomial, and
the Lovász local lemma, Journal of Statistical Physics 118 (2005), no. 5-6, 1151–1261.
[Zu07] D. Zuckerman, Linear degree extractors and the inapproximability of max clique and
chromatic number, Theory of Computing 3 (2007), 103–128.

Department of Mathematics, University of Michigan, Ann Arbor, MI 48109-1043,


USA
E-mail address: [email protected], [email protected]

24

You might also like