  We design an FPRAS to count the number of bases of any matroid given by an
independent set oracle, and to estimate the partition function of the random
cluster model of any matroid in the regime where $0<q<1$. Consequently, we can
sample random spanning forests in a graph and (approximately) compute the
reliability polynomial of any matroid. We also prove the thirty year old
conjecture of Mihail and Vazirani that the bases exchange graph of any matroid
has expansion at least 1. One of our key observations is a close connection
between pure simplicial complexes and multiaffine homogeneous polynomials.
Specifically, if $X$ is a pure simplicial complex with positive weights on its
maximal faces, we can associate with $X$ a multiaffine homogeneous polynomial
$p_{X}$ such that the eigenvalues of the localized random walks on $X$
correspond to the eigenvalues of the Hessian of derivatives of $p_{X}$.
