The Z N model is defined by assigning a spin value at each node r on a graph, with the spins taking values s r = exp ⁡ ⁡ 2 π π i q N , where q ∈ ∈ { 0 , 1 , … … , N − − 1 } . The spins therefore take values in the form of complex roots of unity. Roughly speaking, we can think of the spins assigned to each node of the Z N model as pointing in any one of N equidistant directions. The Boltzmann weights for a general edge r r ′ are: