Stochastic series expansion method for quantum Ising models with arbitrary interactions
Extracted source text ยท arXiv cond-mat/0303597
\documentclass[10pt,pre,aps,twocolumn,showpacs]{revtex4}
\usepackage{graphicx}
\newcommand{\dn}{\downarrow}
\newcommand{\up}{\uparrow}
\begin{document}
\title{Stochastic series expansion method \\ for quantum Ising models with
arbitrary interactions}
\author{Anders W. Sandvik}
\affiliation{Department of Physics, {\AA}bo Akademi University,
Porthansgatan 3, FIN-20500, Turku, Finland}
\date{\today}
\begin{abstract}
A quantum Monte Carlo algorithm for the transverse Ising model with arbitrary
short- or long-range interactions is presented. The algorithm is based on
sampling the diagonal matrix elements of the power series expansion of the
density matrix (stochastic series expansion), and avoids the interaction
summations necessary in conventional methods. In the case of long-range
interactions, the scaling of the computation time with the system size $N$
is therefore reduced from $N^2$ to $N \ln{(N)}$. The method is tested on a
one-dimensional ferromagnet in a transverse field, with interactions
decaying as $1/r^2$.
\end{abstract}
\pacs{02.70.Ss, 05.30.-d, 75.40.Mg, 75.10.Jm}
\maketitle
\section{introduction}
Monte Carlo studies of classical and quantum many-body systems with long-range
interactions are limited by time-consuming summations over the interacting
particle pairs, the number of which grows quadratically with the system size.
Many important problems in both basic and applied science can be mapped onto
long-range interacting spin models, and hence it would be desirable to develop
more efficient numerical techniques for tackling them. For classical Ising
models, considerable progress has indeed been made on algorithms scaling
almost linearly with the system size \cite{luijten}. In the context of
simulated annealing \cite{annealing}, where the ground state of a classical
system (typically with complicated interactions) is obtained through a
simulation where the temperature is slowly lowered to zero, it has been
suggested \cite{qann} that a more rapid convergence could be achieved
by using a quantum model, e.g., the Ising model in a transverse (spin
flipping) field. Even in an imaginary-time path-integral formulation,
the quantum fluctuations can, at least in some cases \cite{santoro},
relax the system towards its classical ground state more rapidly than
thermal fluctuations. This is a strong motivation for developing
more efficient simulation methods for quantum Ising models. Another important
reason is the continued prominence of the transverse Ising model in the theory
of magnetism, particularly in the context of quantum phase transitions
\cite{sachdev,guo,rieger}.
Whereas transverse Ising models with short-range
interactions have recently been actively studied using quantum Monte Carlo
methods \cite{guo,rieger}, numerical work on long-range models has so
far been limited to special cases \cite{rozenberg}. In some of the best
experimental realizations of the transverse Ising model the interactions
are in fact long-ranged \cite{lihof}.
Here a stochastic series expansion (SSE) \cite{sse} algorithm for transverse
Ising models with long-range interactions is introduced in which the direct
summation over the interacting spins is avoided. The computation time scales
with the system size N as $N \ln{(N)}$ times the spatial integral of the
absolute value of the interaction [which normally converges as $N \to \infty$,
or diverges only as $\ln{(N)}$]. Both local and cluster-type updates
are developed for the transverse Ising model with
arbitrary interactions. The cluster update is a generalization of the
classical Swendsen-Wang cluster method \cite{swendsen} to the transverse
Ising model, and shares some features with a scheme previously used within the
continuous-time world-line algorithm \cite{rieger}. The way to treat the
long-range interactions generalizes the scheme developed for the classical
Ising model by Luijten and Bl\"ote \cite{luijten,rnote}. The integration of
these features in the SSE formalism should open new opportunities for detailed
numerical studies of a wide range of important models. The algorithm is
here tested on a ferromagnetic chain with interactions decaying as $1/r^2$,
for which results in the classical limit are available for comparison
\cite{anderson,kosterlitz,glumac,cannas,luijten2}.
In Sec.~II the application of the SSE method to the transverse Ising
model is described in detail. Local updates as well as classical and
quantum-cluster updates are discussed. Results for the model with $1/r^2$
interactions are presented in Sec.~III. Sec.~IV concludes with a brief
discussion.
\section{STOCHASTIC SERIES EXPANSION}
The SSE method \cite{sse} is an efficient alternative to worldline quantum
Monte Carlo \cite{worldline}. It is based on a generalization of the
power-series scheme for the Heisenberg ferromagnet that was developed by
Handscomb in the early 1960's \cite{handscomb}. Handscomb's method was later
extended to some other models \cite{hgen}, but the requirement of
analytically calculable traces of the terms of the
expansion inhibited further progress. In the SSE
method, a basis is instead chosen, and the traces are also evaluated
stochastically, in combination with the sampling of the operator products
in the series expansion of $\rm{exp}(-\beta H)$. This starting point
for quantum Monte Carlo is as generally applicable as the
worldline (imaginary-time path-integral) approach.
Recently, loop-type cluster updates \cite{evertz} have been developed and
generalized for efficient SSE simulations of a wide range of models
\cite{sseloop1,sseloop2}. However, since the loop updates rely heavily on the
presence of off-diagonal pair (or multi-particle) interactions, they
cannot be directly adapted to the transverse Ising model in the standard basis
where the Ising term is diagonal. In the basis where the field is diagonal,
loop updates can be easily implemented \cite{sseloop1,sseloop2}
but then sign problems \cite{ssesign} appear when the interaction is
frustrated. Here the SSE method is applied to an arbitrary transverse Ising
model, i.e., with no limitations on the sign and range of the spin-spin
interaction. Several types of local and cluster-type updates will be
described.
\subsection{Configuration space}
Consider the general Hamiltonian for the Ising model in a transverse field
of strength $h$,
\begin{equation}
H = \sum\limits_{i,j} J_{ij}\sigma^z_i\sigma^z_j - h\sum\limits_i \sigma^x_i ,
\label{hamiltonian}
\end{equation}
where ${\bf \sigma}_i$ is a Pauli spin matrix ($\sigma^z_i = \pm 1$) and
$J_{ij}$ is the strength of the interaction between spins $i$ and $j$, which
can be random or uniform and of any sign. The dimensionality is arbitrary.
Define the operators
\begin{eqnarray}
H_{0,0} & = & 1, \label{ha} \\
H_{i,0} & = & h(\sigma^+_i + \sigma^-_i),~~~~ i > 0, \label {hc} \\
H_{i,i} & = & h, ~~~~ i > 0, \label {hb} \\
H_{i,j} & = & |J_{ij}| - J_{ij}\sigma^z_i\sigma^z_j, ~~~~ i,j > 0,~i \not= j.
\label{hd}
\end{eqnarray}
Up to a constant, the Hamiltonian can be written as
\begin{equation}
H = -\sum\limits_{i=1}^N \sum\limits_{j=0}^N H_{i,j} .
\label{hsum}
\end{equation}
The constants $H_{i,i}$ are introduced for purposes that will become
clear below. Note that $H_{0,0}$ is not included as a term in the
Hamiltonian (\ref{hsum}) but will be important in the simulation scheme.
In the SSE approach \cite{sse} to finite-temperature quantum Monte Carlo, the
partition function $Z={\rm Tr}\lbrace {\rm exp}(-\beta H)\rbrace$ is written
as a power-series expansion, with the trace expressed as a sum over diagonal
matrix elements in a suitably chosen basis. Using (\ref{hsum}) then gives
\begin{equation}
Z = \sum\limits_{\alpha} \sum\limits_{n=0}^\infty \sum\limits_{S_n}
{\beta ^n \over n!}
\left \langle \alpha \right | \prod\limits_{l=1}^n H_{i(l),j(l)}
\left | \alpha \right \rangle ,
\label{zn}
\end{equation}
where $S_n$ denotes a sequence of $n$ operator-index pairs (hereafter
referred to as operators):
\begin{equation}
S_n = [i(1),j(1)],\ldots ,[i(n),j(n)],
\end{equation}
with $i(l) \in \lbrace 1,\ldots,N\rbrace$ and
$j(l) \in \lbrace 0,\ldots,N\rbrace$. The standard basis
$\lbrace |\alpha \rangle \rbrace = \lbrace |\sigma^z_1 ,\ldots ,
\sigma^z_N \rangle \rbrace$ is used.
Because of the constants added to $H_{i,j}$ in (\ref{hd}), the eigenvalues of
these operators are $2|J_{ij}|$ and $0$. All non-zero terms in (\ref{zn}) are
therefore positive and can be used as relative probabilities in an importance
sampling scheme. A term is specified by a state $|\alpha \rangle$ and an
operator sequence $S_n$. One can show that the total internal energy
(including the constants added to $H$) is given by \cite{sse,handscomb}
$E=-\langle n\rangle /\beta$. Hence, the size of the operator sequence to
be stored in computer memory scales as $\beta N I_N(J)$, where
\begin{equation}
I_N(J)={1\over N}\sum\limits_{i=1}^N\sum\limits_{j=1}^N |J_{ij}| ,
\label{in}
\end{equation}
which converges or grows much slower than $N$ for most cases of interest.
In order to construct an efficient sampling scheme, it is useful to cut the
expansion (\ref{zn}) at some power $n=L$, sufficiently high for the remaining
truncation error to be exponentially small and completely negligible [$L$
clearly has to be $\sim \beta N I_N(J)$]. One can then obtain an expansion
for which the length of the operator sequence is constant, by considering
random insertions of $L-n$ unit operators $H_{0,0}$ in the product
in (\ref{zn}). Adjusting for the $L \choose n$ possible insertions gives
\begin{equation}
Z = {1\over L!}\sum\limits_{\alpha} \sum\limits_{S_L}
\beta ^n (L-n)!
\left \langle \alpha \right | \prod\limits_{l=1}^L H_{i(l),j(l)}
\left | \alpha \right \rangle ,
\label{zl}
\end{equation}
where $[i(l),j(l)] = [0,0]$ is now also an allowed operator in the
sequence $S_L$, and $n$ denotes the number of non-$[0,0]$ operators. Note
again that $H_{0,0}$ is not part of the Hamiltonian, but is introduced
only for the purpose of constructing a computationally simpler updating
scheme where the operator list has a fixed length.
It is useful to define states
$|\alpha (p) \rangle = |\sigma^z_1(p),\ldots,\sigma^z_N(p)\rangle$ obtained
by propagating $|\alpha \rangle = | \alpha (0)\rangle$ by the first $p$
operators in $S_L$;
\begin{equation}
|\alpha (p) \rangle = r\prod\limits_{l=1}^p H_{i(l),j(l)} |\alpha \rangle ,
\label{propagated}
\end{equation}
where $r$ is a normalization factor. A non-vanishing matrix element in
(\ref{zl}) then corresponds to the periodicity condition $| \alpha (L)
\rangle = |\alpha (0) \rangle$, which requires that for each site $i$ there is
an even number (or zero) of spin flipping operators $[i,0]$ in $S_L$.
Definition (\ref{hd}) implies that the Ising operators $[i,j]$ may act only
on states with $\sigma^z_i = \sigma^z_j$ if $J_{ij} < 0$ (ferromagnetic),
or $\sigma^z_i = -\sigma^z_j$ if $J_{ij} > 0$ (antiferromagnetic). There
are no other constraints.
An SSE configuration is illustrated in Fig.~\ref{conf}. The vertical
direction in this representation will be referred to as the SSE {\it
propagation direction}. It can be related to the imaginary-time direction
in standard path integral representations \cite{irsse}. Note that this full
configuration, including all the states $|\alpha (p) \rangle$ explicitly,
does not have to be stored in the simulation. A single state and the operator
sequence suffice for reproducing all the states, and such a representation
is used in some stages of the simulation. For some updates it is convenient
to generate other representations, as will be discussed below.
\begin{figure}
\includegraphics[width=4.5cm]{fig1.eps}
\caption{An SSE configuration for an 8-site one-dimensional system. Here
the truncation $L=49$, and the expansion order of the term (i.e., the number
of Hamiltonian operators present) $n=40$. The solid and open circles represent
the spins $\sigma^z_i(p)=\pm 1$, with the propagation index $p=0,\ldots,L$
corresponding to the different $8$-spin rows. The thick and thin short
horizontal bars represent spin-flip operators $H_{i,0}$ and constants
$H_{i,i}$, respectively. The longer lines represent Ising operators
$H_{i,j}$ ($i\not =j$) acting on the spins at the line-ends.}
\label{conf}
\end{figure}
\subsection{Local updates}
The sampling of Eq.~(\ref{zl}) can be carried out using simple operator
substitutions of the types
\begin{eqnarray}
&& [0,0]_p \longleftrightarrow [i,j]_p, ~~~ i,j \not=0,
\label{upd1} \\
&& [i,i]_{p_1}[i,i]_{p_2} \longleftrightarrow
[i,0]_{p_1}[i,0]_{p_2}, ~~~ i \not=0,
\label{upd2}
\end{eqnarray}
where the subscript $p$ indicates the position ($p=1,\ldots ,L$) of the
operator in the sequence $S_L$. The power $n$ is changed by $\pm 1$ in the
{\it diagonal update} (\ref{upd1}) and is unchanged in the {\it off-diagonal
update} (\ref{upd2}). In the diagonal update the Ising terms $[i,j]$ and the
constants $[i,i]$ are sampled. The constants are used in the off-diagonal
update as a means of achieving easy insertions and removals of
two spin-flipping operators $[i,0]$. With the value $h$ chosen for the
constant in (\ref{hb}), the operator replacements do not change the
weight of the SSE configuration. However, the off-diagonal update also
leads to spin flips in the propagated states between $p_1$ and $p_2$;
$\sigma^z_i (p_1),\ldots,\sigma^z_i (p_2-1)$ $\to$
$-\sigma^z_i (p_1),\ldots,-\sigma^z_i (p_2-1)$.
[$p_1 > p_2$ also has to be considered, leading to
flipped $\sigma^z_i (p_1),\ldots, \sigma^z_i (L-1)$ $\sigma^z_i (0),\ldots,
\sigma^z_i (p_2-1)$], which is allowed if (and only if) no Ising operators
acting on site $i$ are present in $S_L$ between positions $p_1$ and $p_2$.
{\it Note that this constraint is completely local, regardless of the range
of the interaction, and that the update requires no knowledge of the spin
state}. This is the reason for the advantage of this simulation scheme over
worldline methods \cite{worldline,rieger}, where calculating the acceptance
probability for every update requires a summation over all the spins
interacting with those flipped. Here an allowed off-diagonal update
(\ref{upd2}) leaves the weight unchanged and can be carried out with
probability one.
If $h \not=0$, the above updates of the operator sequence suffice for
achieving ergodicity. If there are no Ising operators acting on a site $i$,
$\sigma^z_i(0),\ldots,\sigma^z_i(L-1)$ can also be flipped without changes in
$S_L$. This update in principle makes simulations using the present scheme
possible also for $h=0$, but in practice unconstrained spins occur frequently
only at high temperatures, when $\langle n\rangle$ is small. Other types of
``classical'' spin flips --- flips of clusters --- are also possible, and
will be discussed in Sec.~II C.
The simulation can be started with a random state $|\alpha (0)\rangle$ and
a sequence $S_L$ containing only $[0,0]$ operators. The truncation $L$ can be
chosen arbitrarily (small); it is adjusted during the equilibration part of
the simulation, e.g., by requiring $L > (4/3)n$ after each update. This
ensures than $n$ never reaches $L$ during the reminder of the simulation,
and hence that there will be no detectable systematic errors arising from
the truncation of the expansion \cite{sse}. In the beginning of an
updating cycle, the operator sequence $S_L$ and the state $|\alpha (0)
\rangle$ is stored.
The diagonal update (\ref{upd1}) is
attempted successively for all $p = 1,\ldots ,L$. In the course of this
process, the spin state is propagated by flipping spins $\sigma^z_i$ as
off-diagonal operators $[i,0]$ are encountered in $S_L$, so that the states
$|\alpha (p) \rangle$ are generated successively. For an $[i,j] \rightarrow
[0,0]$ update, i.e., removing a Hamiltonian operator, there are no constraints
and the update should always be accepted with some non-zero probability. In
the case of $[0,0] \rightarrow [i,j]$, i.e., inserting an operator from the
Hamiltonian, there are constraints, and the update may not be allowed for
all $i,j$. However, initially the indices $i,j$ are left undetermined and
it is assumed that any $[i,j]$ would be allowed. Under this assumption, the
acceptance probabilities for the diagonal update are given by
\begin{eqnarray}
P([0,0] \to [i,j]) & = & {\beta (Nh+2\sum_{ij}|J_{ij}|)\over L-n}, \\
P([i,j] \to [0,0]) & = & {L-n+1\over \beta (Nh+2\sum_{ij}|J_{ij}|)},
\end{eqnarray}
where $\sum_{ij}$ does not include $i=j$ and $P>1$ should be interpreted as
probability one, as usual. These probabilities are simply obtained from the
ratio of the new and old prefactor in (\ref{zl}) when $n \to n \pm 1$;
\begin{equation}
\beta^{\pm 1}{[L-(n \pm 1)]! \over (L-n)!},
\end{equation}
and the ratio between the matrix element $1$ of the $[0,0]$ operator and
the sum $Nh+2\sum_{ij}|J_{ij}|$ of the non-zero matrix elements of all
$[i,j]$ operators. Staying with the assumption that any $[i,j]$ is allowed
in the update $[0,0] \rightarrow [i,j]$, the
relative probability of an operator with the first index $i$ is
$P(i)=\sum_j M_{ij}$, where $M_{ij}$ is the non-zero matrix element
corresponding to $H_{ij}$ (i.e., $h$ for $i=j$ and and $2|J_{ij}|$ else).
The normalized cumulative probabilities $P_c(k=1,\ldots ,N)$ are stored
in a pre-generated table;
\begin{equation}
P_c(k)={\sum_{i=1}^k P(i) \over \sum_{i=1}^N P(i)}.
\end{equation}
In order to select the first index $i$ of the operator $[i,j]$ to be
inserted, a random number $0 \le R < 1$ is generated. The table $P_c$
is searched (using, e.g., a simple binary search) for
the smallest $k$ for which $P(k) \ge R$; the first index
of the operator $[i,j]$ is then $i=k$. The second index can be chosen
in a completely analogous way, with the relative probability for $j$, given
$i$, being $M_{ij}$. For a random system with long-range interactions,
a pregenerated table with $N^2$ elements is hence needed for storing all
the cumulative probabilities for the second index. For non-random interactions
in a translationally invariant system, the first index can be selected at
random with equal probabilities without searching a table, and the size of
the second table is reduced to $N$. For a short-range or truncated interaction
the table size is smaller, corresponding to the number of spins within the
range of the interaction; clearly, the whole selection process should then
be reduced to a single step for obtaining both $i$ and $j$ (e.g., selecting
one out of a total number $\sim N$ of operators and reading the corresponding
$i,j$ from a table). The two-step procedure is advantageous for non-random
long-range interactions, where it allows for the reduction of the size of
the probability table from $N^2$ to $N$. For random models, the storage
requirement is always $N^2$, and it may then again be better to combine the
first and second index searches, using a single size-$N^2$ table for all
the cumulative probabilities of $[i,j]$. For short-range random interactions
the size of the table is $N$ times the number of spins within the
interaction range.
The operator $[i,j]$ generated as above may or may not be allowed in the
current spin configuration $|\alpha (p) \rangle$. If $\sigma^z_i(p)$ and
$\sigma^z_{j} (p)$ indeed are in an allowed state, $[i,j]$ is inserted at
position $p$. Otherwise, the process for generating $[i,j]$ has to be
repeated, until an allowed operator has been generated. The reject-and-repeat
step leads to the correct probabilities for selecting among all the allowed
diagonal operators $[i,j]$. Typically, an allowed operator is generated very
quickly, since the interactions favor the allowed spin alignment. Note that
the constants $[i,i]$ are always allowed (for $h >0$), so there is no risk
of the search never terminating.
The off-diagonal update (\ref{upd2}) can be efficiently carried out if
$S_L$ is first partitioned into separate subsequences for each site $i$.
Subsequence $i$ contains only spin-flipping operators $[i,0]$ and constants
$[i,i]$. Their positions in $S_L$ are also stored, to be used for recombining
the subsequences after the update. The constraints on modifications at site
$i$ imposed by Ising operators $[i,j]$ or $[j,i]$ (for any $j$) can be stored
as flags indicating the presence of one or several of these operators between
neighboring subsequence operators. Updating a subsequence amounts to
selecting two non-constrained neighboring operators at random from the
subsequence, and carrying out the substitution (\ref{upd2}) if the two
operators are identical. If they are different, they can be permuted. A
number proportional to the subsequence length of such pair updates are
carried out for each subsequence, after which they are recombined
into a new $S_L$.
The diagonal update (\ref{upd1}) at all positions in $S_L$ require
$\sim L \ln{(N)} \sim \beta N\ln{(N)}I_N(J)$ operations, where the factor
$\ln{(N)}$ is the scaling of the average number of operations needed to
search the cumulative probability table(s) in the case of long-range
interactions. Partitioning $S_L$ into subsequences and updating all of them
according to (\ref{upd2}) requires on the order of $L$ operations. Hence,
the number of operations for a full updating cycle of the degrees of freedom
of the system (one Monte Carlo step) scales as $\beta N\ln{(N)}I_N(J)$. This
should be compared to the $\beta N^2$ scaling in worldline methods
\cite{worldline,rieger}, where one power of $N$ is due to the summation
required to calculate the weight change when flipping a spin interacting
with $N$ other spins. Here this summation has been circumvented by writing
the interactions in the SSE formalism as fluctuating constraints that are
purely local.
\subsection{Classical cluster update}
In the Swendsen-Wang cluster algorithm \cite{swendsen} for the classical Ising
model, i.e., with $h=0$ and a uniform nearest-neighbor interaction of strength
$J$, auxiliary bond variables $b_{ij}$ are introduced in order to construct
clusters of spins that can be flipped independently of each other. Given a
spin configuration, and with initially all bond variables $b_{ij}=0$, for
every interacting spin pair for which $\sigma_i \sigma_j = -J/|J|$
(i.e., the orientation energetically favored) the bond variable is set,
$b_{ij}=1$, with probability $P=1-{\rm e}^{-2|J|\beta}$. When all bonds
have been visited, clusters of spins connected by $b_{ij}=1$ bonds are formed,
and each of these clusters is flipped with probability $1/2$. Single
spins not connected to any $b_{ij}=1$ bond are single-spin clusters. After
the clusters have been flipped, all the bond variables are again set to zero
and the process is repeated. This scheme can in fact be constructed using
the SSE formalism, as an alternative to the Fortuin-Kastelin mapping
\cite{ft}, on which the Swendsen-Wang algorithm is based.
The relation to the Swendsen-Wang algorithm is shown as follows, by applying
the SSE method to the classical Ising model, now again considering a general
form of the interaction $J_{ij}$ and with the bond-operator $H_{ij}= |J_{ij}|
- J_{ij}\sigma^z_i\sigma^z_j$ as in Eq.~(\ref{hd}). Since all operators
$H_{ij}$ commute, the operator ${\rm e}^{-\beta H}$ can be written as a
product of operators ${\rm e}^{\beta H_{ij}}=1 + \beta H_{ij} + \ldots$. The
uniqueness of the power-series expansion then implies that in the SSE, where
${\rm e}^{-\beta H}$ is expanded directly, the probability of having one or
more operators $H_{ij}$ on a bond $i,j$ when $\sigma_i \sigma_j =
-J_{ij}/|J_{ij}|$ is $1-{\rm e}^{-2|J_{ij}|\beta}$, i.e., exactly the
probability of having the bond variable $b_{ij}=1$ in the Swendsen-Wang
scheme. In a configuration $\sigma_i \sigma_j = J_{ij}/|J_{ij}|$ there can
be no operators on the bond in the SSE, and the Swendsen-Wang $b_{ij}=1$
probability is also zero per construction. One can hence make the connection
that one or more operators acting on a spin pair in the SSE scheme corresponds
to a filled bond ($b_{ij}=1$) in the Swendsen-Wang algorithm. The definition
of a cluster is then exactly the same in the two algorithms. Clearly, such
a cluster in the SSE can also always be flipped, since the Ising operators
only impose constraints on the relative orientations of connected spins,
which is maintained when the cluster is flipped.
Since the weight does not change, the
flip should be done with probability $1/2$. The scheme is hence identical
to the Swendsen-Wang algorithm, except that the filled bonds $b_{ij}=1$
in SSE are generated in a different way, using the diagonal update
(\ref{upd1}). Note that for a classical model, all the propagated SSE states
(\ref{propagated}) are identical, i.e., $\sigma^z_i(p) = \sigma^z_i(0)$ for
all $p=0,\ldots,L-1$, and hence no state propagations have to be considered
as the diagonal update is carried out.
It is interesting to note that the SSE scheme for the classical Ising model
should in fact be more efficient than the standard Swendsen-Wang algorithm
at high temperatures. This is because the number of operators in the SSE
operator list scales as $E(T)/T$, where $E(T)$ is the total energy at
temperature $T$ ($E \sim N$) and for large $T$ the construction of the
clusters based on the operator list should then be faster than visiting
all the bonds, as is done in the Swendesn-Wang algorithm.
However, in practice the
interesting physics occurs when the number of SSE operators per interacting
spin pair is of the order of one or larger, and then there are no advantages
of the SSE classical cluster algorithm relative to Swendesen-Wang.
The classical SSE cluster update can also be used in the presence of the
transverse field ($h > 0$). The clusters are defined in terms of bonds
signifying the presence of one or more Ising operator, as above, without
regard for the single-spin flipping operators $H_{i,0}$ and constants
$H_{i,i}$. These operators can be neglected because when a cluster is flipped,
all spins $\sigma^z_i$ belonging to the cluster are implicitly flipped in all
propagated states (\ref{propagated}), i.e., $\sigma^z_i(p)$ $\to$
$-\sigma^z_i(p)$ for all $p=0,\ldots,L-1$ (this is the reason for the
term ``classical cluster'' even when $h > 0$) and hence all operations with
the single-spin operators remain valid and produce the same factors in the
weight before and after the cluster flips. Note again that only the first
state, i.e., $\sigma^z_i(0)$, $i=1,\ldots,N$, has to be stored when
constructing the classical clusters.
\begin{figure}
\includegraphics[width=5cm]{fig2.eps}
\caption{Upper panel: Interaction bonds in a configuration for a 2D system
with long-range interactions. Lower panel: The clusters constructed from
the bonds. Sites with equal symbols belong to the same cluster.
Dots indicate spins not acted on by any Ising operator and
constitute single-spin clusters.}
\label{c_cluster}
\end{figure}
In the case of long-range interactions, a cluster can consist of several
intertwined pieces on the lattice, as illustrated for a two-dimensional case
in Fig.~\ref{c_cluster}. Regardless of the range of the interaction,
the construction of the clusters,
given an SSE operator list, can be easily carried out using a number of
operations scaling as the number of operators in the list.
Since the classical SSE cluster update is equivalent to the Swendsen-Wang
algorithm in the classical limit and only takes the Ising terms into account
also in the quantum case, it cannot be expected to be efficient much beyond
the classical limit $h=0$. For a non-random system that undergoes a phase
transition at $T_c(0)$ when $h=0$, the critical temperature is reduced by
the transverse field; $T_c(h) < T_c(0)$. Hence, the classical clusters will
percolate for $T > T_c$ and this update will not be efficient close to $T_c$.
The primary reason to introduce the classical cluster update here was to
demonstrate the relationship between SSE and the Swendsen-Wang algorithm.
In the case of long-range interactions, the scheme becomes very similar
to the Luijten-Bl\"ote algorithm \cite{luijten}, again just differing in
the way the bonds are generated.
\subsection{Quantum-cluster update}
The purpose of the quantum-cluster update is to effect flips of spins
$\sigma^z_i(p)$ only in a limited number of propagated states $p$, in
different states for different sites $i$. In other words, these clusters
will be finite and irregularly-shaped both in the space and SSE propagation
(imaginary time) direction. In the process, operator substitutions $H_{i,i}
\leftrightarrow H_{i,0}$ (constant to spin-flip, and vice versa) will also
be accomplished. This update hence replaces the local off-diagonal update
(\ref{upd2}).
To discuss the quantum-cluster update,
it is useful to introduce the notion of {\it vertices}
\cite{sseloop1,sseloop2}.
Looking at the graphical representation of a configuration
in Fig.~\ref{conf}, it can be noted that the vertical ``lines'' of same spins
between two operators acting on a given site constitute redundant information.
The full configuration can be represented by a list of positions (on the
lattice) of the operators, and the spin states (on one or two sites for the
model considered here) before and after the operators act. These relevant
spins are called {\it legs} of the 2-spin vertices (corresponding to constant
and spin-flip operators) or 4-spin vertices (corresponding to Ising
bond-operators). All possible vertices for the transverse Ising model are
shown in Fig.~\ref{vertices}. Note that only those Ising vertices that are
compatible with the sign of the interaction between a given pair of spins
are allowed for those spins; again, this is due to the choice of constant
in the bond-operator (\ref{hd}). In the computer, the vertices are linked
to each other by pointers, so that from a given vertex-leg one can reach the
next or previous vertex that has a leg on the same site (i.e., there are
links that replace the segments of vertical lines of same spins in
Fig.~\ref{conf}). A detailed discussion of the practical implementation of
a linked vertex list has been given in Ref.~\onlinecite{sseloop2}.
To construct and flip a quantum-cluster, one of the legs of one of
the $n$ vertices
is picked at random, and the corresponding spin is flipped. Depending on the
type of the vertex, different actions are taken, examples of which are given
in Fig.~\ref{q_cluster}. The arrow pointing into the vertex indicates the
{\it entrance leg}. In the case of an Ising vertex, all the four spins are
flipped and the cluster building process branches out from all the legs,
as indicated by the arrows pointing out from the vertex. Using the pointers
of the linked vertex list, the arrows point to legs of other vertices; these
become new entrance legs which are put on a stack and subsequently processed
one-by one. If the entrance leg is on a constant or spin-flip vertex,
only the entrance spin is flipped. The
vertex type then also changes, in terms of operators from $H_{i,0}$ to
$H_{i,i}$, and vice versa. In these cases there is no branching-out and no
new legs are put on the stack, i.e., this particular branch of the cluster
terminates. If a link points to a spin that has already been flipped (i.e.,
two arrows point toward each other), that leg should not be used
again as an entrance and is hence not put on
the stack. Therefore, each vertex-leg can be visited at most once (each spin
can be flipped at most once) and the cluster is completed when there are no
more entrance-legs on the stack. The reason that the cluster can always be
flipped is again that the SSE weight is not affected; the matrix element of
the Ising bond-operator is not affected when both spins are flipped (in the
absence of an external field in the $z$-direction, which would necessitate
a modified approach), and the matrix elements for the constant and spin-flip
operators are both equal to $h$.
\begin{figure}
\includegraphics[width=4.7cm]{fig3.eps}
\caption{All the possible 4-leg and 2-leg vertices. (a) Ferromagnetic
Ising vertices, (b) antiferromagnetic Ising vertices, (d) constant
vertices, and (d) spin-flip vertices.}
\label{vertices}
\end{figure}
\begin{figure}
\includegraphics[width=6.2cm]{fig4.eps}
\caption{Examples of vertex processes: (a) reversal of a ferromagnetic Ising
vertex, (b) constant to spin-flip, and (c) spin-flip to constant.}
\label{q_cluster}
\end{figure}
The construction of a single cluster, which is flipped with probability one,
is a quantum-mechanical analogue of the classical Wolff algorithm
\cite{wolff}; in the absence of the transverse field the clusters are
identical to those of the Wolff algorithm. Note, however, that there is a
difference when constructing more than one cluster: The number of operators
in the SSE operator list, and their positions on the lattice, do not change
in the quantum-cluster update. The clusters are therefore completely
deterministic once the operator list is given. Hence, when constructing
several clusters using the same SSE operator list,
it is quite likely that the same cluster is constructed and flipped multiple
times. This is clearly not efficient. However, one can also construct all
clusters, as in the Swendsen-Wang scheme, and only flip them with probability
$1/2$. This is done by always starting a new cluster from a vertex-leg which
has not yet been visited. Every vertex-leg belongs uniquely to one cluster,
and clearly the number of operations required to complete this updates
then scales as $L$, i.e., typically as $\beta N$.
A natural definition of a Monte Carlo step including the quantum-cluster
update is a full sweep of diagonal updates, followed by the construction of
the linked list of vertices, in which all clusters are constructed and flipped
with probability $1/2$. After that, the updated vertex list is mapped back
into a state $|\alpha (0)\rangle$ and an operator sequence $S_L$. Free
spins, i.e., those that are not acted on by any operators, can again be
considered as single-spin clusters and should also be flipped with probability
$1/2$. No local off-diagonal updates (\ref{upd2}) are needed.
Since the quantum-cluster update explicitly includes the quantum mechanical
features of the configurations (i.e., the presence of spin-flip operators),
it can be expected to work well also close to a quantum phase transition
($T_c=0$) driven by varying $h$.
\section{1D INVERSE-SQUARE FERROMAGNET}
As a non-trivial demonstration of the method, a ferromagnetic chain with
interactions decaying as $1/r^2$ is considered next. The interaction is summed
over all $i,j$ in (\ref{hamiltonian}), i.e., each pair is counted twice.
Periodic boundary conditions are used. $J_{ij}$ includes both distances
in the periodic system, i.e.,
\begin{equation}
J_{ij} = J_{ji} = {J\over 2} \left
({1\over |i-j|^{2}} + {1 \over (N-|i-j|)^{2}} \right ),
\end{equation}
where $J$ sets the over-all energy scale.
The classical $1/r^2$ Ising chain has been the subject
of numerous studies \cite{anderson,kosterlitz,glumac,cannas,luijten2}.
The long-range interaction allows for a finite-$T$ phase transition even in
one dimension. The transition is of an unusual kind, with the correlation
length exponent $\nu = \infty$, and a discontinuous jump in the magnetization
at $T_c$. It can be thought of as a one-dimensional analogue of the
Kosterlitz-Thouless transition, with the topological excitations being kink
solitons \cite{kosterlitz}. The model is also important because it can be
mapped onto the Kondo problem \cite{anderson}.
For small $h/J$, one can expect a behavior similar to the classical case,
i.e., a finite-$T$ phase transition to a ferromagnetic state. For $h \to
\infty$ the system becomes disordered, and there should therefore be a
finite $h_{\rm c}$ for which the system undergoes a quantum phase transition
(i.e., $T_{\rm c}=0$). For $h < h_c$, $T_c > 0$ and one can expect the same
universality class as in the classical case, since the quantum fluctuations
become irrelevant at $T_{\rm c}$. Here only a single field-strength
$h/J = 0.5$ is considered. The simulations show that $T_{\rm c} > 0$ in
this case.
The model is invariant with respect to flipping all spins, which means
that for any finite system the average magnetization vanishes. The squared
magnetization,
\begin{equation}
M^2 = \left \langle \left (
{1\over N} \sum_{i} \sigma^z_i
\right )^2 \right \rangle ,
\end{equation}
is therefore calculated. Results for $M^2$ with statistical errors in the
fifth decimal place can easily be obtained for systems with several hundred
spins (and there are no problems in going to considerably larger systems).
For small systems the results are in perfect agreement with exact
diagonalization data.
A ``tempering'' scheme, where $\beta$ is considered as an additional
discretized dimension of the configuration space \cite{tempering}, was also
implemented in the simulations. Transitions satisfying detailed balance are
carried out between neighboring $\beta$ values. This way, results can be
obtained on a dense temperature grid with much less effort than by several
fixed-$\beta$ simulations. A temperature spacing $\Delta T/J = 0.01-0.02$ was
used.
\begin{figure}
\includegraphics[width=7cm]{fig5.eps}
\caption{(a) Magnetization squared vs temperature for system sizes
$N=16$ (dotted curve), $32,64$,$128$,$256$ and $512$ (solid curves). The
statistical errors are smaller then the width of the curves. (b) The same
quantity on a more detailed scale in the intersection region.
The points with barely visible error bars are the simulation results. The
curves are third-order polynomial fits.}
\label{mag}
\end{figure}
Figure \ref{mag}(a) shows results for systems with $N$ up to $512$. At high
temperatures, $M^2$ decreases with increasing $N$, as expected, and there is
a slight increase with $N$ at low $T$. The curves intersect at
$T/J \approx 1.4$. A discontinuous magnetization jump at $T_c$ in the
thermodynamic limit implies that $M^2$ should become size independent at
$T_{\rm c}$ for sufficiently large $N$. A notable difference between the
finite-size behavior of $M(T)$ seen in Fig.~\ref{mag} and the magnetization
curves for the classical system is that in the latter case the curves do not
intersect, but the infinite-size value $M(T_c)$ is approached with a
logarithmic correction \cite{luijten2}. The reason for the different form
of the finite-size scaling for $h>0$ should be clarified.
Figure \ref{mag}(b)
shows in more detail the behavior in the region where the curves intersect.
The point of intersection moves slowly towards higher $T$ as $N$ increases,
and larger $N$ would be needed to extract $T_c$ accurately. Based on the data
presented here $T_{\rm c}/J = 1.42 \pm 0.01$. This can be compared with
$T_{\rm c} (h=0) \approx 1.53J$ for the classical model \cite{luijten2}. A
reduction of $T_{\rm c}$ is expected on account of quantum fluctuations for
$h > 0$. The quite small reduction for $h/J = 0.5$ is consistent with the
$T \to 0$ magnetization being only slightly reduced from the classical value
$M(0)=1$. It would clearly also be interesting to study the quantum phase
transition, but that problem is beyond the scope of this paper.
The high accuracy of these simulations demonstrate that the algorithm indeed
is very efficient. The computer resources used for this work were quite
modest; on the order of $200$ CPU hours on an SGI Origin2000. The scaling of
the CPU time is close to linear in $N$ for the $1/r^2$ interaction, for which
the interaction sum (\ref{in}) converges rapidly. Only the local updates
discussed in Sec.~II~B were used in these simulations. The cluster updates
have been tested as well and improve the performance . The quantum-cluster
update should be particularly useful for studying the quantum phase
transition, where there will be a broad distribution of the sizes of the
clusters constructed in this update.
\section{DISCUSSION}
A new approach to long-range interacting quantum models has here been
developed within the framework of transverse Ising models. It is important
to note that the technique can also be generalized to other types of systems,
with the usual caveat of sign problems \cite{ssesign}. What is particular
about the Ising interaction is that it can be written so that a spin-spin
term either gives zero or a constant when acting on an arbitrary basis
state. This is what is needed in order to reduce the interactions to local
constraints in the SSE formalism. However, the algorithm can easily be
modified to cases where the diagonal interaction can take several non-zero
values. The first modification is in the diagonal update. For the Ising model,
the probability of selecting a given bond (\ref{hd}) is given by a matrix
element corresponding to the spin pair being in a configuration energetically
favored by the interaction. If the spins are in a non-favored configuration
(correspinding here to a vanishing matrix element)
the update is simply rejected. In the general case, the probability to
use in this update should correspond to the largest diagonal
matrix element on a given bond, and if the actual configuration
corresponds to a smaller matrix element the update should be accepted
only with a probability reflecting this smaller value (i.e., the ratio between
the actual value and the largest matrix element). The quantum-cluster update
can be modified by using ideas developed within the ``directed-loop''
algorithm \cite{sseloop2}. For example, there could be $4$-particle vertex
processes where the whole vertex is not necessarily reversed as in
Fig.~\ref{q_cluster}(a). The process could instead
either go straight through the
vertex (modifying the vertex only at the entrance and exit legs) or
``bounce'' back without modifying the vertex at all. The details of how
this is done in practice will of
course depend on the types of diagonal and off-diagonal terms in the
Hamiltonian. The main point to note is that in the SSE approach all the
information needed to update the vertices is contained in the vertices
themselves, which are always local and can be generated in the diagonal
update based purely on local decisions.
The transverse Ising simulation algorithm has here been tested on a
one-dimensional model with long-range interactions decaying as $1/r^2$. The
program requires almost no modifications for higher-dimensional systems,
and random interactions are also very easy to implement. Future studies will
have to address how well the method works in practice for a variety of systems
that are more challenging because of frustrated interactions, long-range
frustrated interactions, or even randomly frustrated long-range interactions.
For short-range interactions, it would also be interesting to see how the
SSE quantum-cluster method constructed here compares to the
transverse Ising cluster method previously developed for continuous-time
worldline simulations \cite{rieger}.
\acknowledgments{
I would like to thank Patrik Henelius for numerous discussions. This work was
supported by the Academy of Finland (project 26175).
}
\begin{thebibliography}{00}
\bibitem{luijten}
E. Luijten and H. W. J. Bl\"ote, Int. J. Mod. Phys. C {\bf 6}, 359 (1995).
\bibitem{annealing}
S. Kirkpatrick, S. Gelatt, and M. P. Vecchi, Science {\bf 220}, 671 (1983);
S. Kirkpatrick, J. Stat. Phys. {\bf 34}, 975 (1984).
\bibitem{qann}
A. B. Finnila, M. A. Gomez, C. Sebenik, C. Stenson and J. D. Doll,
Chem. Phys. Lett. {\bf 219}, 343 (1994); T. Kadowaki and H. Nishimori,
Phys. Rev. E {\bf 58}, 5355 (1998).
\bibitem{santoro}
G. E. Santoro, R. Martonak, E. Tosatti, and R. Car,
Science {\bf 295}, 2427 (2002).
\bibitem{sachdev}
S. Sachdev and A. P. Young, Phys. Rev. Lett. {\bf 78}, 2220 (1997);
S. Sachdev, Nucl. Phys. B {\bf 464}, 576 (1996).
\bibitem{guo}
M. Guo, R. N. Bhatt, D. A. Huse, Phys. Rev. Lett. {\bf 72}, 4137 (1994);
H. Rieger and A. P. Young, Phys. Rev. Lett. {\bf 72}, 4141 (1994);
C. Pich and A. P. Young, H. Rieger and N. Kawashima, Phys. Rev. Lett.
{\bf 81}, 5916 (1998).
\bibitem{rieger}
H. Rieger and N. Kawashima, Europ. Phys. J. B {\bf 9}, 233 (1999)
\bibitem{rozenberg}
M. J. Rozenberg and D. R. Grempel, Phys. Rev. Lett. {\bf 81}, 2550 (1998).
\bibitem{lihof}
W. Wu, D. Bitko, T. F. Rosenbaum, and G. Aeppli, Phys. Rev. Lett.
{\bf 71}, 1919 (1993); D. Bitko, T. F. Rosenbaum, and G. Aeppli,
Phys. Rev. Lett. {\bf 77}, 940 (1996).
\bibitem{sse}
A. W. Sandvik and J. Kurkij\"arvi, Phys. Rev. B {\bf 43}, 5950 (1991);
A. W. Sandvik, J. Phys. A {\bf 25}, 3667 (1992); A. W. Sandvik, Phys. Rev.
B {\bf 56}, 11678 (1997).
\bibitem{swendsen}
R. H. Swendsen and J. S. Wang, Phys. Rev. Lett. {\bf 58}, 86 (1987).
\bibitem{rnote}
Schemes for treating long-range interactions have also previously been
investigated within Handscomb's method: I. V. Rozhdestvensky, and I. A.
Favorsky, Molecular Simulation {\bf 9}, 213 (1992); O. N. Vassiliev, I. V.
Rojdestvenski, and M. G. Cottam, Physica A {\bf 294}
139 (2001).
\bibitem{anderson}
P. W. Anderson and G. Yuval, J. Phys. C {\bf 4}, 607 (1971).
\bibitem{kosterlitz}
J. M. Kosterlitz, Phys. Rev. Lett. {\bf 37}, 1577 (1976).
\bibitem{glumac}
Z. Glumac and K. Uzelac, J. Phys. A {\bf 22}, 4439 (1989).
\bibitem{cannas}
S. A. Cannas, Phys. Rev. B {\bf 52}, 3034 (1995).
\bibitem{luijten2}
E. Luijten and H. Me{\ss}ingfeld, Phys. Rev. Lett. {\bf 86}, 5305 (2001).
\bibitem{worldline}
M. Suzuki, S. Miyashita, and A. Kuroda, Prog. Theor. Phys.
{\bf 58}, 1377 (1977); J. E. Hirsch, R. L. Sugar, D. J. Scalapino and
R. Blankenbecler, Phys. Rev. B {\bf 26}, 5033 (1982).
\bibitem{handscomb}
D. C. Handscomb, Proc. Cambridge Philos. Soc. {\bf 58}, 594 (1962);
{\bf 60}, 115 (1964).
\bibitem{hgen}
J. W. Lyklema, Phys. Rev. Lett. {\bf 49}, 88 (1982); D. H. Lee, J. D.
Joannopoulos, and J. W. Negele, Phys. Rev. B {\bf 30}, 1599 (1984);
S. Chakravarty and D. B. Stein, Phys. Rev. Lett. {\bf 49}, 582 (1982).
\bibitem{evertz}
H. G. Evertz, Adv. Phys. {\bf 52} 1 (2003).
\bibitem{sseloop1}
A. W. Sandvik, Phys. Rev. B {\bf 59}, R14157 (1999).
\bibitem{sseloop2}
O. F. Sylju{\aa}sen and A. W. Sandvik, Phys. Rev. E {\bf 66}, 046701 (2002).
\bibitem{ssesign}
P. Henelius and A. W. Sandvik, Phys. Rev. B {\bf 62}, 1102 (2000).
\bibitem{irsse}
A. W. Sandvik, R. R. P. Singh, and D. K. Campbell,
Phys. Rev. B {\bf 56}, 14510 (1997).
\bibitem{ft}
P. W. Kasteleyn and C. M. Fortuin, J. Phys. Soc. Jpn. Suppl. {\bf 26}, 11
(1969); C. M. Fortuin and P. W. Kasteleyn, Physica {\bf 57}, 536 (1972).
\bibitem{wolff}
U. Wolff, Phys. Rev. Lett. {\bf 62}, 361 (1989).
\bibitem{tempering}
E. Marinari and G. Parisi, Europhys. Lett. {\bf 19}, 451 (1992).
\end{thebibliography}
\end{document}