Efficient time evolution of one-dimensional quantum systems Frank Pollmann Max-Planck-Institut für komplexer Systeme, Dresden, Germany Sep. 5, 2012 Hsinchu
Problems we will address... Finding ground states of one-dimensional quantum systems H ψ 0 = E 0 ψ 0 Transverse field Ising model: [Quantum Phase Transitions, Subir Sachdev 2011] H = j σz j σz j+1 + g j σx j - σ x, σ z are Pauli matrices Phase diagram m = σ z Phase Z 2 broken Z transition 2 symmetric g
Problems we will address... Time evolution of one-dimensional quantum states ψ(t) = e ith ψ(t = 0) Global Quenches: Time evolution of an Ising AF state...... in anisotropic Heisenberg chains 0.1 =0.2 =0.4 =0.6 m s 0.01 0.001 0 2 4 6 8 10 12 14 16 18 Jt Barmettler et al. ʼ09
Problems we will address... We can calculate everything using exact diagonalization! A generic quantum state for a N spin system has a dimensional Hilbert space ψ = c j1...j j N 1 j N i 1...i N d N Limitations to small cluster! Example: A generic state for a N=32 spin system takes already several GB of RAM
Problems we will address... From now on: consider local Hamiltonians Many of the states we are interested in live in a very small corner of the Hilbertspace H ψ(t) In one dimensions we know how to efficiently constrain our simulations to this subspace - Number of sites will not be a limiting factor - Time evolution can be done for short times
Efficient time evolution of one-dimensional quantum systems Overview Entanglement in many-body systems Efficient representation of quantum states using Matrix- Product State (MPS), i.e., keep only the important information Calculation of observables using MPS Time evolution of quantum states using the Time evolving block decimation (TEBD) method Simple Python implementation of TEBD Sep. 5, 2012 Hsinchu
Entanglement Schmidt decomposition (SVD C = UDV ) Decompose a state into ψ a superposition of product states: A B Schmidt states:, Schmidt values: are eigenstates of the reduced density matrix with
Entanglement Entanglement? - product state (=non-entangled): ψ = 1 2 A + A B + B A S =0 B - entangled state ψ = 1 2 A B + A B S = log 2 Entanglement entropy S = λ 2 γ log λ 2 γ Random quantum states fullfil the volume law Ground states of local, gapped Hamiltonians: Area law: In one-dimension [Hastings 2007] S(N) = const. S(N) N
Entanglement Example: Spin-1 Heisenberg chain H = j S j S j+1 10 0 ψ 0 = N A i=1 N B j=1 C ij i A j B... A B...! 2 " γ 10 5 = γ λ γ φ γ A φ γ B λ 2 γ =1 10 10 γ 0 20 40 60 80 100 γ" Schmidt values decay rapidly: Almost the entire weight is contained in only few important states (AREA LAW!)
Entanglement Example: ψ = N A i=1 N B j=1 C ij i A j B = γ λ γ φ γ A φ γ B Matrix can represent an image (array of pixel) C = 0.23 0.56......... = 0.22 0.34 0.23 0.56......... 0.22 0.34 χ = 1200 Reconstruction of the matrix (image) from a small number of Schmidt states (SVD):
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ =4
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ = =4 16
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ = =4 64 16
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ χ = =4 256 64 16
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ χ = = 1200 =4 256 64 16
Entanglement Now: C ij not a wave function but a 2000 x 1200 pixel photo χ χ = = 1200 =4 256 64 16 Important features visible already for < 16 states!
Matrix-Product states A generic quantum state for a N spin system has a dimensional Hilbert space d N ψ = i 1...i N c j1...j N j 1 j N c j1...j N is a rank N tensor: c j1...j N =
Matrix-Product states Write the coefficients of the many-body wave function as a product of matrices (first and last one are vectors) c j1...j N = A [1] j 1 A [2] j 2...A [N] j N Build up Hilbert space site by site using the Schmidt states α and local basis i α i β χ d χ d χ... A B... β = α i αi β A i,αβ α i
Matrix-Product states Write matrices as A j = Γ j Λ [Vidal 02] - - Λ Γ j diagonal matrix containing the Schmidt values relating the local and Schmidt bases (the indices of the matrices correspond to orthogonal Schmidt states: MPS is in the canonical form) Diagrammatic representation of an MPS: c j1...j N = 1...χ 1...d
Matrix-Product states What we have achieved so far: c i1,i 2,...,i N = Γ [1]i1 α λ [1] 1 α Γ [2]i 2 1 α 1 α λ [2] 2 α...λ [N 1] 2 α Γ [N]i N N 1 α N α 1,α 2,...,α N Description gives immediately the Schmidt decomposition according to [1...l][(l+1)...N] χ ψ = α l =1 λ [l] α l α l 1..l α l (l+1)...n In a generic case the dimension grows exponentially with N In slightly entangled systems good approximations by keeping only largest Schmidt weights: All states which fulfill area law can be expressed as MPS!
Matrix-Product states Strong reduction of the complexity c j1...j N = exp(n) 1...χ 1...d Ndχ 2 What about expectation values? ψ O ψ = ψ o ψ
Matrix-Product states Local expectation values ( χ 3 ) ψ O [r] ψ = Correlation functions ( χ 3 ) ψ O [r] O [l] ψ = Correlation length: Second largest eigenvalue of the transfer matrix
Time evolution of Matrix Product States Assume we have a Hamiltonian of the form H = j h [j,j+1] Time evolution in real time ψ t =exp( iht) ψ t=0 Time evolution in imaginary time ψ 0 = lim τ exp( Hτ) ψ i exp( Hτ) ψ i
Time evolution of Matrix Product States Consider the Hamiltonian H = j h [j,j+1] Decompose the Hamiltonian as We observe but F even j G odd j F [j] even j G [j] odd j H=F+G h [j,j+1] h [j,j+1] [F [r],f [r] ]=0([G [r],g [r] ] = 0) [G, F ] = 0 F F F G G
Time evolution of Matrix Product States Apply Suzuki-Trotter decomposition of order p exp ( i(f + G)δt) f p [exp( F δt), exp( Gδt)] with f 1 (x, y) =xy, f 2 (x, y) =x 1/2 yx 1/2, etc. Two chains of two-site gates U F = even r U G = odd r exp( if [r] δt) exp( ig [r] δt) F F F G G
Time evolution of Matrix Product States Time Evolving Block Decimation algorithm [Vidal 03] How do we get the original form back?
Time evolution of Matrix Product States Time Evolving Block Decimation algorithm [Vidal 03] truncation Scales with the matrix dimension as χ 3
Time evolution of Matrix Product States itebd algorithm [Vidal 07]: Assume that ψ is translational invariant and N = Partially break translational symmetry to simulate the action of the gates Γ [2r] = Γ A, λ [2r] = λ A, Γ [2r+1] = Γ B, λ [2r+1] = λ B A A B B A A B B A A Time evolution achieved by repeated local application of gates (parallel)
Spin-1 Heisenberg model: H = j S j S j+1 Time evolution of S + j 0 ψ 0...... ψ(t) S z ψ(t) j
Time evolution of Matrix Product States Dynamical structure factor S(k, ω) C(x, t) =ψ 0 S x (t)s + 0 (0) ψ 0 S(k, ω) = x dte i(kx+ωt) C(x, t) Spin-1 Heisenberg Spin-1/2 Ladder
itebd algorithm There are limitations! - - Entanglement in Critical systems grows log N : χ grows polynomial with system size (simulation of infinite system not exact. finite entanglement scaling) FP, S. Mukerjee, A. Turner, and J. E. Moore, Phys. Rev. Lett. 102, 255701. States with large correlation length require large χ - - - Slow convergence to GS if the gap is small (DMRG is much faster) Only nearest-neighbor Hamiltonians Entanglement growth in general linear in time: Time evolution limited to short times as χ exp(t) J. H. Bardarson, FP, Joel E. Moore, Phys. Rev. Lett. 109, 017202
itebd algorithm Improvements Successively decreasing time step for imaginary time evolution (preserving norm and reducing Trotter error) More stability by using a slightly modified update [Hastings 08] Using conserved quantities to speed up the code Linear prediction to estimate the long time behavior Using matrix-product operators to include longer-range interactions x(n) = p a i x(n i) i=1
itebd algorithm Python + numpy provide nice tools to simply implement the algorithm as it contains the key functions already X=tensordot(Y,Z,axes=(1,0)) X ijk = m Y im Z mjk X=reshape(X,(dim1*dim2,dim3)) X ijk X (ij)k X=transpose(X,(0,2,1)) X ijk X ikj
itebd algorithm
Time evolution of Matrix Product States That s it for today... Matrix-Product States review - U. Schollwoek, Annals of Physics 326, 96 (2011) Time Evolution - G. Vidal, Phys. Rev. Lett. 91, 147902 (2003) - G. Vidal, Phys. Rev. Lett. 98, 070201 (2007) Python packages with Numpy: - http://www.pythonxy.com - http://www.enthought.com/