English

Computing the partition function of a polynomial on the Boolean cube

Data Structures and Algorithms 2016-11-30 v4 Combinatorics Optimization and Control

Abstract

For a polynomial f: {-1, 1}^n --> C, we define the partition function as the average of e^{lambda f(x)} over all points x in {-1, 1}^n, where lambda in C is a parameter. We present a quasi-polynomial algorithm, which, given such f, lambda and epsilon >0 approximates the partition function within a relative error of epsilon in N^{O(ln n -ln epsilon)} time provided |lambda| < 1/(2 L sqrt{deg f}), where L=L(f) is a parameter bounding the Lipschitz constant of f from above and N is the number of monomials in f. As a corollary, we obtain a quasi-polynomial algorithm, which, given such an f with coefficients +1 and -1 and such that every variable enters not more than 4 monomials, approximates the maximum of f on {-1, 1}^n within a factor of O(sqrt{deg f}/delta), provided the maximum is N delta for some 0< delta <1. If every variable enters not more than k monomials for some fixed k > 4, we are able to establish a similar result when delta > (k-1)/k.

Keywords

Cite

@article{arxiv.1503.07463,
  title  = {Computing the partition function of a polynomial on the Boolean cube},
  author = {Alexander Barvinok},
  journal= {arXiv preprint arXiv:1503.07463},
  year   = {2016}
}

Comments

The final version of this paper is due to be published in the collection of papers "A Journey through Discrete Mathematics. A Tribute to Jiri Matousek" edited by Martin Loebl, Jaroslav Nesetril and Robin Thomas, to be published by Springer

R2 v1 2026-06-22T09:02:08.617Z