  We give a deterministic polynomial time $2^{O(r)}$-approximation algorithm
for the number of bases of a given matroid of rank $r$ and the number of common
bases of any two matroids of rank $r$. To the best of our knowledge, this is
the first nontrivial deterministic approximation algorithm that works for
arbitrary matroids. Based on a lower bound of Azar, Broder, and Frieze [ABF94]
this is almost the best possible result assuming oracle access to independent
sets of the matroid.
  There are two main ingredients in our result: For the first, we build upon
recent results of Adiprasito, Huh, and Katz [AHK15] and Huh and Wang [HW17] on
combinatorial hodge theory to derive a connection between matroids and
log-concave polynomials. We expect that several new applications in
approximation algorithms will be derived from this connection in future.
Formally, we prove that the multivariate generating polynomial of the bases of
any matroid is log-concave as a function over the positive orthant. For the
second ingredient, we develop a general framework for approximate counting in
discrete problems, based on convex optimization. The connection goes through
subadditivity of the entropy. For matroids, we prove that an approximate
superadditivity of the entropy holds by relying on the log-concavity of the
corresponding polynomials.
