Example codes: TNR
Please look at the readme page if you have not done so already. Here we present an implementation of tensor network renormalization (TNR) algorithm which can be applied to contract the partition function of a 2D classical statistical mechanics model or the pathintegral of a 1D quantum lattice model. This implementation is largely similar to the example TRG code, but includes the extra disentangling step. We include some of the refinements of TNR discussed in the algorithms manuscript and also use implicit disentangling. The code produces a binary MERA defined from disentanglers u and isometries w as discussed in this manuscript. Two versions of the code are included, where the second version implements the gauge fixing steps necessary to produce a manifestly scaleinvariant RG flow for critical systems, thus can be used to compute conformal data.
Isometries q are chosen to maximize the norm of the C tensor defined below, while isometries v and w are chosen to maximize the norm of the coarsegrained A' tensor defined below. Tensors y, u and s are optimized as to maximize the fidelity between networks T and T' defined below. We assume, for simplicity, that the initial network contains only real coefficients and is symmetric under reflections on both the horizontal and vertical axes.

Computational cost: O(χ^6)

Exploits (horizontal and vertical) spatial reflection symmetries

Each coarsegraining step involves isometries q, y, w, v and a disentangler u, as well as the implicit disentangler s
Coarsegraining structure:
Reflection symmetry constraints:
Index ordering conventions:
Optimization criteria:
Coarsegraining iteration (Julia function):
Initialization (Julia script):
'mainTNR' benchmark:
Method: TNR, bond dimension χv = χh = 6
Test problem: 2D classical Ising model at T = 0.995 Tc, square lattice of 2^12 by 2^12 sites
Running time: approx 20 secs
Quantities computed: free energy density, internal energy density, spontaneous magnetization
Typical results:
Error in free energy density (TNR): approx 2e6
Error in internal energy density (TNR): approx 5e6
Spontaneous magnetization (TNR): M = 0.6238...
Spontaneous magnetization (exact): M = 0.6296...
Scale invariant CG iteration (Julia function):
Evaluation of scaling dimensions (Julia function)
Scaling operators from logarithmic transformation:
Scale invariant initialization (Julia script):
'mainScInvTNR' benchmark:
Method: scaleinvariant TNR, bond dimension χv = χh = 10
Test problem: 2D classical Ising model at T = Tc, infinite square lattice
Running time: approx 2 mins
Quantities computed: free energy density, internal energy density, scaling dimensions
Typical results:
Error in free energy density (TNR): approx 1e6
Error in internal energy density (TNR): approx 3e7
Scaling dimensions (TNR): smallest 100 scaling dims of Ising CFT correct to within 1.5% accuracy