J - cond

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"