Symbolic Computation to the Aid of Statistical Mechanics

By Manuel Kauers and Doron Zeilberger


.pdf     .tex  

Written: Feb.-April, 2018

Nice Pictures


Important: This article is accompanied by the following Maple, Mathematica, and C packages
  • Ising2D.txt (version of March 21, 2018)

  • KW.txt (version of March 21, 2018), a short package to verify that the characteristic polynomials of the two sides of the first equation on p. 261 of the Kramers-Wanier seminal 1941 paper are correct. Just type CheckKW(n) (n pos. integer)

  • Lars.txt (version of May 2, 2018), Doing Onsager by pure guessing

  • IsingPolygons.txt (version of March 9, 2018)

  • TILINGS [This package came with article but the new version that includes procedure Dimer(n,z), that lets you find the generating functions for the weight-enumerator of tilings by dimers (1 by 2 (horizontal) and 2 by 1 (vertical) domino-pieces) of an n by m rectangles with weight zNumberOfVerticalPieces]

  • Cfinite [This package came with article but the new version that includes procedure KastF(n,z) (for symbolic z), and KastF1(n,z0) for numeric z0, that computes the C-finite reperesenttion of what Kasteleyn says it should be.

  • SAP.m, a Mathematica program to compute generating functions for Ising graphs in bounded tori.

  • trace.c, a C-program written by Manuel Kauers. Here are the instructions.

  • ising.c, a C-program written by Manuel Kauers. Here are the instructions.

Sample Input and Output for SAP.m

    If you want to see the first 10 terms of the SAP series for width=2 are
    the input gives the output

Sample Input and Output for the new version of Cfinite

  • If you want to see rigorous proofs for Kasteleyen's famous formula for even n from 2 to 10, for various numeric z's
    the input gives the output
  • If you want to see the same thing, but for general, SYMBOLIC, z, for n=4 and n=6
    the input gives the output
  • If you want to see C-finite factorizations of the Dimer sequences (for fixed, numeric rectangle-width) for n=2, n=4, n=6, and n=8, but for numeric z
    the input gives the output

Output gotten from Lundow

Thanks to the Lundow et. al. data we have

Sample Input and Output for ISING2Dmathematica

  • The weight-enumerators of the set of n by n matrices with entries that are {-1,1} (made into toruses) under the Ising weight
    z[NumberofNearestNeighborsWithTheSameSign-NumberofNearestNeighborsWithOppositeSigns] w[NumberofPluses-NumberofMinues]
  • All of the above


    Note: The data above has already been produced (up to 16 by 16 squares!) by Per Håkan Lundow , but it is always good to recompute.
  • If you want to see the Laurent polynomials Zm,n(z,w) for 1 ≤ m ≤ 4, 1 ≤ n ≤ 30, the list of lists L is given here

  • Here are the characteristic polynomial (in X) for the width-m 2D Ising matrix (with magnetic field), where the variable z corresponds to neighborly interactions, and the variable w corresponds to the magnetic field, in other words the equation satisfied by the the generating function, Xm(z,w), for the m by infinity case:

    Sample Input and Output for Maple package Lars.txt

    • If you want to see an ab initio derivation of Onsager's formula, using experimental mathematics,
      the input leads to the output.

    • If you want to see the v-Series up to 11 terms, Directly in terms of the definition (but by "cheating", using the pre-computed weight-enumerators for the n by n torodial rectangle for n=24)
      input leads to the output.

    Sample Input and Output for Maple package Ising2D.txt

    • If you want to see the linear recurrence operator annihilating the Onsager series input leads to the output.

    • If you want to see the linear differential operator annihilating the Onsager function input leads to the output.

    • If you want to see the first 11 terms of the v-Series for the Free energy by finding the first 11 terms in the Taylor expansion of log(P24,24((v)/24^2) the input leads to the output.

    • If you want to see the first 11 terms of the v-Series for the Free energy by finding the first 22 terms in the Taylor expansion of log(P48,48((v)/48^2) the input leads to the output.

    • If you want to see a 3D plot of the Onsager function with magnetic field (the x-axis is exp(J/kT), the y axis is exp(H/(k*T)) for x from 1 to 2 and y from 1 to 2 input leads to the plot.

    The following list, L, is a list of Ising Polynomials as defined in Colin Thompson's book "Mathematical Statistical Mechanics" and elsewhere, following van der Waerden's combinatorial approach, the k-th term is the number of ways of placing 2*k-bond graphs in a very large torodial lattice with N vertices.

    L:=[ 0,N,2*N,(N*(9 + N))/2,2*N*(6 + N),(N*(7 + N)*(32 + N))/6,N*(130 + 21*N + N^2),N*(11766 + 1715*N + 102*N^2 + N^3)/24, N*(5876 + 776*N + 49*N^2 + N^3)/3,(N*(980904 + 118830*N + 7415*N^2 + 210*N^3 + N^4))/120, N*(423624 + 47666*N + 2855*N^2 + 94*N^3 + N^4)/12,N*(112852800 + 11919274*N + 678945*N^2 + 23725*N^3 + 375*N^4 + N^5)/720, N*(42723120 + 4272044*N + 231260*N^2 + 8175*N^3 + 160*N^4 + N^5)/60, N*(16620978240 + 1584498216*N + 81728374*N^2 + 2851695*N^3 + 62545*N^4+ 609*N^5 + N^6)/5040, N*(5589930384 + 510961484*N + 25204804*N^2 + 857825*N^3 + 19891*N^4 +251*N^5 + N^6)/360, N*(2990184306480 + 263323487916*N + 12469823436*N^2 + 411847009*N^3 +9754920*N^4 + 143794*N^5 + 924*N^6 + N^7)/40320 ]:

    Sample Input and Output for Maple programs

    • To read an article, by Shalosh B. Ekhad, proving independent asymptotic normality (up to the 7th moment) of the random variables "excess of same sign neighbors to opposite sign neighbor" and "excess of +1 to -1" (the "democratic" Ising model) the
      input leads to the output.
      [P.S. You also need the data file and the Maple package HISTABRUT

    Acknowledgement: We were greatly helped by