1 Introduction

It is well known from rigorous results due to Mermin and Wagner and Hohenberg [1] that magnetization cannot exist in a Heisenberg magnet in two dimensions. However, the introduction of an exchange anisotropy multiplying one of the components of the spin, e.g., \(S^{z}\), can induce a phase transition. Therefore, we studied the model that is defined by the following Hamiltonian:

$$\begin{aligned} H = -J (\sum {S_{i}^{x}S_{j}^{x} + S_{i}^{y}S_{j}^{y} + \delta S_{i}^{z}S_{j}^{z}}) ~~ , \end{aligned}$$
(1)

where, \(\vec{S}_{i}\) is a unit classical spin vector at a square lattice site i, the sum is extended over nearest-neighbor pairs, J is the exchange constant, and \(\delta\) is the anisotropy. This model has a continuum symmetry (considering the xy plane) combined with a Z(2) symmetry in the z-direction. Therefore, considering the limit as \(T\rightarrow 0\), if \(\delta < 1\) the system has an infinite number of ground states, the symmetry is not broken. Otherwise, if \(\delta >1\), the ground state is twofold and the symmetry will be broken as the temperature increases. Since there is no frustration in the problem, the model described in (1) should and will be ruled by the Ising Field theory and the critical exponents must match the ones from the 2D Ising model for \(\delta > 1\). However, Binder and Landau [2] studied this model for the case \(\delta >1\) and their results supported the idea of a crossover, for an intermediate anisotropy, due to the reorientation of the magnetization from perpendicular to in-plane directions. Later, P.A. Serena et al. [3] studied the same model, using Monte Carlo. Due to the difficulties to properly equilibrate the system at low temperature, they used a new algorithm exploring a restrict region of the phase space. Their results did not show the crossover found earlier by Binder and Landau. They concluded the crossover was due to a lack of equilibration at low temperature. From our point of view, the Serena et al. work can not be conclusive since the low-temperature calculations could be biased due to the algorithm they used. Since then, as far as we know, there were no other related studies on this model. The main goal in the present work is to study the Anisotropic Heisenberg model (AHM) using the zeros of the energy probability distribution (EPD) and a more sophisticated Monte Carlo approach as discussed in the Sect. 2. The advantage of using the EPD method is that it does not demand the previous knowledge of any order parameter to get the critical temperature and the exponent \(\nu\). We have obtained the critical temperatures and all critical exponents using finite size scaling for several values of the easy axis anisotropy. Our results for the critical temperature are consistent with previous works. Although they are expected to belong to the Ising universality class, as far as we know, there are no estimates for the critical exponents. It is noteworthy that our estimate for the critical temperature extends the results of reference [3]. For each temperature, we have obtained all critical exponents which do not indicate a possible crossover from the Ising class of universality, at large \(\delta\), to another for small \(\delta\). This paper is organized in the following way. In Sect. 2, we discuss the simulation methodology used here, in particular, the Fisher zeros to settle a background to describe the EPD zeros approach. Next we describe the Monte Carlo method that combines three different algorithms together with the “reweighting” technique. In Sect. 3, the numerical results are presented, including a finite size scaling analysis leading to the estimate of the critical temperatures and exponents. Finally, Sect. 4 is devoted to our conclusions.

2 Simulation Details

2.1 Fisher Zeros

A phase transition can be properly defined, with no ambiguity, by using the Fisher zeros [4]. Fisher has shown how the partition function can be written as a polynomial in terms of the variable \(x = e^{-\beta \epsilon }\), where \(\beta =1/{k_B T}\) is the inverse of the temperature, \(k_B\) is the Boltzmann constant (taken by simplicity as \(k_B = 1\) from now on), and \(\epsilon\) is the energy difference between two consecutive energy states of the system. The coefficients of the polynomial are real implying that their roots appear in conjugate pairs. If the system undergoes a phase transition at a certain temperature \(T_c\), the corresponding zero, \(x_c\), must be real and positive in the thermodynamic limit. For any finite system, all roots of the polynomial lie in the complex plane. In short it is as follows. The partition function of the system is given by

$$\begin{aligned} \mathcal {Z}_{N} = \sum _{E}g(E)e^ {-\beta E} = e^{\beta \epsilon _{0}}\sum _{n=1}^{N}g_{n}\left( e^{\beta \epsilon } \right) ^{n} ~~~, \end{aligned}$$
(2)

where it is assumed that the energy, E, can be written as a discrete set \(E = \epsilon _0 + n\epsilon\) with \(\epsilon _0\) some constant energy threshold. For a continuous energy distribution, like our model (Eq. 1), a discretization of the density of states can be performed. If the phase transition occurs at \(T_c\) the corresponding zero, \(x_c(L)\), moves toward the positive real axis monotonically with the increasing size of the system as a power \(L^{-1 / \nu }\). From now on, we call it the dominant zero. By plotting \(\text{Im}(x_c(L))\) and \(\text{Re}(x_c(L))\) as a function of L, the exponent \(\nu\) and the critical temperature can be obtained. Although simple, this technique has some difficulties to be implemented due to the rapid growth in the number of energy states of the system. A suitable way to overcome this kind of problem is to use the EPD. It is closely related to the Fisher zeros as follows.

2.2 Energy Probability Distribution (EPD) Zeros

The EPD method to determine the dominant zero was developed in reference [5,6,7]. It consists in judiciously selecting the most relevant zeros for a chosen temperature in the following way. Let us multiply Eq. 2 by \(1 = \exp (\beta _0 E)\exp (-\beta _0 E)\), so that, it can be rewritten as

$$\begin{aligned} \mathcal {Z}_{\beta _0} = \sum _E h_{\beta _0}(E) e^{-\Delta \beta E}, \quad \bigg \{ \begin{array}{ll} h_{\beta _0} (E) &{}= g(E) e^{\beta _0} ~~~, \\ \Delta \beta &{}= \beta - \beta _0 ~~~. \end{array} \end{aligned}$$
(3)

Following the steps leading to Eq. 2, we define the variable \(x = e^{-\Delta \beta \varepsilon }\)

$$\begin{aligned} \mathcal {Z}_{\beta _0} = e^{-\Delta \beta \varepsilon _0} \sum _n h_{\beta _0}(n) x^n ~~~, \end{aligned}$$
(4)

which is nothing but the energy probability distribution of the canonical ensemble (without accounting for normalization), or simply the energy histogram at temperature \(\beta _0\). Treating Eq. 4 as a polynomial, there is a one to one correspondence between the Fisher zeros and the EPD zeros.

Fig. 1
figure 1

(Color online) The figures show the typical histogram (top) and zeros distribution (bottom). Here for \(\delta = 1.50\) and \(T = 1.3 J/k_B\). The red line in the histogram indicates the cutoff used. In the zeros distribution, the zoomed figure shows the dominant zero, indicated with a red arrow

For a histogram at the transition temperature, i.e., \(\beta _0= \beta _c\), the dominant zero will be located over the real positive axis in the thermodynamic limit. For a finite but large enough system, we expect a small imaginary part in \(x_c(L)\). The dominant zero is the one with the smallest imaginary part regardless of \(\beta _0\). An important simplification can still be done. Only states with non-vanishing probability to occur are important to the phase transition. Therefore, we can discard small values of \(h_{\beta _0}\) by using some cutoff \(h_{cut}\) (see Fig. 1). Moreover, the dominant zero acts as an accumulation point, such that, even for initial histograms constructed far from the transition can give reasonable estimates for \(\beta _c(L)\). Following this reasoning, a criterion to filter the important region in the energy space can be established. It goes as follows: First , build a normalized histogram \(h_{\beta _0^0}\) (Max(\(h_{\beta _0^0}\))= 1) at an initial, but false, guess. Discard small values of \(h_{\beta _0}\) according to \(h_{cut}\) to reduce the polynomial degree. Then, construct the polynomial, Eq. 4, finding the corresponding zeros. By selecting the dominant zero, \(x_c^0(L)\), we get an estimate for the pseudo-critical temperature \(\beta _c^0(L)\). At the beginning of the process, \(\beta _c^0(L)\) is in general a crude estimate of \(\beta _c(L)\). Nevertheless, we can proceed iteratively making \(\beta _0^1(L) = \beta _c^0(L)\), building a new histogram at this temperature and starting over. After a reasonable number of iterations, we may expect that \(\beta _c^j(L)\) converges to the true \(\beta _c(L)\) and thus \(x_c^j(L)\) approaches the point (1,0). This process corresponds to applying a sequence of transformations, \(\mathfrak {M}\), such that we reach the fixed point \(\beta ^{n+1}(L) = \mathfrak {M} \beta ^n(L)\).

Fig. 2
figure 2

(Color online) Example of the evolution of the iterative process to determine the dominant zero for \(\delta = 1.5\) and \(L = 60\) leading to \(T_c(L) \approx 1.29\). The figure in the lrs shows the temperature for several iterations converging to the dominant zero (dotted-dashed line). The rhs figure shows the geometrical structure with an attraction basin in the vicinity of the dominant zero. The red dots show the evolution of the dominant zero when using the Regula Falsi method, as described in the text

This iterative process is illustrated in Fig. 2 for \(\delta = 1.5\) and \(L=60\). The open circles were obtained by selecting temperatures to show the geometrical structure near the dominant zero. The solid red circles are for the iterative process. The existence of an attraction basin can be clearly seen. Next we discuss the process in obtaining the histograms.

2.3 Numerical Details

In our simulation, each Monte Carlo step (MCS) consists of 4 single-spin Metropolis update [8] combined with one overrelaxation move [9] and 1 cluster Wolff updates [10] over the entire lattice. First we sweep all the \(L^2\) spins in the lattice proposing a Metropolis move for each spin. After performing a Metropolis sweep four times, we make one overrelaxation move for each spin followed by one Wolff cluster update. It is worth noticing that, considering the symmetry of the Hamiltonian 1, the Wolff and the overrelaxation must be done only in the planar components. The first \(100\times L^2\) MCS are discarded in order to reach equilibration. After thermalization, we used \(2\times 10^6\) MCS storing energy E, \(E^2\), out-of-plane magnetization \(M_z\), and \(M_z^2\) at each MCS to build the histograms.

2.4 Histograms

The histograms were taken as a post-simulation procedure, i.e., we run the simulations to initially obtain the raw data. Working in this way is important as it avoids defining the discretization as a simulation parameter and allows us to find the most appropriate discretization without having to rerun the simulations. In this work, we used \(\text {d}E = 0.5 J\). To build the single histograms, we followed a “reweighting” recipe by Ferrenberg and Swendsen [11] to extrapolate the results for temperatures in the vicinity of the simulated ones. The cutoff we used was \(h_{cut} = 10^{-3}\). To get the zeros, we used the software MPSolve [12, 13]. Once the dominant zero is located, the thermodynamic quantities as energy \(\langle {E}\rangle\), specific heat \(C_v = \beta ^2 [\mathrm { Var}(E) ]\), out-of-plane magnetization \(\langle {M_z}\rangle\), and out-of-plane susceptibility \(\chi _z = \beta [\mathrm { Var}(M_z) ]\) are calculated in the vicinity of the dominant zero using the reweighting technique. Typical results are shown in Fig. 3) for \(\delta = 1.5\). Each point in our calculations is the result of an average over five independent histograms.

Fig. 3
figure 3

(Color Online) Energy, magnetization, specific heat, and the susceptibility in a, b, c, and d, respectively, as a function of temperature for \(\delta = 1.5\) for several lattice sizes, L. The highlighted points in each figure are the pseudo-critical temperatures obtained using the EPD technique as discussed in the text. Error bars are smaller then the symbols when not shown

2.5 Finite-Size Scaling

The finite-size scaling [14, 15] theory provides us a way to extrapolate the results obtained from finite systems to the thermodynamic limit. The basic assumption of FSS is that on the vicinity of a phase transition the thermodynamic quantities are homogeneous functions of their arguments and should depend only on the ratio between the relevant dimension L of the system and the correlation length, \(\xi\), in such a way they behave as [14, 15]

$$\begin{aligned} C_v&\approx L^{\alpha /\nu } \mathcal {C}(tL^{1/\nu }) \end{aligned}$$
(5)
$$\begin{aligned} \chi _z&\approx L^{\gamma /\nu } \mathcal {X}(tL^{1/\nu }) \end{aligned}$$
(6)
$$\begin{aligned} M_z&\approx L^{-\beta /\nu } \mathcal {M}(tL^{1/\nu }) \end{aligned}$$
(7)

where \(\mathcal {C},\mathcal {X},\mathcal {M}\) are the proper derivatives of the free energy and \(t \equiv \frac{T - T_c}{T_c}\). At \(t = 0\) that quantities do not depend on L so that, \(C_v, \chi _z\) and \(M_z\), follows a pure power law. A similar expression can be written for the pseudo-critical temperature \(T_c(L)\) [16]

$$\begin{aligned} T_c(L) \approx T_c + \lambda L^{-1/\nu } ~~~, \end{aligned}$$
(8)
$$\begin{aligned} \mathfrak {I}m[x_c](L) \approx y_0 L^{-1/\nu } ~~~. \end{aligned}$$
(9)

Although we do not have a rigorous demonstration of Eq. 9, numerical works strongly suggest it holds [5,6,7]. Using the FSS equations above, the critical temperature and exponents can be easily obtained from the simulation data. With \(\nu\) in hand, Eq. 8 readily furnishes the critical temperature. The hyper-scaling laws [14, 15], \(d\nu = 2 - \alpha\) and \(\alpha + 2\beta + \gamma = 2\) can be used as checking conditions.

3 Results

Initially, we use the imaginary part of the dominant zero to obtain the critical exponent \(\nu\). As \(Im(x) \sim L^{-1/\nu }\) a linear adjust of \(ln[Im(x)] \times ln(L)\) furnishes \(\nu\). Typical results are shown in Fig. 4 for \(\delta = 1.50\) and 1.05. The insets in the figure are for \(Im(x) \times L\). Once the exponent \(\nu\) is obtained the critical temperatures can be estimated by adjusting \(T_c(L) \times L^{-1/\nu }\). To obtain the remaining exponents, \(\alpha , \beta\), and \(\gamma\), we use the values of the corresponding quantities at the pseudo-critical temperature. In particular, we draw attention to the determination of the \(\alpha\) exponent, shown for two typical cases (\(\delta = 1.50\) and 1.05) in Fig. 5 for \(C_v(L) \times L\). Clearly, a \(C_v(L) \times ln(L)\) fits the data better than \(C_c(L) \times L^{\alpha /\nu }\). We assume that \(\alpha = 0\) for all \(\delta\). Our results are summarized in Table 1. As a matter of comparison, the data from Serena et al. [3] for the critical temperatures are included in Table 1 and Fig. 6 for the phase diagram. In Table 2 are shown the deviations from the hyper-scaling relations.

Fig. 4
figure 4

(Color online) Typical finite size scaling analysis for the imaginary part of z(L). Here we used \(\delta = 1.5\) and \(\delta = 1.05\) respectively. Error bars are smaller then the symbols when not shown

Fig. 5
figure 5

(Color Online) The figures a and b are typical results for the maxima of the specific heat, here, for \(\delta = 1.5\) and \(\delta = 1.05\) respectively. The points are from simulation data. The dashed line corresponds to a logarithm adjust and the dotted-dashed line is a power-law adjust. Clearly the logarithm behavior fits better the simulation data which is confirmed by a \(\chi ^2\) analysis. Error bars are smaller then the symbols when not shown

Table 1 The table shows the results obtained from the simulation. The entries with \(()^{*}\) are from reference [3]
Fig. 6
figure 6

(Color Online) This figure compares the critical temperatures we obtained (circle dots) with those present in P.A. Serena et al. (square). The solid line shows the isotropic Heisenberg limit, \(\delta = 1\), where \(T_c = 0\)

Table 2 This table shows how much the simulation data deviates from the hyper-scaling relations: \(\alpha +2\beta +\gamma -2=0\) and \(d\nu -2 = 0\). The exponent \(\alpha\) is always assumed as \(\alpha = 0\) as discussed in the text. The last line shows the exact Ising critical exponents

The critical exponents clearly indicate an Ising-like behavior [17] although there are some variations of the numerical values when compared with the ones from the Ising model. Perhaps the crossover claimed by Serena et al. is due to finite size effects around \(\delta =1\) and not necessarily due to lack of equilibration at low temperature.

4 Final Remarks

The main results in this work can be summarized as follows: (1) The study of the critical properties of a system, using the energy probability distribution (EPD) technique is robust, giving reliable results even when applied to moderate-sized systems. (2) For the anisotropic Heisenberg model in two dimensions, the results indicate the model is in the Ising universality class for any easy-axis anisotropy, \(\delta > 1\). The variations of the values presented in Table 1 from the values of the Ising model are probably due to imprecision of the lattice sizes. (3) We have determined the critical temperature up to 5 figures, extending earlier results.

The determination of the critical exponents is always a difficult task. In general, the determination of \(\nu\) and \(T_c\) has to be done simultaneously; however, using the EPD technique, \(\nu\) is obtained independently. As it is obtained from the imaginary part of the dominant zero, we have the advantage of knowing in advance that \(\mathfrak {I}{m[x_c]}(L) \rightarrow 0\) and \(L^{-1/{\nu }} \rightarrow 0\) in the thermodynamic limit that can serve as a check for the confidence of the simulation.