Math Research
Math Research
µ1 + . . . + µk = |V |
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
• 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
(we choose a branch of the logarithm which is real when aij = 1 for all i, j).
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)
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
φ : 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
γ
(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.
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
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
|V |!
(2.1.4) g(0) = .
µ1 ! · · · µk !
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
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)
where
+∞ j
X 1 1 1
|ξn | = ≤ .
j=n+1
j αi (n + 1)β n (β − 1)
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.
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
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
(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)
(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
× 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
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
(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.
= 0.76
4α
ξ= ≤ 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(δ).
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
This proves (6.1.2)–(6.5.2). From Part (2) of Proposition 4.3, we get the implication
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.
24