{'fraction_non_alphanumeric': 0.029660014198942968, 'fraction_numerical': 0.009071546895953301, 'mean_word_length': 4.464655172413793, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Loop Algorithms for Asymmetric Hamiltonians

Generalized rules for building and flipping clusters in the quantum Monte Carlo loop algorithm are presented for the XXZ-model in a uniform magnetic field along the Z-axis. As is demonstrated for the Heisenberg antiferromagnet it is possible from these rules to select a new algorithm which performs significantly better than the standard loop algorithm in strong magnetic fields at low temperatures.


I. INTRODUCTION
The invention of the Loop algorithm [1] was a major breakthrough for Monte Carlo simulations of quantum spin systems. This algorithm which is a quantum version of the Swendsen-Wang cluster algorithm [2] has many desirable features which makes it possible to study large systems at low temperatures [3]. Among them is that the algorithm can be formulated directly in continuous imaginary time [4], thus avoiding the need to extrapolate data obtained at finite imaginary time discretization. Another is that updates are done in an extended configuration space of spins and new entities called loops. This makes big changes in the spin configuration possible in a single Monte Carlo step, resulting in very small autocorrelation times. Furthermore the nonlocal updating procedure allows all topological sectors to be sampled. For a quantum spin system this means in particular that sectors with different magnetization are sampled. This is in contrast to most other algorithms which operate at fixed magnetization.
Although excellent for a wide class of models, the Loop algorithm does not do well when the Hamiltonian is made asymmetric by a uniform magnetic field or a chemical potential. In these cases autocorrelation times become very long at low temperatures and the performance of the algorithm is lowered drastically. Here it is shown how this can be overcome by generalizing the loop algorithm. The generalization is obtained by relaxing the condition of non-interacting loops, and by taking the magnetic field into account in the loop building process. To be specific, we consider the nearest neighbor XXZ-model on a bipartite lattice in a magnetic field along the Z-axis Despite this choice of model it is expected that the procedure employed here should apply to other quantum mod-els as well, such as lattice fermions in the presence of a chemical potential. In the next section the generalized loop algorithm is presented. Then it is explained how an algorithm that performs well in a magnetic field can be chosen. The usefulness of this algorithm is demonstrated by measuring magnetization curves for the Heisenberg antiferromagnet on a dimer, a chain, and on a plane. Finally it is shown that the algorithm can also be used to determine the critical temperature for the Kosterlitz-Thouless transition occuring at finite magnetic fields in the Heisenberg antiferromagnet.

II. THE ALGORITHM
To explain the algorithm we begin by formulating the d dimensional quantum system as a classical system in d + 1 dimensions. This is done in the standard way [1] of dividing the Hamiltonian into sums of commuting pieces. Then a Trotter-Suzuki breakup is performed, and complete sets of states, which are labelled by their eigenvalues for S z i , are inserted at each time-slice between each sum of commuting pieces. The matrix elements are easily evaluated and corresponds to interactions around shaded plaquettes in a generalized checkerboard pattern.
As is shown in fig. 1 there are six allowed spin configurations around a shaded plaquette for the XXZ-model in a magnetic field. Other configurations have zero weights as for those S z is not conserved along the time direction. Because the loop algorithm can be formulated in continuous imaginary time it is sufficient to consider the limit where the imaginary time spacing ∆τ goes to zero. In this limit the plaquette weights are where z is the lattice coordination number. The loop algorithm consists of two main steps. The first is to build loops. Loop building is a probabilistic process where each shaded plaquette p is broken up into loop segments G p with a probability P (s p → s p , G p ), dependent on the spin configuration s p . Each loop segment connects two or four spins. The different types of loop segments are shown in fig. 2.
The different breakups G into loop segments around a shaded plaquette.
When this is done for all shaded plaquettes, the entire space-time lattice will be filled with loops. The second step is to flip spins along one or more loops. Because of the way the break-ups are constructed, this always results in an allowed spin configuration provided all the spins around a loop are flipped. The process of flipping the spins along a loop is also probabilistic. It is governed by the probability P G (s → s′) for changing spin configurations given a particular break-up G for the whole lattice. After this second step a new spin configuration is generated and one does the measurements and start over again. For the whole procedure to satisfy detailed balance it is sufficient [5] that the probabilities are chosen such that where G and s are the full loop and spin configuration, pieced together by the loop segments G p and plaquette spins s p respectively. w(s p , G p ) is the plaquette weight of plaquette p in the extended configuration space of both spins and loops. The weights w(s p , G p ) must be positive definite and satisfy The different loop algorithms described here correspond to different choices of these weights. Writing out Eq. (5) explicitly we find We have set the weights w(a + , G = ), w(a − , G = ), w(b, G || ) and w(c, G × ) to zero as flipping the spins along one loop segment for such configurations leads to a configuration with zero weight. It is therefore clear that we have eight parameters at our disposal. Let us parametrize the weights in the following way The remaining four weights are given by Eqs. (6)- (9). Note that although this is a convenient way of parametrizing the weights it is not the most general one.
In selecting the parametrization above we have chosen which weights are of order ∆τ or 1.
With this parametrization it is easy to obtain the loop building probabilities P (s p → s p , G p ) from Eqs. (3) and (5). To have non-negative weights, all the parameters must be greater than or equal to zero and (u+g) ≤ |J x |/2.
To satisfy detailed balance in the extended configuration space Eq. (4) we need the ratios w(s p ′, G p )/w(s p , G p ) which are Given these ratios the flipping probabilities can be gotten from

III. PARAMETER CHOICES
There are many possibilities for the choice of parameters, but not all of them lead to efficient ergodic algorithms. To minimize autocorrelation times one must in particular ensure that the loops generated have a reasonable chance of being flipped. This means that the ratios in Eqs. (18)-(25) should be as close to unity as possible.
Let us first consider H = 0. The standard loop algorithm is constructed such that all the ratios Eqs. (18)-(25) are one, and by minimizing the weights w(x, G ⊗ ): In particular the nonzero parameters for the Heisenberg antiferromagnet corresponds to, u 0 = v 0 = J/2, and for the XY-model s 0 = t 0 = u 0 = v 0 = J/4. For Ising anisotropy, |J x | < |J z |, certain G ⊗ break-ups must be included as otherwise some weights will be negative. For extreme anisotropy |J x | = 0 the model is the classical Ising model and the world-lines are all straight, s 0 = t 0 = v 0 = 0. In this limit the standard loop algorithm above is the Swendsen-Wang algorithm for the Ising model. Now consider H = 0. In this case it is not possible to set all of the ratios Eqs. (18)-(25) to unity for any parameter choices. With the parameter choices for the standard loop algorithm these ratios are only unity for loops which do not change the magnetization when flipped. For loops that can change the magnetization the total ratio of weights is exp(−βH∆M ), where ∆M is the change in magnetization caused by flipping the loop. This leads to autocorrelation times that increase exponentially with βH. The reason is that the magnetic field is not taken into account in the loop building process. The process of changing the magnetization is a competition between loosing Zeeman energy and gaining exchange energy. As the exchange energy is gained in the loop building process, it is inefficient to build the loops as if the magnetic field was absent. What happens in the standard loop algorithm is that the number of loops generated which can change the magnetization is very small.
An interesting observation is that one can construct an algorithm where only loops which can change the magnetization are generated. This choice is which means that the only break-ups allowed are of the diagonal type. This algorithm is ergodic, and in the classical Ising limit, |J x | = 0, it corresponds to the standard local Ising model algorithm in a magnetic field. One can now ask for which magnetic field this algorithm minimizes the autocorrelation times. Eq. (18) is unity for The important observation is that this value of H is the saturation field, where almost all plaquettes are of type a + . At this field it is therefore not important for the performance of the algorithm that Eqs. (19) and (20) deviate from one. It is then natural to choose an algorithm valid for all H which interpolates between the standard algorithm at H = 0 and the above at the saturation field. For the Heisenberg antiferromagnet in a magnetic field we thus propose the following algorithm For H > Jz we use the same algorithm as for H = Jz.

IV. NUMERICAL RESULTS
The algorithm was first tested by measuring magnetization of a dimer or two-site S = 1/2 antiferromagnetic chain. As shown by Kashurnikov et al. [6] the integrated autocorrelation time for the standard loop algorithm increases exponentially with βH. We have verified this measuring the integrated autocorrelation time as described in Ref.1, appendix B. For the new algorithm the dimer integrated autocorrelation time is very small (< 2) down to the lowest temperatures measured (T=.005J) and the magnetization measured agrees excellently with exact results. Fig. 3 shows the magnetization per spin of a 64-site antiferromagnetic Heisenberg chain, and illustrates the improvement over the standard Loop algorithm. The results of the modified and standard loop algorithm were obtained using the same number of equilibration and measurement steps (10 6 ), and the lines are exact results obtained using Bethe Ansatz [7]. It is clear that, in contrast to the modified algorithm, results obtained using the standard loop algorithm have not converged for high magnetic fields. Close inspection of the data at the lowest temperature reveals that the results of the modified algorithm deviate slightly from the exact results at intermediate magnetic fields. This deviation which is statistical is caused by increased autocorrelation times which arises because Eqs. (19)-(20) deviate from unity concomitant with the presence of a significant fraction of a − plaquettes at these fields. For the 64-site chain we measured the integrated autocorrelation time to be a maximum 3 · 10 4 steps at H/J = 1.3, going down to about 60 steps at low and high fields. It is quite conceivable that a different interpolation scheme than the one chosen in Eq. (37) can reduce these autocorrelation times at intermediate fields.   4 shows the full magnetization curve of a 64x64 square lattice antiferromagnet. Typical runs involved 10 7 steps for equilibration and measurements. The inset shows the high field behavior for very low temperatures on the same lattice. The statistical errors, taking into account the autocorrelation times, are smaller than the symbol size. For the lowest temperature the integrated autocorrelation times reached a maximum of 4 · 10 4 steps at H/J=2.4 going down to about 4 · 10 3 steps at low and high magnetic fields. The Heisenberg antiferromagnet in a magnetic field undergoes a Kosterlitz-Thouless transition at finite temperatures. The transition temperature has previously been obtained for weak magnetic fields; H < .2J [8]. Fig. 5 shows the helicity modulus Υ, which is the normalized free energy change due to phase twists in the x-y-plane, and which is proportional to the squared spatial winding number of world-lines [9], as a function of temperature for four different system sizes at H = 3.95J. From a finite size analysis [10] the transition temperature is found to be T c = .020(5)J. Here a single-cluster [1] implementation of the algorithm is used. It is expected that more precise estimates for T c can be obtained using a multicluster implementation.