Ising model partition function and free energies

This code calculates the partition function and free energies of the Ising model on a (periodic) square lattice, for arbitrary nearest neighbor couplings. The code can be used for ferromagnets as an example: plot the free energy, heat capacity, etc., as a function of temperature and system size. The code includes several simple application sets: timing of the code, domain wall energies for a few small samples, and reading off the density of states from the partition function. The code uses nested dissection to evaluate the Pfaffians. For moderate sized samples, it requires multi-precision arithmetic.

This work was supported in part by the National Science Foundation, under grant DMR-1006731 (CMMT).