125
Iterative methods for sparse matrices Alexander Weiße Ernst Moritz Arndt Universit¨ at Greifswald September 25, 2006

Iterative methods for sparse matrices

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Iterative methods for sparse matrices

Iterative methods for sparse matrices

Alexander Weiße

Ernst Moritz Arndt Universitat Greifswald

September 25, 2006

Page 2: Iterative methods for sparse matrices

Outline

Introduction

Construction of basis & matrixFixed particle numberTranslation symmetryPhonons

Eigenstates of sparse matricesLanczos algorithmJacobi-Davidson algorithm

Correlation functions & time evolutionKernel polynomial methodTime evolution

Applications to the polaron problemLow energy spectrumStatic & dynamic correlationsTime evolution

Conclusions

Page 3: Iterative methods for sparse matrices

Introduction

Typical lattice models in solid state physics

◮ Hubbard Holstein model

H = −t∑

〈ij〉,σ(c†iσcjσ + H.c.) + U

i

ni↑ni↓

−gω0

i ,σ

(b†i + bi )niσ + ω0

i

b†i bi ,

◮ Heisenberg type spin models

H =∑

ij

Jij~Si · ~Sj

Typical questions

◮ Ground-state properties, phase transitions, ...

◮ Correlations, linear response, ...

Page 4: Iterative methods for sparse matrices

Introduction

Problem: Analytical techniques fail in many interesting cases

◮ Perturbation theory = expansion in small parameters

◮ But: Many effects result from competition of comparable parameters

Way out: Numerical simulations

◮ Microscopic model ⇒ large matrix H

◮ Dimension D(H) ∝ exp(system size L)

Difficulty:

◮ Properties of a model depend on spectrum & eigenfunctions of H

◮ Full diagonalisation is prohibitive — resource consumption O(D3)!

Page 5: Iterative methods for sparse matrices

Efficient numerical techniques

◮ Quantum Monte Carlo (QMC):

Advantages: Large systems, finite temperatures, stat. & dynamiccorrelations

Drawbacks: Minus sign problem, limited resolutionsee talks by Assaad, Mishchenko, Evertz, Hohenadler

Page 6: Iterative methods for sparse matrices

Efficient numerical techniques

◮ Quantum Monte Carlo (QMC):

Advantages: Large systems, finite temperatures, stat. & dynamiccorrelations

Drawbacks: Minus sign problem, limited resolutionsee talks by Assaad, Mishchenko, Evertz, Hohenadler

◮ Density Matrix Renormalisation Group (DMRG):

Advantages: Large systems, stat. & dynamic correlations, very preciseDrawbacks: Mainly 1D, time consuming, dynamics at finite T difficult

see talks by Peschel, Jeckelmann, Noack, Glocke

Page 7: Iterative methods for sparse matrices

Efficient numerical techniques

◮ Quantum Monte Carlo (QMC):

Advantages: Large systems, finite temperatures, stat. & dynamiccorrelations

Drawbacks: Minus sign problem, limited resolutionsee talks by Assaad, Mishchenko, Evertz, Hohenadler

◮ Density Matrix Renormalisation Group (DMRG):

Advantages: Large systems, stat. & dynamic correlations, very preciseDrawbacks: Mainly 1D, time consuming, dynamics at finite T difficult

see talks by Peschel, Jeckelmann, Noack, Glocke

◮ Iterative methods for sparse matrices (ED, KPM, ...)

Advantages: Stat. & dyn. correlations, finite temperatures, highresolution, simple algorithms

Drawbacks: small systems (for interacting quantum models)

Page 8: Iterative methods for sparse matrices

From a model to a matrix

◮ To use sparse matrix algorithms, we need a matrix!

◮ Consider the Hubbard model on a ring of L sites:

H = −t∑

i ,σ

(c†i ,σci+1,σ + H.c.) + U∑

i

ni↑ni↓

◮ The Hilbert space of a single site consists of four states:

|0〉, c†i↓|0〉, c

†i↑|0〉, c

†i↑c

†i↓|0〉 ,

thus for L sites we have 4L states → Huge! Reduce with symmetries

◮ Typical symmetries: Particle number conservation, SU(2) spinsymmetry, translational invariance, other point groups

◮ How can we build a symmetric basis?

Page 9: Iterative methods for sparse matrices

Fixed particle number

◮ The conservation of Ne = N↑ + N↓ and 2Sz = N↑ − N↓ isequivalent to conservation of N↑ and N↓

◮ Choose normal order and translate into bit patterns:

c†3↑c

†2↑c

†0↑c

†3↓c

†1↓|0〉 → (↑, ↑, 0, ↑)× (↓, 0, ↓, 0) → 1101× 1010 .

◮ Find all L-bit integers with a given number of set bits andassign index to each state

◮ Hilbert space dimension(

LN↑

)(

LN↓

)

∼ 4L/L

◮ Apply the Hamiltonian to all states, take care of minus signs,

↑ -hopping : 1101× 1010 → −t (1011 + 1110)× 1010

↓ -hopping : 1101× 1010 → −t 1101× (0110 + 1100 + 1001 − 0011)

U-term : 1101× 1010 → U 1101× 1010

◮ Find the indices of the resulting states on the right

Page 10: Iterative methods for sparse matrices

Block structure of the Hamiltonian

4U3U2UUt-t0

◮ Symmetrisation makes the Hamiltonian matrix block-diagonal

◮ We can treat each block separately

Page 11: Iterative methods for sparse matrices

Translation symmetryGeneral concept

◮ For further 1/L reduction of block size use symmetry T : c(†)i ,σ → c

(†)i+1,σ

◮ Eigenstates of T with eigenvalue e−2π i k/L are created by the projector

Pk =1

L

L−1∑

j=0

exp(2π i

Ljk

)

T j where k = 0, 1, . . . , (L − 1) ,

TPk |n〉 =1

L

L−1∑

j=0

exp(2π i

Ljk

)

T j+1|n〉 = e−2π i k/L Pk |n〉 .

◮ The old basis consists of R cycles formed by T , |cn〉 = T n|c0〉,

◮ Each cycle is represented by |r〉 ≡ |c0〉 and Pk |cn〉 = ei φ Pk |r〉◮ The states Pk |r〉 with k = 0, . . . , (L− 1) and r = 0, . . . ,R form the new

symmetrised basis. H does not mix states with different k, [H,Pk ] = 0.

◮ The normalisation of Pk |r〉 requires some care!

Page 12: Iterative methods for sparse matrices

Translation symmetryExample

◮ For a system with L = 4 and N↑ = 3, N↓ = 2 we find

◮ There are R = 6 cycles represented by the 6 states |r〉◮ From Pk |r〉 with k = 0, . . . , 3 we obtain a total of 24 =

(

43

)(

42

)

states.

◮ Similar construction works for other lattice symmetries

Page 13: Iterative methods for sparse matrices

Basis for phonon systemsStandard approach

◮ Problem: No particle number conservation – phonon space of a singlesite has infinite dimension → cut-off required

◮ Simple approach: Energy based cut-off

|m0, . . . ,mL−1〉 =L−1∏

i=0

(b†i )

mi

√mi !

|0〉 withL−1∑

i=0

mi ≤ M .

◮ Hilbert space dimension(

L+MM

)

can be reduced using translationsymmetry,

T |m0, . . . ,mL−1〉 = |mL−1,m0, . . . ,mL−2〉 .

◮ Improvements:◮ Eliminate the phonon mode with momentum q = 0◮ Density matrix based optimisation of the basis (see talk of H. Fehske)

Page 14: Iterative methods for sparse matrices

Basis for phonon systemsThe polaron problem

◮ Basic model: Holstein model with a single electron:

H = −t∑

i

(c†i ci+1 + H.c.) − gω0

i

(b†i + bi)ni + ω0

i

b†i bi .

◮ Bonca, Trugman et al. suggested a clever variational basis:◮ Work in reference frame of the electron◮ Starting from |0〉 add all states created by ≤ M applications of H◮ Equivalent to a mapping onto multi-band model

◮ Phonon occupation mi = 0 for sites more than M steps away from e−

◮ Allows solution of the problem on infinite lattice (momentum space)

Page 15: Iterative methods for sparse matrices

Lanczos algorithm

General facts

◮ Developed by Cornelius Lanczos in the 1950s

◮ Fast convergence of extremal (smallest or largest) eigenstates

◮ Simple iterative algorithm (only sparse MVM), low memory requirements

◮ Belongs to the class of Krylov space methods

Algorithm

◮ Starting from random |φ0〉 build a tridiagonal matrix with:

|φ′〉 = H|φn〉 − βn|φn−1〉 ,αn = 〈φn|φ′〉 ,

|φ′′〉 = |φ′〉 − αn|φn〉 ,βn+1 = ||φ′′|| =

〈φ′′|φ′′〉 ,|φn+1〉 = |φ′′〉/βn+1 ,

HN =

α0 β1 0 . . . . . . . . . . . . 0β1 α1 β2 0 . . . . . 00 β2 α2 β3 0 0

. . .. . .

. . .

0 . . 0 βN−2 αN−2 βN−1

0 . . . . . . . 0 βN−1 αN−1

.

Page 16: Iterative methods for sparse matrices

Lanczos algorithm

◮ For increasing N the eigenstates of HN converge to the eigenstates of H:

0 20 40 60 80iterations N

1e-15

1e-12

1e-09

1e-06

0.001

1E

N -

Eex

act

L = 12, N↑ = N↓ = 6: D = 853776

L = 14, N↑ = N↓ = 7: D = 11778624

◮ Example: Ground state of the 1D Hubbard model with L = 12 and 14,compared with exact Bethe ansatz result. Note: N ≪ D.

Page 17: Iterative methods for sparse matrices

Jacobi-Davidson algorithm

◮ Generalisation of Lanczos suggested by Sleijpen and van der Vorst◮ Combines Davidson’s method and a procedure by Jacobi◮ More reliable and faster for excited states,

but higher memory consumption compared to Lanczos◮ Algorithm:

1. Initialise the set V with a random normalised start vector, V1 = {|v0〉}.2. Compute all unknown matrix elements 〈vi |H |vj〉 of HN with |vi 〉 ∈ VN .

3. Compute an eigenstate |s〉 of HN with eigenvalue θ, and express |s〉 in theoriginal basis, |u〉 =

i |vi 〉〈vi |s〉.4. Compute the associated residual vector |r〉 = (H − θ)|u〉 and stop the

iteration, if its norm is sufficiently small.5. Otherwise, approximately solve the equation (e.g. with QMR)

(1 − |u〉〈u|)(H − θ)(1 − |u〉〈u|)|t〉 = −|r〉 .

6. Orthogonalise |t〉 against VN with the modified Gram-Schmidt methodand append the resulting vector |vN〉 to VN , obtaining the set VN+1.

7. Return to step 2.

Page 18: Iterative methods for sparse matrices

Polynomial expansionsMathematical background

-1 -0.5 0 0.5 1x

-2

-1

0

1

2

3

4

f(x)

T30(x)

x30

◮ Elementary task: Spectral density of aHermitian matrix H:

ρ(E ) =

D−1∑

k=0

δ(E − Ek)

Page 19: Iterative methods for sparse matrices

Polynomial expansionsMathematical background

-1 -0.5 0 0.5 1x

-2

-1

0

1

2

3

4

f(x)

T30(x)

x30

◮ Elementary task: Spectral density of aHermitian matrix H:

ρ(E ) =

D−1∑

k=0

δ(E − Ek)

◮ Ill-conditioned: Reconstruction of ρ(E )from standard power moments,

µn =

ρ(E )En dE = Tr[Hn]

→ most weight at boundaries,redundancy

Page 20: Iterative methods for sparse matrices

Polynomial expansionsMathematical background

-1 -0.5 0 0.5 1x

-2

-1

0

1

2

3

4

f(x)

T30(x)

x30

◮ Elementary task: Spectral density of aHermitian matrix H:

ρ(E ) =

D−1∑

k=0

δ(E − Ek)

◮ Ill-conditioned: Reconstruction of ρ(E )from standard power moments,

µn =

ρ(E )En dE = Tr[Hn]

→ most weight at boundaries,redundancy

◮ Better: Modified moments from orthogonal polynomials pn(E ),

µn =

ρ(E ) pn(E ) dE = Tr[pn(H)]

→ homogeneous weighting, stable reconstruction

Page 21: Iterative methods for sparse matrices

Polynomial expansionsChebyshev polynomials

◮ Prefered choice: Chebyshev polynomials of 1st kind

Tn(x) = cos(n arccos(x)) or Tn(x) = 2xTn−1(x) − Tn−2(x)

◮ With Re-scaling H → H = (H − b)/a, [Emin,Emax] → [−1, 1] follows

µn =

∫ 1

−1ρ(E )Tn(E ) dE = Tr[Tn(H)] ≈

R−1∑

r=0

〈r |Tn(H)|r〉/

R ,

where |r〉 denote normalised random vectors and R ≪ D

◮ Stable recursion relations yield

Tn(H)|r〉 = |rn〉 = 2H |rn−1〉 − |rn−2〉

◮ We only need sparse MVM → linear in dimension D

Page 22: Iterative methods for sparse matrices

Polynomial expansionsKernel polynomial method

0 0.5 1x

-5

0

5

10

15

20

25

30

Dirichlet kernel

-1

-0.5

0

0.5

1

1.5

N = 64

◮ Partial sum needs regularisation

ρ(E ) = 1

π√

1−E2

[

µ0 + 2

N−1∑

n=1

µnTn(E )]

Page 23: Iterative methods for sparse matrices

Polynomial expansionsKernel polynomial method

0 0.5 1x

-5

0

5

10

15

20

25

30

σ = π / N

Dirichlet kernel

Jackson kernel

-1

-0.5

0

0.5

1

1.5

N = 64

◮ Partial sum needs regularisation

ρ(E ) = 1

π√

1−E2

[

g0µ0 + 2

N−1∑

n=1

gnµnTn(E )]

◮ Approximation theory → Jackson kernel:

gn = 1N+1

[

(N − n + 1) cos πnN+1

+ sin πnN+1 cot π

N+1

]

Page 24: Iterative methods for sparse matrices

Polynomial expansionsKernel polynomial method

0 0.5 1x

-5

0

5

10

15

20

25

30

σ = π / N

Dirichlet kernel

Jackson kernel

-1

-0.5

0

0.5

1

1.5

N = 64

◮ Partial sum needs regularisation

ρ(E ) = 1

π√

1−E2

[

g0µ0 + 2

N−1∑

n=1

gnµnTn(E )]

◮ Approximation theory → Jackson kernel:

gn = 1N+1

[

(N − n + 1) cos πnN+1

+ sin πnN+1 cot π

N+1

]

◮ With Ei = cos[π(i + 1/2)/N ] we can use fast discrete Fourier transform:

ρ(Ei ) = 1

πq

1−E2i

{

g0µ0 + 2N−1∑

n=1

gnµn cos[πn(i + 1/2)/N ]}

Page 25: Iterative methods for sparse matrices

Polynomial expansionsDynamical correlations at T = 0

◮ Dynamical correlations at T = 0: similar structure like ρ(E )

χ(ω) =∑

k

|〈k|A|0〉|2 δ(ω − Ek)

◮ Standard methods (Lanczos, Jacobi-Davidson) yield ground state |0〉◮ Chebyshev moments follow from:

µn =

∫ 1

−1χ(ω)Tn(ω) d ω

= 〈0|ATn(H)A|0〉

◮ Advantage: Comparable effort for calculation of χ(ω) and |0〉

Page 26: Iterative methods for sparse matrices

Polynomial expansionsDynamical correlations at T > 0 (n > 0)

◮ Double summation & thermal weights spoil simple expansion

Re[σ(ω)] =1

ωZ

k,q

|〈k|J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

=1

ωZ

j(x , x + ω) [e−βx − e−β(x+ω)] dx

◮ Solution: 2D expansion of a matrix element density

j(x , y) =∑

k,q

|〈k|J|q〉|2 δ(x − Ek) δ(y − Eq)

µnm =

1∫

−1

1∫

−1

j(x , y)Tn(x)Tm(y) dx dy =∑

k,q

|〈k|J|q〉|2 Tn(Ek)Tm(Eq)

= Tr(

Tn(H)JTm(H)J)

≈ 1

R

R−1∑

r=0

〈r |Tn(H)JTm(H)J|r〉

◮ Advantage: A single expansion yields Re[σ(ω)] at all temperatures

Page 27: Iterative methods for sparse matrices

Polynomial expansionsTime evolution

◮ Chebyshev expansion can also be used to study quantum time evolution,

i ∂t |ψ〉 = H|ψ〉 ,◮ Simply expand the time evolution operator U(t) in Tk(H):

|ψt〉 = exp(− i Ht)|ψ0〉 =: U(t)|ψ0〉 ,

U(t) = exp(− i(aH + b)t) = e− i bt

[

c0 + 2N

k=0

ckTk(H)

]

,

ck =

1∫

−1

Tk(x) e− i axt

π√

1 − x2dx = (− i)kJk(at) .

◮ For k → ∞ the Bessel function Jk(z) decays superexponentially,

Jk(z) ∼ 1

k!

(z

2

)k

∼ 1√2πk

(e z

2k

)k

,

hence we can truncate the series at N & 1.5at.

Page 28: Iterative methods for sparse matrices

Polynomial expansionsTime evolution

◮ Chebyshev expansion method converges much faster than othermethods, e.g., Crank-Nicolson

(1 + 12 i H∆t)|ψn+1〉 = (1 − 1

2 i H∆t)|ψn〉 with ∆t = t/N ,

U(t) =

(

1 − i Ht/(2N)

1 + i Ht/(2N)

)N

.

-1

-0.5

0

0.5

1

Re[

U(x

)]

-1 -0.5 0 0.5 1x

-1

-0.5

0

0.5

1

Im[U

(x)]

exactChebyshevCrank Nicolson

◮ For illustration, substituteH → x and compare theapproximation of exp(i xt),where t = 10 and N = 15.

Page 29: Iterative methods for sparse matrices

Application to the polaron problemGeneral aspects

◮ We illustrate all techniques for the Holstein model with a single electron:

H = −t∑

i

(c†i ci+1 + H.c.) − gω0

i

(b†i + bi)ni + ω0

i

b†i bi .

◮ Physics is governed by two dimension-less parameters:

◮ phonon frequency vs electron transfer amplitude: α = ω0/t

retardation effects adiabatic regime (α≪ 1) ⇔ anti-adiabatic regime (α≫ 1)

◮ interaction strength: λ = εp/(2Dt) or g 2 = εp/ω0

weak- (λ≪ 1) ⇔ strong-coupling (λ≫ 1) regime few- (g 2< 1) ⇔ multi-phonon (g 2 ≫ 1) regime

Page 30: Iterative methods for sparse matrices

Application to the polaron problemGeneral aspects II

Questions:

◮ Polaron formation: Nature of “self-trapping” transition?

carrierconfinement concept fails!

phase transitionphenomenon

nonlinear *mpotential

deepening

◮ Crossover regime: Polaron transport?

1λ<< 1λ

ph

?

>>

���������������������������

���������������������������

◮ Influence of dimensionality? . . .

Page 31: Iterative methods for sparse matrices

Application to the polaron problemLow energy spectrum

◮ The Lanczos algorithm yields the low energy spectrum:

0 0.2 0.4 0.6 0.8 1k / π

-2.5

-2.0

-1.5

-1.0

-0.5

E +

g2 ω

0/2

g = 0.2

0 0.2 0.4 0.6 0.8 1k / π

g = 1.0

0 0.2 0.4 0.6 0.8 1k / π

g = 2.0

ω0 = 1

◮ We use the variational basis for the infinite system with cut-off M = 16

Page 32: Iterative methods for sparse matrices

Application to the polaron problemEffective mass

◮ From the dispersion we obtain the mass renormalisation:

1/m∗ = ∂2E (k)/∂k2∣

k→0

◮ polaron crossover at about λ ∼ 1 (g2 ∼ 1) is much sharper in higher D !

0 1 2 3 4λ = εp / (2Dt)

100

101

102

m* /

m0

D = 1D = 2D = 3

ω0 = 1

t = 1

Page 33: Iterative methods for sparse matrices

Application to the polaron problemStatic electron-lattice correlations

◮ Knowing the ground state, we can calculate static correlations, e.g.,

the spatial extend of the polaron: χ0,j =〈n0(b

†j + bj)〉

2g〈n0〉

weak coupling - adiabatic

−8 −6 −4 −2 0 2 4 6 8j

0.0

0.1

0.2

0.3

0.4

χ 0,j

λ=0.05 EDλ=0.50 ED

α=0.1

1D (N=16)

strong coupling - non-adiabatic

−8 −6 −4 −2 0 2 4 6 8j

0.0

0.2

0.4

0.6

0.8

1.0

χ 0,j

IVLF N=128ED N=16

IVLF N=128DMRG N=20

λ=1.5 α=3.0 λ=4.5 α=1.0

◮ Crossover from large to small size polarons (1D)

Page 34: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T = 0

◮ Inverse photoemission spectra (ARPES) described by spectral function

A(k, ω) = − 1π Im〈0|ck

1

ω − Hc†k|0〉

-4 -2 0 2 4ω

-10

-5

0

5

10

15

A(k

,ω)

g = 0.2

-4 -2 0 2 4ω

g = 1.0

-4 -2 0 2 4ω

g = 2.0

ω0 = 1

k=0

k=π

k=0 k=0

k=π k=π

◮ The expansion order of KPM is N = 1024

Page 35: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T = 0

◮ Inverse photoemission spectra (ARPES) described by spectral function

A(k, ω) = − 1π Im〈0|ck

1

ω − Hc†k|0〉

◮ The expansion order of KPM is N = 1024

Page 36: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 37: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 38: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 39: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 40: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 41: Iterative methods for sparse matrices

Application to the polaron problemDynamic correlations at T > 0

◮ Temperature dependence of the optical conductivity

Re[σ(ω)] =1

ωZ

k,q

|〈k |J|q〉|2 [e−βEk − e−βEq ] δ(ω − (Eq − Ek))

0 10ω

0

0.02

0.04

0.06

0.08

0.1

σ(ω

)

0.010.113.16210100

g=√5, ω0=0.8

0 10ω

0

0.05

0.1

0.15

0.20.010.113.16210100

g=√10, ω0=0.4

◮ Low T → deviations from analytic Reσ(ω) = σ0 e−(ω−2εp )2/(4εpω0)

ω√

εpω0

◮ High T → weight transfer to ω ∼ 2t

Page 42: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 43: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 44: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 45: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 46: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 47: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 48: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 49: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 50: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 51: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 52: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 53: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 54: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 55: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 56: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 57: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 58: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 59: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 60: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 61: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 62: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 63: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 64: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 65: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 66: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 67: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 68: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 69: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 70: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 71: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 72: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 73: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 74: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 75: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 76: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 77: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 78: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 79: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 80: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 81: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 82: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 83: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 84: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 85: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 86: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 87: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 88: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 89: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 90: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 91: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 92: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 93: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 94: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 95: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 96: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 97: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 98: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 99: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 100: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 101: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 102: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 103: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 104: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 105: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 106: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 107: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 108: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 109: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 110: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 111: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 112: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 113: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 114: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 115: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 116: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 117: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 118: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 119: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 120: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 121: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 122: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

50 100 150 200

0.025

0.05

0.075

0.1

0.125

0.15

0.175

0.2

Page 123: Iterative methods for sparse matrices

Application to the polaron problemTime evolution

◮ Formation of a polaron, given a single-electron wave packet:

0

0.05

0.1

0.15

0.2

⟨ni⟩

g = 0.4ω0= 1

0 50 100 150i

0

0.05

0.1

0.15

0.2

⟨ni⟩

time

0 0.1 0.2 0.3 0.4 0.5k / 2π

−2

−1

0

1

2

speeddifference

polaronfree electron

ε’(k

)ε(

k),

Page 124: Iterative methods for sparse matrices

Summary

◮ Quantum many-particle problems → high-dimensional sparse matrix H

◮ Symmetries → substantial reduction of problem dimension D

◮ Some systems (phonons) require further tricks / cut-offs

◮ Usually iterative methods are linear in D (only sparse MVM)

◮ Dimensions can reach D ∼ 1010 or more

◮ We can calculate:◮ Extremal eigenstates & static correlations,◮ Approximations of spectral densities,◮ Dynamic correlations & linear response both at T = 0 and T > 0,◮ Quantum time evolution

Page 125: Iterative methods for sparse matrices

Literature

◮ J.K. Cullum, R.A. Willoughby, Lanczos Algorithms for Large Symmetric

Eigenvalue Computations, Birkhauser (Boston 1985)

◮ G.L.G. Sleijpen, H.A. van der Vorst, A Jacobi-Davidson iteration

method for linear eigenvalue problems, SIAM J. Matrix Anal. Appl. 17,401–425 (1996)

◮ Y. Saad, Iterative Methods for Sparse Linear Systems,Numerical methods for large eigenvalue problems

see http://www-users.cs.umn.edu/∼saad/

◮ A.Weiße, G. Wellein, A. Alvermann, H. Fehske, The kernel polynomial

method, Reviews of Modern Physics 78, 275 (2006)

◮ . . . “Computational Many-Particle Physics”, Lecture Notes in Physics,Springer (2007)