Monte Carlo Methods
for Quantum Spin Models
Stefan Wessel
Institute for Theoretical Solid State Physics
JARA-FIT and JARA-HPC
RWTH Aachen University
1
Outline
Overview
Review: classical Monte Carlo
World-line quantum Monte Carlo
Local and cluster updates (the loop algorithm)
Continuous-time formulation
Stochastic series expansion
Worms and directed loops
The sign problem
2
What can modern QMC algorithms do?
• Local updates (before 1994)
– 200 spins
– T/J=0.1
• Cluster algorithms (after 1995)
– 2D quantum phase transition: 20’000 spins at T/J=0.005
– 2D square lattice: 1’000’000 spins at T/J=0.2
• Extended ensemble methods (quantum Wang-Landau, parallel tempering)
– Allow efficient simulations at 1st order (quantum) phase transitions
– Determination of the free energy of a quantum system
• These algorithms allow
– Accurate simulation of phase transitions in quantum systems
– Quantitative modeling of many quantum magnets and bosonic systems
3
Example: quantum phase transition
• Bilayer antiferromagnet
H = J ∑ ∑ Si , p ⋅ S j , p + J ⊥ ∑ Si ,1 ⋅ Si , 2
2
p =1 <i , j >
J << J⊥: spin gap, no long range order"
i
J >> J⊥ : long range order"
Quantum phase transition at J⊥ / J ≈ 2.522(2)"
Spin gap vanishes"
Magnetic order vanishes"
Universal properties"
4
Example: critical exponents
• 2D quantum phase transition in a quantum Heisenberg antiferromagnet
• Simulations of 20 000 spins at low temperatures
Magnetization
Spin stif fnes
Troyer, Imada and Ueda (1997)
0.1
Model
QMC results
no assumption
β
0.345 ±
0.025
3D classical
Heisenberg
0.3689 ± 0.7112 ±
0.0003 0.0005
0.0375 ±
0.0005
Mean field
1/2
0
•
•
•
•
ν
0.685 ±
0.035
1
η
0.015 ±
0.020
z
1.018 ±
0.02
β = 0.345 ± 0.021
zν = 0.695 ± 0.032
0.01
0.01
δ =(J0/J1)-((J0/J1)c
0.1
Wang, Beach Sandvik (2006): refined data analysis: 𝜈=0.7106(9)
More recent simulations with up to 1 million spins (Wessel et al., 2011).
Consistent with classical 3D Heisenberg model exponents
Can do quantum simulations with the same accuracy as classical
Review: classical Monte Carlo simulations
• Want to calculate a thermal average
A = ∑ Ac e− βEc / Z with Z = ∑ e− βEc
c
c
• Exponentially large number of configurations
⇒ draw a representative statistical sample by importance sampling
– Pick M configurations ci with probability pci = e
– Calculate statistical average
− βE ci
/Z
1 M
A ≈ A = ∑ Aci
M i=1
€
– Within a statistical error
€
• Problem: we cannot calculate
ΔA = (1 + 2τ A )
pc i = e
− βE ci
Var A
M
/Z
since we do not know Z
Review: Markov chains and Metropolis
• Metropolis algorithm builds a Markov chain
c1 → c 2 → ... → c i → c i+1 → ...
• Transition probabilities Wx,y for transition x → y need to fulfill
€
– Ergodicity:
any configuration reachable from any other
∀x, y ∃n : (W n )x,y ≠ 0
– Detailed balance:
W x,y py
=
W y,x px
€
• Simple algorithm due to Metropolis et al (1953):
€
W x,y = min[1, py px ]
• Needs only relative probabilities (energy differences)
py px = e
− β (E y −E x )
Metropolis Algorithm: 60th birthday
• General formulation of the method
• Application: 2D hard-spheres
Single spin-flip Metropolis algorithm
• Here is the algorithm:
– Start with a random configuration c
– Repeat the following many times:
ΔE=-4J"
E=3J-J=2J"
Randomly pick a spin
Propose to flip that single spin, leading to a new configurations c'
Calculate the energy difference ΔE=E[c']-E[c]
If ΔE<0, the next configuration is c'
If ΔE>0, accept c' with a probability exp(-βΔE), otherwise keep c
• Measure all quantities of interest
•
•
•
•
E’=J-3J=-2J"
• This algorithm is ergodic
• It fulfills detailed balance
• Before taking measurements, need to equilibrate (thermalization)
Quantum Monte Carlo
•
Not as “easy” as classical Monte Carlo
Z = Tr e− βH = ∑ e− βEc
c
•
Calculating the energy eigenvalue Ec is equivalent to solving the problem
•
Employ a mapping of the quantum partition function
to an effective classical statistics problem
•
Z = Tr e− βH ≡ ∑ pc
Different approaches
–
–
–
–
c
World-lines via Trotter-Suzuki formula
Path integrals (time-dependent perturbation theory in imaginary time)
Stochastic Series Expansion (high temperature expansion)
...
€
•
Sign problem if some pc < 0 (thus try to avoid this)
•
Then, need efficient updates for the effective classical problem
Hamiltonian of spin-1/2 models
• Example: two sites
– Anisotropic exchange interactions Jxy , Jz
– Magnetic field h
(
− h(S
)
+S )
H XXZ = J xy ( S1x S 2x + S1y S 2y ) + J z S1z S 2z − h S1z + S 2z
=
J xy
2
( S1+ S 2− + S1− S 2+ ) + J z S1z S 2z
z
1
– Heisenberg model: Jxy = Jz = J
rr
H = JS1S2 − h(S1z + S2z )
• Hamiltonian matrix in 2-site basis
€
{ ↑↑
, ↑↓ , ↓↑ , ↓↓
}
H XXZ
z
2
⎛ J z
0
⎜ + h
4
⎜
J
⎜ 0
− z
⎜
4
= ⎜
J xy
⎜ 0
2
⎜
⎜ 0
0
⎜
⎝
0
J xy
2
J
− z
4
0
⎞
⎟
⎟
0 ⎟
⎟
⎟
0 ⎟
⎟
Jz
− h ⎟⎟
4
⎠
0
The world-line approach
• Representation based on mapping a quantum spin-1/2 system
onto a classical Ising-like model
The Trotter-Suzuki decomposition
• Generic mapping of a quantum spin system onto a classical model
• Split Hamiltonian into two easily diagonalizable pieces
H = H1 + H 2
e
-εH
=e
H
-ε ( H 1 + H 2 )
=e
-εH 1 -εH 2
e
2
+ O (ε )
H1
H(1)"
H(2)" H(3)"
H(4)"
=
+
• Obtain a decomposition of the partition function
H2
Z = Tr e − βH = Tr e − β ( H1 + H 2 ) = lim Tr[(e − Δτ ( H1 + H 2 ) ) M ] (Δτ = β / M )
M →∞
2
= Tr[(e − ΔτH1 e − ΔτH 2 ) M ] + O(Δτ )
- Insert sets of complete basis states between operators"
=
∑
i1 ,...,i2 M
i1 e − ΔτH1 i2 M i2 M e − ΔτH 2 i2 M −1 ⋅ ⋅ ⋅ i3 e − ΔτH1 i2 i2 e − ΔτH 2 i1
Example: Spin-1/2 Heisenberg model
Quantum problem in d dimensions maps onto a classical problem in d+1 !
- Expand the states
iα in the Sz eigenbasis"
- Effective Ising-model in d+1 dimensions with 2- and 4-sites interaction terms"
Z=
∑i
1
e − ΔτH1 i2 M i2 M e − ΔτH 2 i2 M −1 ⋅ ⋅ ⋅ i3 e − ΔτH1 i2 i2 e − ΔτH 2 i1
i1 ,...,i2 M
- Each of the"
matrix elements "
"
i j +1 e
− ΔτH1, 2
ij
corresponds to a"
row of shaded "
plaquettes and "
contribution to Z "
equals the product "
over those plaquettes"
The weights for the Heisenberg model
•
The partition function becomes a sum of products of plaquette weights
Z = ∑ W (C ) =∑
C
•
•
∏
w(C p )
C plaquettes p
Conservation of magnetization on each bond
The only allowed plaquette-configurations are:
e ΔτJ / 4 cosh(ΔτJ / 2) e ΔτJ / 4 sinh(−ΔτJ / 2)
•
Ferromagnetic (J<0)
– All weights are positive
•
Antiferromagnetic on a bipartite lattice
– trace requires an even number of spin-flip terms, so that overall sign vanish, and can be ignored
•
Frustrated antiferromagnet:
– we have a sign problem (see later)
World-lines
•
Each valid configuration is represented by continuous world-lines
W (C ) =
∏
plaquettes p
•
Sampling over all (important) world-line configurations
– According to the above weight
– Try to generate a new configurations from a given one
w(C p )
Local updates
• Move the world-lines locally using Metropolis
Acceptance probabilities given by the resulting plaquette weights
• Example moves:
– Insert or remove two “kinks”
– Shift a single “kink”
Beyond local updates
• Problems with local updates:
– Restricted to canonical ensemble
– No change of magnetization (particle number), winding number
– Critical slowing down near phase transitions
• Solution for classical Monte Carlo: cluster algorithms
– R. H. Swendsen and J. S. Wang PRL (1987)
– U. Wolff, PRL (1989)
• Try the same for the quantum case
– Loop algorithm by H.G. Evertz, G. Lana and M. Marcu, PRL (1993)
– Worm algorithm, operator loops, directed loops, ...
Cluster-updates in classical Monte Carlo
• Ask for each spin: “do we want to flip it against a neighbor?”
– antiparallel: yes
– parallel: costs energy
exp(−2βJ)
• Accept with P = P = 1− exp(−2βJ)
• Otherwise: also flip neighbor!
• Repeat for all flipped spins => cluster updates
€
€
• No more severe critical slowing down!
Cluster algorithms: Formal description
Extend the phase space (Kandel-Domany framework)
– From configurations C to configurations + graphs (C,G)
Z = ∑W (C) = ∑∑W (C,G) with W (C) = ∑W (C,G)
C
C
G
Ising model:"
C: spins"
G: clusters"
G
Choose graph weights independent of configuration
€
⎧1 graph G allowed for C
W (C,G) = Δ(C,G)V (G) where Δ(C,G) = ⎨
⎩0 otherwise
2. Discard configuration
Perform updates"
€
Ci
1. Pick a graph G
→
(Ci ,G)
P[G] =
V (G)
W (C)
€
Detailed balance€ is then assured"
→
G
→
4. Discard graph
(Ci +1,G)
→
Ci +1
3. Pick any allowed new configuration
Cluster algorithms: The Ising model
•
•
We need to find Δ(C,G) and V(G) that fulfill
– Do this on the local (bond) level
Δ(C,G)
o-o"
↑↑, ↓↓"
1"
↑↓, ↓↑"
V(G)"
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
G
o o"
W(C)"
1"
e+βJ"
0"
1"
e–βJ"
e+βJ -e–βJ
e–βJ
€
Ci → (Ci , G ) → G
This means for:
– Parallel spins: pick connected graph o-o with
– Antiparallel spins: always pick open graph o o
•
G
G → (C , G ) → C
e + βJ − e − βJ
− 2 βJ
P( o-o ) =
=
1
−
e
e + βJ
i +1
i +1
And for:
– Configuration must be allowed ⇒ connected spins must be parallel
⇒ connected spins flipped as one cluster
The loop algorithm
• Classical Swendsen-Wang cluster algorithm for the Ising model
– two choices on each bond: connected or disconnected
– all connected spins are flipped together
• Loop algorithm is a generalization to quantum systems
– world lines must not be broken
– always 2 or 4 spins on a plaquette must be flipped together
– four different connection types (local graphs)
Local graphs - Heisenberg limit
H Heisenberg
= J ∑ Si ⋅ S j
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
i, j
G
G
W(C)"
Δ(C,G)
€
V(G)"
1"
1"
1+ (J/4) Δτ
1"
0"
1-(J/4) Δτ
0"
1"
(J/2) Δτ
1-(J/4) Δτ
(J/2) Δτ
• Here, we give the expression in the small Δτ/J limit, relevant for later discussion
• Connected spins form a cluster and have to be flipped together
Global loop update
Example of a single loop flip
1. Choose breakups on each plaquette"
2. Pick a loop"
3. Flip spins along this loop "
Time!
1
2
3
4
1
Space!
Easy plane antiferromagnet
H XXZ =
J xz
2
∑ (S
+
i
S −j + Si− S +j ) + J z ∑ Siz S zj
i, j
i, j
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
G
with 0 ≤ J z ≤ J xy
G
W(C)"
Δ(C,G)
€
V(G)"
1"
1"
0"
1+ (Jz/4) Δτ
1"
0"
0"
1-(Jz/4) Δτ
0"
1"
1"
(Jxy/2) Δτ
1-(Jz/4)Δτ
(Jz/2) Δτ
(Jxy- Jz)/2 Δτ
• Connected spins form a cluster and have to be flipped together
Ising-like ferromagnet
H XXZ = −
Jxz
2
∑(S S
+
i
−
j
+ Si− S +j ) − Jz ∑ Siz S zj
i, j
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
G
i, j
G
with 0 ≤ Jxy ≤ Jz
€
Δ(C,G)
V(G)"
W(C)"
1"
0"
0"
1- (Jz/4) Δτ 1"
1"
1"
1+ (Jz/4) Δτ
0"
1"
0"
(Jxy/2) Δτ
1-(Jz/4)Δτ (Jxy/2) Δτ
(Jz-Jxy)/2 Δτ • Now 4-spin freezing graph is needed for J xy ≠ J z
– Connects (freezes) loops
The Ising limit
HIsing = −J ∑ Siz S zj = −
i, j
J
σ iσ j
∑
4 i, j
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
G
W(C)"
Δ(C,G)
€
V(G)"
G
€
1- (J/4) Δτ
1"
0"
1"
1"
1+ (J/4) Δτ 0"
0"
0
1-(J/4) Δτ
(J/2) Δτ
• Two spins are frozen, if there is any freezing graph along the world line
We recover the Swendsen Wang algorithm: probability for no freezing
Pno freezing = lim (1− (β / M)J /2)M = exp(−βJ /2) = exp(−2βJclassical )
M →∞
The continuous time limit
• Systematic error due to finite value of Δτ (“Trotter error”)
– Need to perform an extrapolation to Δτ → 0 from simulations with different
values of Δτ (or Trotter number M)
(Δτ = β / M )
• The limit Δτ → 0 can be taken in the construction of the algorithm!
(Prokof'ev , Svistunov, Tupitsyn, 1996; Beard, Wiese, 1996)
– Number of changes
Nc = M
ΔτJ
βJ
→
2
2
stays finite as
Δτ → 0
• Different computational approach:
– Discrete time: store configuration at all time steps
– Continuous time: store times at which configuration changes (kinks)
Local updates in continuous time
• Shift a kink
• Insert or remove two kinks (kink-antikink pair creation process)
P =1
– Vanishing acceptance rate:
P = (Δτ J / 2) 2 → 0
P→ = min[1, (Δτ J / 2) 2 ] → 0
– Solution: Integrate over all possible insertion within a finite time window
Λ2 J 2
P→ = ∫ ∫ ( J / 2) dτ 2 dτ 1 →
≠0
8
0 τ1
ΛΛ
2
Cluster updates in the continuum limit
• How do we deal with the vanishing Δτ terms in continuous time?
• First example: the exchange process
– Possible graph connections:
– Graph weights:
– Probability to pick graph:
(divide weight by sum)
• The infinitesimal Δτ terms cancel out
Jz
Δτ
2
Jz
J xy
J xy − J z
2
Δτ
J xy − J z
J xy
– Randomly pick one of the graphs (with appropriate
€ probabilities) for each
€
exchange process (kink)
Cluster updates in the continuum limit
• How do we deal with the vanishing Δτ terms in continuous time?
• Second example: the “decay” process
– Possible graph connections:
– Graph weights:
1−
Jz
Δτ
4
Jz
Δτ
2
– Probability to pick graph:
(divide weight by sum)
1−
Jz
Δτ
2
Jz
Δτ
2
• The infinitesimal Δτ terms remain
– How can we deal with them?
– Infinitesimal acceptance rate at infinitely many time steps?
Cluster updates in the continuum limit
• How do we deal with the vanishing Δτ terms in continuous time?
1−
• Probabilities:
Jz
Δτ
2
Jz
Δτ
2
• Solution: reinterpret the
graph as a “decay process”
with a decay constant Jz/2
– Graph is
except at certain “decay times” determined like in
the radioactive decay by
an exponential distribution
using
τ =−
2
ln(1 − r ) with"
Jz
r ∈ [0,1]
Loop updates in continuum time
1. Define “breakups” (graphs) for exchange processes"
2. Insert “decay” graphs"
3. Build and flip one or more loops"
Path integral representation
• Based on the perturbation expansion of the path integral
•
•
•
•
Equivalent to continuous time representation
Discrete local objects (kinks, changes in word-line configuration)
Local updates of kinks using Metropolis
Improved update scheme using worm update (Prokofev et al., 1997)
Path integral representation
Perturbation expansion:
H = H0 +V , H0 =
z z z
z
xy
x x
y y
J
S
S
−
hS
,
V
=
J
(
S
S
+
S
∑ ij i j ∑ i
∑ ij i j i S j )
<i , j >
Z = Tr(e
− βH
) = Tr(e
β
− βH 0
i
β
dτV (τ )
∫
0
Te
),
−
<i , j >
β
V (τ ) = eτH 0Ve −τH 0
τ2
Z = Tr(e − βH 0 (1 − ∫ dτV (τ ) + ∫ dτ 2 ∫ dτ 1V (τ 2 )V (τ 1 ) + ...))
0
0
0
Each term represented by a world line configuration
τ
τ2
τ1
Stochastic series expansion (SSE)
• Based on a high temperature series expansion of the partition function
• Original formulation based on local updates using Metropolis
• Cluster updates using the operator loop update (Sandvik 1999)
• Improved updates using directed loops
(Syljuåsen and Sandvik 2002; Alet, Wessel, Troyer 2005)
Hamiltonian decomposition
• Break up the Hamiltonian into offdiagonal and diagonal bond terms
H = ∑ H (oi , j ) + H (di , j )
i, j
• Example: Heisenberg antiferromagnet
H XXZ =
=
J xy
2
J xy
2
∑ (S
i, j
+
i
S −j + Si− S +j ) + J z ∑ Siz S jz − h∑ S1z convert site terms i, j
i
∑ (Si+ S −j + Si− S +j ) + J z ∑ Siz S jz −
i, j
i, j
= ∑ H (oi , j ) + ∑ H (di , j )
i, j
with
H (oi , j ) =
2
( Si+ S −j + Si− S +j )
H (di , j ) = J z Siz S jz −
h
Siz + S jz
∑
z i, j
(
)
split into diagonal and"
offdiagonal bond terms"
i, j
J xy
into bond terms"
h z
Si + S jz
z
(
)
High temperature series expansion
• Expansion in inverse temperature
Z = Tr(e
− βH
∞
)=∑
n =0
∞
=∑
n =0
β
n
n!
Tr(− H n )
βn
n
α ∏ (− H
∑
∑
n! α (
)
b1 ,...,bn
i =1
• Using the bond Hamiltonians
H bi ∈ {H (di , j ) , H (oi , j ) }
i, j
bi
)α
Ensuring positive weights
• SSE expansion:
βn
∞
Z = ∑∑
n =0 α
∑
(
) n!
n =0 α
α
b1 ,...,bn
∞
= ∑∑
n
∑
(
)
b1 ,...,bn
∏ (− H
i =1
bi
)α
W ( α , (b1 ,..., bn ))
• Negative matrix elements are the bond weights
– Need to make all matrix elements non-positive
– Diagonal matrix elements: subtract an energy shift
• Does not change the physics
d
(i, j )
H
h z
= J S S − (Si + S zj )− C
z
z
z i
z
j
C≥
Jz
+h
4
Positivity of off-diagonal bond weights
• Energy shift will not help with off-diagonal matrix elements
H
o
(i , j )
=
J xy
2
( Si+ S −j + Si− S +j )
• Ferromagnet (Jxy < 0)
– no problem on any lattice(!)
• Antiferromagnet on a bipartite lattice
– no problem as well: need an EVEN number of exchange terms to recover
starting state: sign of allowed configurations is positive!
• Frustrated antiferromagnet:
– we have a sign problem, similar to the world-line approach!
Fixed length operator strings
• SSE sampling requires variable length n operator strings
∞
Z=∑
n= 0
n
βn
α ∏ (−H
∑
∑
n!
α (b1 ,...,b n )
bi
)α
i=1
H bi ∈
d
o
H
,H
U{ (i, j ) (i, j )}
i, j
• Extend operator string to fixed length Λ by adding extra unit operators:
H id = −1
n: number
€ of non-unit operators
Λ
Λ
(Λ − n)!β n
Z = ∑∑ ∑
α ∏ (−H bi ) α
Λ!
n= 0 α (b1 ,...,b Λ )
i=1
H bi ∈ {H id }∪ U{H(i,d j ),H(i,o j )}
• Ensure Λ large enough during thermalization
4
€
n
<
Λ
nmax > n ∝ βV
– Such that e.g. max
3
i, j
The SSE configuration space
• Each SSE configuration is given by a initial state and a fixed length
operator string
(Λ − n)!β n
Z = ∑∑
α
Λ!
α SΛ
Λ
∏ (− H
i =1
• Example for a four site problem:
)α
configuration
Λ=5
n=4
α (0) = α (5)
α (4)
α =
α (2)
SΛ = ( H
bi
α (3)
d
(1, 2 )
,H
o
( 3, 4 )
,1, H
o
( 3, 4 )
,H
d
(1, 2 )
)
• Now we need efficient update schemes
α (1)
α (0)
1
2
3
4
index
operator
5
4
3
2
1
Hd(1,2)
Ho (3,4)
1
Ho (3,4)
Hd(1,2)
Measurements in SSE
• Some observables are very simple:
– Energy:
E= H =−
– Specific Heat:
1
β
configuration
n
α (0) = α (5)
α (4)
2
CV = n 2 − n − n
α (3)
α (2)
– Uniform Susceptibility:
χ =β α
z
S
∑ iα
2
α (1)
α (0)
1
i
• Some look a bit more involved:
2
3
index
operator
5
4
3
2
1
Hd(1,2)
Ho (3,4)
1
Ho (3,4)
Hd(1,2)
4
– Equal time diagonal correlations:
1 n
D1D2 =
∑ d 2[ p]d1[ p] , where di [ p] = α ( p) Di α ( p)
n + 1 p =0
– Imaginary time depended diagonal correlations:
⎛ n ⎞⎛ τ ⎞
D1 (τ ) D2 (0) = ∑ ⎜⎜ ⎟⎟⎜⎜ ⎟⎟
Δp = 0⎝ Δp ⎠⎝ β ⎠
n
Δp
⎛ τ ⎞
⎜⎜1 − ⎟⎟
⎝ β ⎠
n − Δp
1 n
C12 (Δp) , C12 (Δp) =
∑ d1[ p + Δp]d 2 [ p]
n + 1 p =0
Comparing path integrals and SSE
• World lines in path integrals
• World lines in SSE
Λ
integer index
imaginary time
β
0
space direction
• Advantage
– Diagonal terms treated exactly
• Disadvantage
– Continuous imaginary time
1
space direction
• Disadvantage
– Perturbation also in diagonal terms
• Advantage
– Integer index instead of time
Diagonal updates
•
•
Recall the weight of a configuration:
(Λ − n)!β n
Z = ∑∑
α
Λ!
α SΛ
Λ
∏ (− H
i =1
bi
)α
Walk through operator string
– Propose to insert diagonal operators instead of unit operators
d
(i, j )
P[1 → H
⎛ βN bonds α H(i,d j ) α ⎞
] = min⎜1,
⎟
Λ
−
n
⎝
⎠
– Propose to remove diagonal operators
€
•
•
d
(i, j )
P[H
⎛
Λ − n +1
→1] = min⎜⎜1,
d
β
N
α
H
⎝
bonds
(i, j ) α
⎞
⎟⎟
⎠
configuration
Changes the expansion order
Does not touch the off-diagonal operators
€
nor the state vector
1
2
3
4
index
operator
5
4
3
2
1
Hd1(1,2)
Ho (3,4)
1
Ho (3,4)
Hd1(1,2)
Offdiagonal updates
• Local changes using Metropolis
• Problems
– Critical slowing down
– No change of magnetization, particle number, winding number
• Solutions:
– Loop algorithm
– Operator loop algorithm
– Directed loop algorithm
The SSE vertex list
• Consider only the non-unity operators
• Each defines a vertex with 4 legs
• All together form a quadruplely-linked list (vertex-list)
– Contains the full configuration information
– Conveniently represented as a vector data-structure
• Updates performed using this data structure
Loop update in SSE
•
•
Select breakups for each vertex similar to loop algorithm
Example: XXZ easy-plane antiferromagnet:
H XXZ =
J xz
2
∑ (S
i, j
+
i
S −j + Si− S +j ) + J z ∑ Siz S jz (0 ≤ J z ≤ J xy )
i, j
W (C) = ∑W (C,G) = ∑Δ(C,G)V(G)
G
W(C)"
Δ(C,G)
€
W(G)"
•
•
G
1"
0"
Jz/2"
0"
0"
0
1"
1"
Jxy/2
Jz/2
(Jxy- Jz)/2
Connected spins form a cluster and have to be flipped together
For the Heisenberg model, the loop construction becomes deterministic (
)!
Loop updates in SSE
1. Insert/remove diagonal operators"
2. Decide “breakups” at each vertex"
3. Build and flip one or more loops"
Similarity to path integrals:
an exact mapping exists
Loop algorithm in a magnetic field
• Loop algorithm requires spin inversion symmetry
– Magnetic field implemented by a-posteriori acceptance (flip) rate
• Example: spin dimer at J = h =1
loop
Probability
P = exp(-β/2)"
Triplet"
E = J/4 - h = -3/4"
"
E = -J/4 = -1/4"
Singlet"
E = -3J/4 = -3/4"
Loop algorithm must go through high energy intermediate state"
Exponential slowdown"
Worm and operator loop updates
• Prokof’ev et al. 1997 (path integrals), Sandvik 1999 (SSE)
• Insert pair of spin rising/lowering operators (world line discontinuities)
– move these operators (worm head/tail) using local moves
– when head and tail meet ⇒ have created a loop, update is finished
jump
detailed balance
at each local move
Insert
worm
move
worm
head
• Worm algorithm performs a guided random walk
–
Change of configuration done in small steps
turn
continue until
head and tail meet
bounce
Operator loop update in SSE
• Instead of following a pre-chosen path given by graphs we pick randomly
– E.g. using heat bath method
weight
Jz
+C
4
J xy
2
€
0
€
−
Jz h
+ +C
4 z
probability
“straight”
“jump”
“turn”
“bounce”
Jz 4 + C
2C + J xy 2 + h / z
J xy 2
2C + J xy 2 + h / z
0
− Jz 4 + h + C
2C + J xy 2 + h / z
Operator loop algorithm in a magnetic field
• Example: spin dimer at J = h =1
rr
Hdimer = JS1S2−h − h(S1z + S2z )
1. perform diagonal updates "
2. insert “worm”"
3. move “worm”"
4. annihilate “worm”"
€
Triplet"
E = J/4 - h = -3/4
No high energy intermediate state"
Efficient update in presence of a magnetic field"
Singlet"
E = -3J/4 = -3/4
Directed loop scheme - idea
• Bounces are bad
– since they undo the last change
• If bounce path can be eliminated ⇒ loop algorithm possible
– Loop algorithm as a limit for some models
– Even becomes deterministic for isotropic models
• Bounce path can be minimized
– In models where there is no loop algorithm
• Directed loops scheme
• O.F. Syljuåsen and A.W. Sandvik, PRE (2002)
• O.F. Syljuåsen , PRE (2003)
– Give worm “head” and “tail” an operator matrix element
• Minimizes bounces further
• F. Alet, S. Wessel and M. Troyer, PRE (2005)
Directed loop scheme - setup
•
Consider exit leg e, given an incoming leg i at a vertex in configuration c:
– Assign this path a weight w(e | i, c)
w(e | i, c) = w(c)
– The sum over all paths must equal the vertex weight:
∑
e
w(c) = −
w(1 | 1, c)
w(2 | 1, c)
Jz h
+ +C
2 z
w(3 | 1, c)
w(4 | 1, c)
w(e | i, c)
leading to configuration ce
w(c)
, leading back to c
– Choose exit leg e with probability P(e | i, c) =
•
Consider the reversed path
w(i | e, ce )
– If w(e | i, c) = w(i | e, ce ) is always fulfilled, then we obtain
Local detailed balance
P(e | i, c) w(c) = P(i | e, ce )w(ce )
Directed loop scheme - solutions
w(c) w(ce )
w
(
e
|
i
,
c
)
=
• Heat-bath solution is always possible:
w(c1 ) + w(c2 ) + w(c3 ) + w(c4 )
– However, contains large bounces
• Optimize the path weight factors
– eliminate or minimize all bounces
– i.e. all w(i | i, c ) should be zero or small
• Can be done analytically in many cases
• Numerically using linear programming
• Obtain large bounce-free regions
h/(zJxy)
1/2
Spin-1/2 XXZ"
1
Jz/Jxy
2D Heisenberg
• Even outside the bounce-free region: reduction of autocorrelation times
Summary: the loop algorithm
• A generalization of cluster algorithm idea to quantum systems
– Essentially solves problem of critical slowing down
• Generalizations from spin-1/2 case presented
–
–
–
–
–
Higher spin models
SU(N) models
Biquadratic interactions
Long ranged interactions
Boson and fermion models (1D)
• Implementation choices
– Discrete or continuous time
– Single / multi loop implementations
– SSE or path integrals
Summary: worm and directed loops
• Relax loop-building rules
– A partial loop (“worm”) performs a random walk on the space-time lattice
– Detailed balance fulfilled at each step
– Once “head” and “tail” meet a loop is finished
• Relationship to loop algorithms
– Can recover loop algorithm if pre-defined path choices (“breakups”)
possible
– Loop algorithm performs a self-avoiding random walk
• Implementation choices
– Worm algorithm in path integrals
– Directed loop algorithm in SSE
BUT: Frustrated quantum Magnets
• We obtain non-positive weights e.g. for the
antiferromagnetic Heisenberg model on non-bipartite
lattices:
• Can return to starting configuration with an odd
number of spin exchange terms:
59
The sign problem
60
The negative sign problem
• In mapping of quantum to classical system
Ap
∑
Tr [A exp(− βH )]
=
=
Tr [exp(− βH )]
∑p
i
A
i
i
i
i
• “Sign problem” if some of the pi < 0
– Cannot interpret pi as probabilities
– Appears in simulation of fermions and frustrated magnets
• “Way out”: Perform simulations using |pi | and measure the sign:
∑ A p ∑ A sgn p p ∑ p
=
=
∑p
∑ sgn p p ∑ p
i
A
i
i
i
i
i
i
i
i
– Sampling according to
i
i
i
i
i
Z| p| = ∑ pi
i
A Sign
i
i
≡
Sign
p
p
The negative sign problem
• The average sign becomes very small:
1
Z
− βVΔf
Sign p =
sgn
p
p
=
=
e
∑
i
i
Zp i
Zp
– Both in system size and inverse temperature
– This is the origin of the sign problem!
• The error of the sign:
Sign 2
− Sign
2
1
e βVΔf
≈
=
N Sign p
N Sign p
N
– Need of the order N = exp(2βVΔf ) measurements for sufficient accuracy
– Similar problem occurs for the observables
– Exponential growth! Impossible to treat large systems or low temperatures
ΔSign
=
Sign p
p
p
p
How bad is the sign problem?
• The sign problem is basis-dependent
H i = εi i
– Diagonalize the Hamiltonian matrix
A = Tr[Aexp(−βH)] Tr[exp(−βH)] = ∑ i Ai i exp(−βεi )
i
€
∑exp(−βε )
i
i
– All weights are positive €
– But this is an exponentially hard problem since dim(H)=2N !
– Good news: the sign problem is basis-dependent!
• But: the sign problem is still not solved
– Despite decades of attempts
• Reminiscent of the NP-hard problems like traveling salesman etc.
– No proof that they are exponentially hard
– No polynomial solution either
The sign problem is NP-hard
• See: M. Troyer and U. Wiese, Phys. Rev. Lett. (2005)
• Could use solution to the sign problem to obtain polynomial
algorithm for all NP-complete problems (e.g. traveling salesman)
• This is bad news!
• Or not - if you solve it, you will get both
– The Nobel price (??)
– Plus additional 1.000.000 $$ from the Clay Foundation
http://www.claymath.org
?
How to deal with the sign problem ?
• The sign problem is NP-hard (worst-case complexity)
– A general solution is almost certainly impossible
• What can we do?
– Simulate models without a sign problem
• Non-frustrated quantum magnets
• Bosonic models (atomic BEC condensates)
• Hubbard model in 1D
– Brute force-approach
• Live with the exponential scaling of the sign problem and stay on small lattices
– Other exact algorithms
• DMRG, exact diagonalization, or series expansion might be better
– Special solutions for certain models still possible by a clever choice of
the computational basis
The End
• Thank You for your attention!
Software project"
alps.comp-phys.org"
Applications and"
Libraries for"
Physics"
Simulations"
© Copyright 2026 Paperzz