How to calculate partition functions using convex programming hierarchies: provable bounds for variational methods | Read Paper on Bytez