<<

AA QuickQuick introductionintroduction toto QuantumQuantum MonteMonte CarloCarlo methodsmethods

Fabien Alet LPT, Univ. Paul Sabatier Toulouse

Contact : [email protected]

ALPS Tutorial – PSI 08/09/2006 1 QuantumQuantum MonteMonte CarloCarlo ˆ What is Quantum Monte Carlo (QMC) ? ˆ Most general definition: “A stochastic method to solve the Schrödinger equation” ˆ QMC comes in many different flavours ˆ Zero Temperature or T ≠ 0 ×2 ˆ Statistics of particles : , or “Boltzmannons” ×3 ˆ Continuum or discrete space ×2 ˆ Finite number of particles or Thermodynamic limit ×2

ˆ … At least 24 different QMC communities ! ˆ Today ˆ Spin models on lattice : finite T, Bosons (spins), Discrete space, Thermodynamic limit ˆ Performances 6 ˆ Large systems ( ≈ thermodynamic limit, ≈ T=0) : up to 10 spins ! ˆ Quantitative modeling of quantum magnets ˆ Accurate description of phase transitions, Asymptotic regime (critical exponents)

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 2 QMCQMC == aa largelarge familyfamily treetree ˆ « » family ˆ « » family ˆ Projector Monte Carlo, Green Function Monte Carlo, Diffusion Monte Carlo (+ Fixed Node, + Stochastic Reconfiguration) … ˆ (Partial) Ref. for lattice models : S. Sorella and L. Capriotti, Phys. Rev. B 61, 2599 (2000)

ˆ « Determinental Monte Carlo » family ˆ Auxiliary Field Monte Carlo, Determinental Monte Carlo, Hirsch-Fye … ˆ (Partial) Ref. for lattice models : F. F. Assaad, Lecture Notes, NIC series 10, 99 (2003)

ˆ « Path integral Monte Carlo » family ˆ Lattice systems (cluster algorithms) ˆ Basic Idea : Mapping Quantum system in dimension d → Classical system in dimension d+1 Then do classical Monte Carlo on the equivalent problem

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 3 AA QuickQuick introductionintroduction toto QuantumQuantum MonteMonte CarloCarlo methodsmethods forfor latticelattice quantumquantum spinspin modelsmodels

ˆ Derivation of configuration space : Path integral approach ˆ Monte Carlo moves : quantum cluster algorithms ˆ The sign problem ˆ Practical considerations

ALPS Tutorial – PSI 08/09/2006 4 Quantum Monte Carlo simulations

ˆ Not as « easy » as classicalβ Monte Carlo Z = Tr e− H = ∑e−βEc c

ˆ Calculating the energy eigenvalue Ec = solving the problem ˆ Need to find a mapping of the quantum partition function to a

classical problem −βH Z = Tr e ≡ ∑ pc c ˆ Different approaches ˆ 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 equivalent classical problem

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 5 Hamiltonian of spin ½ models ˆ Example : XXZ model in a field

ˆ Anisotropic exchange interactions : JXY , JZ ˆ Magnetic field h x x y y z z z H XXZ = ∑ J XY (Si S j + Si S j ) + J z Si S j − h∑ Si i, j i

J XY + − − + z z z = ∑ (Si S j + Si S j ) + J z Si S j − h∑ Si i, j 2 i

ˆ Heisenberg model : JXY = JZ = J r r H = J S S − h S z ∑ i j ∑ i ⎛ J z ⎞ i, j i ⎜ + h 0 0 0 ⎟ ⎜ 4 ⎟ J J ˆ Hamiltonian matrix in 2-site basis ⎜ 0 − z xy 0 ⎟ ⎜ ⎟ H = 4 2 ij ⎜ J J ⎟ ⎜ 0 xy − z 0 ⎟ ⎜ 2 4 ⎟ { ↑↑ , ↑↓ , ↓↑ , ↓↓ } ⎜ J z ⎟ ⎜ 0 0 0 − h⎟ ⎝ 4 ⎠

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 6 Trotter decomposition ˆ Basis of most QMC algorithms ˆ Here : Generic mapping of a quantum spin system onto a classical Ising model ˆ Not limited to special cases ˆ Split Hamiltonian into two easily diagonalizable pieces H(1) H(2) H(3) H(4) ε H H = H1 + H 2 ε = H1 − H − H1 −εH 2 2 e = e β e + O(ε ) + H β 2 ˆ Obtain a decomposition of the partition function τ

− H − (H1 +H 2 ) −Δτ (H1 +H 2 ) M Z = Tr e τ = Tr e τ = Tr[(e ) ] (Δτ = β / M ) = Tr[(e−Δ H1 e−ΔτH 2 )M ]+ O(Δτ 2 ) τ ˆ Insert 2M sets of complete basis states

−Δ H1 −Δ H 2 −Δ H1 −ΔτH 2 = ∑ i1 e i2M i2M e i2M −1 ⋅⋅⋅ i3 e i2 i2 e i1 i1 ,...,i2 M

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 7 Example : Spin ½ Heisenberg model τ ˆ Quantum problem in d dimensions maps onto a classical problem in d+1 τ z ˆ Expand the states iα in the S eigenbasis ˆ Effective Ising-model in d+1 dimensions with 2- and τ4-sites interaction terms

−Δ H1 −Δ H 2 −Δ H1 −ΔτH 2 Z = ∑ i1 e i2M i2M e i2M −1 ⋅⋅⋅ i3 e i2 i2 e i1 i1 ,...,i2 M

ˆ Each of the matrix elements

−ΔτH1,2 i j+1 e i j

corresponds to a row of shaded plaquettes and ˆ Conservation of equals the product over magnetization : those plaquettes Continuous worldlines

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 8 Weights for the spin ½ Heisenberg model ˆ The partition function becomes a sum of products of plaquette weights

Z = ∑W (C) =∑ ∏ w(C p ) C C plaquettes p ˆ The only allowed plaquette-configurations are (here h=0)

e−ΔτJ / 4 eΔτJ /4ch(ΔτJ / 2) eΔτJ /4sh(−ΔτJ /2)

ˆ Ferromagnet (J<0) : All weights are positive ˆ Antiferromagnet on a bipartite lattice : ˆ perform a gauge transformation on one sublattice J S ± → (−1) i S ± J ()S + S − + S −S + ⎯⎯→i ⎯⎯⎯⎯⎯i − ()S + S − + S −S + 2 i j i j 2 i j i j ˆ Frustrated antiferromagnet : we have a sign problem

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 9 Worldline approach : Summary ˆ Each valid configuration = continuous worldlines on checkerboard

W (C) = ∏ w(C p ) plaquettes p

e−ΔτJ / 4 eΔτJ /4ch(ΔτJ / 2) eΔτJ /4sh(−ΔτJ /2)

ˆ Worldline QMC = Sampling over all (important) worldline configurations ˆ According to the above weight ˆ Try to generate a new configuration from a given one ˆ Already 2 problems arise …

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 10 Intermezzo 1 : Stochastic Series Expansion (SSE) Intermezzo 1 : Stochasticβ Series Expansion (SSE) ˆ Alternative approach : Expansion in inverse temperature (Sandvik, 1992) β β ∞ n Z = Tr(e− H ) = Tr(−H n ) ∑ H = H n=0 n! ∑ b α b=(i, j) ∞ n n = (−H ) α ∑ ∑∑ ∏ bi n=0 n! α ()b1 ,...,bn i=1

ˆ Using the bond Hamiltonians configuration i operator

J xy d o + − − + 5 H (1,2) H (i, j) = (Si S j + Si S j ) o 2 4 H (3,4) d 3 H (3,4) d z z h z z o H = J S S − ()S + S 2 H (3,4) (i, j) z i j i j d z 1 H (1,2) 1 2 3 4 ˆ Similar to path integral approach ˆ (Minor) difference in the treatment of diagonal terms

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 11 1st solved problem : 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)

ˆ The limit Δτ → 0 can be taken directly in the construction of the algorithm ! (Prokof’ev et al., 1996)

ˆ Number of changes ΔτJ βJ N = M → c 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 (+ initial state)

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 12 2nd solved problem solved ˆ Shift a kink

ˆ Insert or remove two kinks (kink-antikink pair creation process)

ˆ Problems with local updates ˆ Restricted to canonical ensemble ˆ No change of magnetization, particle number, winding number ˆ Critical slowing down ˆ Solution for classical Monte Carlo was cluster algorithms ˆ Generalization to quantum case is possible ! ˆ Loop, Directed loops, Worm algorithms Worm algorithm : intuitive view ˆ Q : How to update non-locally this configuration ?

1 2 3 4 5 (SSE Representation)

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 14 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 15 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 16 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly 3) At every “vertex” : Choose an exit

1 2 3 4 5 “straight” “jump” “turn” “bounce”

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 17 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly 3) At every “vertex” : Choose an exit “straight”, “jump”, “turn”, “bounce”

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 18 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly 3) At every “vertex” : Choose an exit “straight”, “jump”, “turn”, “bounce”

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 19 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly 3) At every “vertex” : Choose an exit “straight”, “jump”, “turn”, “bounce”

4) Annihilate worms

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 20 Worm algorithm : intuitive view

1) Insert a worm (head and tail)

2) Move the worm head – Modify locally the configuration on the fly 3) At every “vertex” : Choose an exit “straight”, “jump”, “turn”, “bounce”

4) Annihilate worms

NEW CONFIGURATION

1 2 3 4 5

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 21 Intermezzo 2 : How to choose the worm’s moves ? ˆ Given a “vertex” (plaquette) configuration and an entrance leg, where to exit ? ˆ Consider exit leg e, given entrance leg i at a vertex in configuration c –weight w(c) ˆ Assign this path a probability P(e | i,c) ˆ Sum over all paths must equal unity ∑ P(e | i,c) =1 e J h w(c) = − Z + 2 z

P(1|1,c) P(2 |1,c) P(3|1,c) P(4 |1,c) ˆ Choose exit leg e with probability P(e | i,c) leading to configuration c – weight w(c) ˆ Consider the reverted pathP(i | e,c) , leading back to c

ˆ Impose Local detailed balance P(e | i,c)w(c) = P(i | e,c)w(c)

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 22 Quantum cluster algorithms ˆ Tiny differences in how the worm exactly moves lead to different algorithms ˆ Worm algorithm : random Metropolis move ˆ Directed loop algorithm : locally improved « clever » move ˆ Loop algorithm : deterministic move ˆ Difference in Representation ˆ SSE : usually slighlty faster ˆ Path Integral (PI) : good when large diagonal terms ˆ Codes in ALPS : Which qlgorithm to choose ? ˆ looper = Loop algorithm in PI/SSE : For models with spin inversion symmetry e.g. : Heisenberg, XY, XXZ model wihout field ˆ dirloop-sse = Directed loops in SSE : Models without inversion symmetry (most genera e.g. : models with field, models etc ˆ worm = Worm algorithm in PI : Models with large diagonal elements e.g. : large Ising anisotropy ˆ All these algorithms give accurate results for large systems … Intermezzo 3 : The sign problem

ˆ In mapping of quantum to classical system

∑ Ai pi Tr[]Aexp(−β H ) i A = []= Tr exp(−βH ) ∑ pi 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 :

∑ Ai pi ∑ Ai sgn pi pi ∑ pi A Sign A = i = i i ≡ p p sgn p p p Sign ∑ i ∑ i i ∑ i p i i i

ˆ Sampling Z| p| = ∑ pi i

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 24 Intermezzo 3 : The sign problem

ˆ The average sign becomes very small 1 Z Sign = sgn p p = = e−βVΔf p ∑ i i Z p i Z p ˆ Both in system size and inverse temperature ˆ This is the origin of the sign problem !

ˆ The error of the sign:

2 2 Sign − Sign 1 βVΔf ΔSign p p p e = ≈ = Sign N Sign N Sign N p p p ˆ 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

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 25 In practice, what can I do ?

ˆ Simulate large samples of lattice quantum spin models ˆ For non-frustrated models (Note : Diagonal (Ising) frustration is OK) ˆ This includes most Heisenberg-like models ˆ XY, Ising anisotropy, magnetic field, all values of S, single-ion anisotropy, … ˆ Frustrated models are possible : but quickly sign problem arises ˆ In all dimensions on all lattices (one can define its own specific lattice) ˆ For all values of T (including T→0) ˆ Which quantities are accessible ? ˆ A lot of observables : Energy, Specific heat, Susceptibilities, Structure factor, Spin stiffness, Green functions … ˆ In some cases : one can define its own observable ˆ How much time ? ˆ Typically simulation time scales as Number of spins x Inverse Temperature ˆ For more details : see hands-on session …

F. Alet (Toulouse) – Introduction to QMC – ALPS Tutorial PSI 26 ThanksThanks !!

ALPS Tutorial – PSI 08/09/2006 27