English

Weighted counting of solutions to sparse systems of equations

Combinatorics 2019-08-15 v6 Discrete Mathematics Mathematical Physics math.MP

Abstract

Given complex numbers w1,,wnw_1, \ldots, w_n, we define the weight w(X)w(X) of a set XX of 0-1 vectors as the sum of w1x1wnxnw_1^{x_1} \cdots w_n^{x_n} over all vectors (x1,,xn)(x_1, \ldots, x_n) in XX. We present an algorithm, which for a set XX defined by a system of homogeneous linear equations with at most rr variables per equation and at most cc equations per variable, computes w(X)w(X) within relative error ϵ>0\epsilon >0 in (rc)O(lnnlnϵ)(rc)^{O(\ln n-\ln \epsilon)} time provided wjβ(rc)1|w_j| \leq \beta (r \sqrt{c})^{-1} for an absolute constant β>0\beta >0 and all j=1,,nj=1, \ldots, n. A similar algorithm is constructed for computing the weight of a linear code over Fp{\Bbb F}_p. Applications include counting weighted perfect matchings in hypergraphs, counting weighted graph homomorphisms, computing weight enumerators of linear codes with sparse code generating matrices, and computing the partition functions of the ferromagnetic Potts model at low temperatures and of the hard-core model at high fugacity on biregular bipartite graphs.

Keywords

Cite

@article{arxiv.1706.05423,
  title  = {Weighted counting of solutions to sparse systems of equations},
  author = {Alexander Barvinok and Guus Regts},
  journal= {arXiv preprint arXiv:1706.05423},
  year   = {2019}
}

Comments

The exposition is improved, a couple of inaccuracies corrected