Exact Diagonalization: Introduction · Symmetries in ED II Consider the simplest parent...
Transcript of Exact Diagonalization: Introduction · Symmetries in ED II Consider the simplest parent...
Exact Diagonalization: Introduction
C o n d e n s e d M a t t e r S u m m e r S c h o o l 9 / 5 - 9 / 9
H o n g - Y i C h e n National Taiwan Normal University, Taipei, Taiwan1
Matrix
2
U
Ut
Ut
Utt
tU
tt
t
tU
tt
t
ttU
t
t
H
2000000000000000
00000000000000
00000000000000
0000000000000
00000000000000
0000000000000000
00000000000000
000000000000000
00000000000000
00000000000000
0000000000000000
000000000000000
0000000000000
000000000000000
000000000000000
0000000000000000
Ingredients
Hilbert space
Basis representation, Lookup techniques
Symmetries
Hamiltonian Matrix
Sparse Matrix representation (memory/disk)
Matrix recalculation on the fly (matrixfree)
Linear Algebra : Eigensolver / Time propagation
LAPACK full diagonalization
Lanczos type diagonalization (needs only operations)
More exotic eigensolver techniques, imaginary-time propagation,
Observables
Static quantities (multipoint correlation functions, correlation density
matrices,...)
Dynamic observables (spectral functions, density of states,...)
Real-time evolution
3
Lattice model
Direct diagonalization of Hamiltonian matrix on finite clusters
Hilbert space, Symmetries
Hamiltonian matrix
Linear Algebra
Observables
4
Representation of Many-Body States
Mapping to (binary) integers:
Spin1/2 Heisenberg:
For example
Hubbard:
For example
mj,
5101
61001
5
Symmetries in ED I
The inclusion of symmetries in an ED code has two major
advantages:
Quantum number resolved energies and states.
Reduction of the Hilbert space to be diagonalized.
Given group G with generators {gp}
[H, gp] 0 H block diagonal (Hilbert space can be divided)
6
Symmetries in ED II
Consider the simplest parent Hamiltonian, the Heisenberg
model on a chain.
The dimension of Hilber space is 2N
For exmaple N 20 220 1048576 @ 106
To store a real number (double precision) in computer we need 8 Bytes.
To store the matrix element of the above Hamiltonian we need:
Number of bytes 8 (106)2 @ 8000GB
Considering the Sz symmetry
For example, the most amount of basis is total Sz 0
10 upspin, 10 downspin
Number of bytes 8 (105)2 @ 80GB
i
iiJH 1SS
520
10 10184756!10!10
!20@C
7
Symmetries in ED III
Continuous:
U(1) related symmetries
Conservation of particle number(s)
Conservation of total Sz
SU(2) symmetry
Difficult to implement together with spatial symmetries
For Sz 0 an operation called “spin inversion (Z2)” splits the Hilbert
space in even and odd spin sectors.
Spatial symmetry groups:
Translation symmetry (abelian symmetry, therefore 1D irreps)
Pointgroup symmetries (in general nonabelian)
8
Sparse Matrix
U
Ut
tU
Ut
tU
Utt
tt
tt
ttU
t
t
t
t
H
2
0
0
0
0
0
0
0
0
0
9
Hamiltonian Matrix Storage
Different possibilities exist:
Store Hamiltonian matrix elements in memory in a sparse matrix
format
Fast matrix vector multiplies, but obviously limited by available memory.
Store Hamiltonian matrix elements on disk in a sparse matrix
format.
In principle possible due to the vast disk space available, but I/O speed
is much slower than main memory access times. Difficult to parallelize.
Recalculate the Hamiltonian matrix elements in each iterations
“on the fly”.
Needed for the cutting edge simulations, where the whole memory is
used by the Lanczos vectors. Can be parallelized on most architectures.
10
Diagonalization routine
If H is dense or system small enough
Use
Jacobi
Householder
LAPACK
...
(all these apply orthogonal transformations to H until tridiagonal
form, then quickly diagonalize)
If H is sparse
Use
ARPACK
IETL/ALPS
DiagHam
(these are iterative solvers based on variants of Lanczos algorithm
which preserves the sparseness of H)
11
LAPACK
Complete diagonalization routine written in F77 (Fortran)
Support all kind of data structure
Real, Real (double precision), complex, complex (double precision)
Support most of matrix formation
Symmetric, Hermitian, Tridigonal, ...
Useful for:
Simple problems, testing
Matrix H dense
Many eigenstates required
But
H must be stored
Entire matrix must be diagonalized
12
Linear Algebra I
Lanczos algorithm:
C. Lanczos, J. Res. Natl. Bur. Stand. 45, 255 (1950).
Iterative “Krylov” space method which brings matrices into
tridiagonal form.
Method of choice in many largescale ED programs.
Works well for sparse, shortrange H
Very rapid convergence but numerically unstable (can be controlled by a
suitable techniques).
Easy to implement and memory efficient only 3 vectors needed at once
If the ground state (energy) or some low energy spectrum is
interesting, the Lanczos method may help us. Using Lanczos and
considering the Sz 0 symmetry of the model above, the required
memory to get the ground state (energy) and few low lying states is:
Number of bytes @ 30×184756 5542680Bytes @ 55MB
The required memory is available as RAM in any personal computer.
13
Linear Algebra II
“modified Lanczos” algorithm:
E. Gagliano, et al. Phys. Rev. B 34, 1677 (1986).
actually more like a Powermethod, therefore rather slow
convergence.
needs only two vectors in memory
At each step the approximate groundstate wavefunction is
available
Difficult to get excited states
Jacobi-Davidson Algorithm:
E. R. Davidson, Comput. Phys. 7, 519 (1993).
subspace expanded by diagonal approximation to inverse iteration
varying number of vectors in memory
higher-order convergence than Lanczos (usually)
Rapid convergence, especially for diagonally dominant matrices
(Hubbard model)
Often used in DMRG programs as well.
14
Lanczos
11
1
1
/
nn
n
nn
nn
nnn
b
b
a
a
bH
NN
NNN
ab
bab
bab
bab
ba
N
N
T
11
433
322
21
1
3
2
1
00 b
space Krylov , , 0
NN
N
NN
N NaH
At each step n, find the lowest
eigenvalue of that matrix
Stop when the lowest eigenvalue
E0 has converged (ΔE0/E0 < 1012)
15
Roundoff errors and ghosts
In exact arithmetic the vectors {i} are orthogonal and the
Lanczos iterations stop after at most N 1 steps. The
eigenvalues of T are then the exact eigenvalues of H.
Roundoff errors in finite precision cause a loss of
orthogonality so that the matrix T contains extra spurious
eigenvalues, called “ghosts”.
16
Roundoff errors and ghosts
There are two ways to deal with that:
Reorthogonalization of the vectors after every step. This requires
storing all of the vectors {i} and is memory intensive. (you don’t
want to do it)
Control of the effects of roundoff.
We will discuss the second solution as it is faster and needs
less memory.
The main effect of roundoff errors is that the matrix T
contains extra spurious eigenvalues, called “ghosts”. These
ghosts are not real eigenvalues of H.
However they converge towards real eigenvalues of H over
time and increase their multiplicities.
17
Roundoff errors and ghosts
A simple criterion distinguishes ghosts from real eigenvalues.
Ghosts are caused by roundoff errors. Thus they do not
depend on the starting vector i. As a consequence these
ghosts are also eigenvalues of the matrix T’, which can be
obtained from T’ by deleting the first row and column:
Criterion to distinguish ghosts from real eigenvalues:
All multiple eigenvalues are real, but their multiplicities might be
too large.
All single eigenvalues of T which are not eigenvalues of T’ are also
real.
NN
NNN
ab
bab
bab
bab
ba
T
11
433
322
21
'
18
Degenracy
19
Green’s functionContinued fraction
Zero temperature Green’s function
Consider the diagonal element
Use the expansion
jiij
jiij
cEH
cG
ctcitG
0
1)(
)0()()(
iiiiiiEH
Gc
0
1
2
32
1111H
zH
zzHz
20
Green’s functionContinued fraction
Truncated expansion evaluated exactly in Krylov subspace
generated by i
We perform a Lanczos procedure on i, then Gii is given by
Jacobi continued fraction
2
2
21
2
10
a
ba
ba
Gii
ii
21
Green’s functionContinued fraction
Non-diagonal element
Define k (cicj) , we obtain
Since Gij Gji, then
)(1
)()(0
jijiij ccEH
ccG
2
2
21
2
10
a
ba
ba
Gkk
ij
][2
1jjiiij GGGG
ij
22
Green’s functionLehmann representation
Lehmann representation
Extended Krylov space form a band Hamiltonian (2L1
diagonals)
n n
i
m m
i
i
nn
jj
mm
iij
EE
cn
EE
mc
cnEE
nccmEE
mcG
0
2
0
2
00
11)(
...L ic ii 1 ,
LiaH N
i
N
ii
N ...1 , )(
23
Green’s functionRecursion
Green’s function
HQ QT
where ji is calcuated by band Lanczos method
...L ic ii 1 ,
[ ]321 φφφQ
1
0
1
0
11)(
EHc
EHcG jiij
NN
NNN
ab
bab
b
babb
bbab
bba
1,
1,11,1
42
4133132
4231221
32211
T
24
Green’s functionRecursion
Recursion
where
0
0
0
1
1
3
2
1
1 φφ
φ
φ
φQ
110
1
0
1
1
0
1
1
0
1
1
1
1
1)(
E
E
E
EG ij
T
φQT
Qφ
φQQH
QQφ
φH
φ
25
Finite Temperature Lanczos Methods
These methods (FTLM, LTLM) combine the Lanczos method
and random sampling to go to larger systems.
For high to moderate temperatures these methods can obtain
results basically in the thermodynamic limit.
The Low Temperature Lanczos Method can also go to low
temperatures to get correct results on a given sample. Finite
size effects however persist.
Like the T 0 ED method it is most useful, where QMC or T
DMRG etc fail, such as frustrated and fermionic models.
26
FTLM
In the canonical ensemble, the thermal average of a physical
quantity A at finiteT in orthonormal basis n is defined as
High temperature expansion gives
From two successive Lanczos procedures for two operators
N
n
H
N
n
H
nenZ
nAenZ
A
1
N
n
k
k
k
N
n
k
k
k
nHnk
Z
nAHnkZ
A
0
0
!
)(
!
)(1
l
j
k
ij
M
i
M
j
jii
lk nABnnABHHn )~()(~~
0 0
27
FTLM
We obtain (k < M)
The superscript (n) means that i(n) and i
(n) are obtained in Lanczos
algorithm with the initial state i(n)
Extend the results to k > M, the approximate expressions are
It is very expensive to calculate all n
M
i
kn
i
n
i
n
i
k nAnnAHn0
)()()( )(
N
n
M
i
n
i
n
i
N
n
M
i
kn
i
n
i
n
i
k
k
N
n
M
i
n
i
n
i
N
n
M
i
kn
i
n
i
n
i
k
k
nneZ
nnk
Z
nAneZ
nAnkZ
A
ni
ni
0
)()(
0
)()()(
0
0
)()(
0
)()()(
0
)(
)(
1)(
!
)(
1)(
!
)(1
28
FTLM
Stochastic sampling of Krylov space: Replace the summation
of the full Hilbert space by a sum over random number of
states
Ss over symmetry sector of dimension Ns
Sr over R random starting vectors r
s
R
r
M
i
r
i
s
R
r
M
i
r
i
r
i
reZ
rAreZ
A
ri
ri
2)(
)()(
)(
)(1
29
LTLM
Since FTLM is related to highT expansion, i.e., T limit
correct, the limit of T 0 does not lead to the ground state
expectation value.
One more Lanczos procedure for each sampling
In the limit of T 0
s
R
r
M
i
r
i
r
i
s
R
r
M
i
r
i
r
j
r
j
M
j
reZ
rAreeZ
A
ri
rj
ri
2)(
)()()()(2/2/
)(
)()(1
00 AA
30
Strongly Correlated Systems
Hubbard model
Heisenberg model
High-Tc superconductor
Quantum Phase Transitions
31
Applications
Quantum Magnets: nature of novel phases, critical points in
1D, dynamical correlation functions in 1D & 2D
Fermionic models (Hubbard/tJ): gaps, pairing properties,
correlation exponents, etc
Fractional Quantum Hall states: energy gaps, overlap with
model states, entanglement spectra
Quantum dimer models or other constrained models (anyon
chain..)
Full Configuration Interaction in Quantum Chemistry
32
Largest system reached
S 1/2 spin models
square lattice: N 40
triangular lattice: N 39
maximum dimension of basis: 1.5 billion
tJ models
checkerboard lattice with 2 holes: N 32
square lattice with 2 holes: N 32
maximum dimension of basis: 2.8 billion
Hubbard models
square lattice at half filling: N 20
quantum dot structure: N 20
maximum dimension of basis: 3 billion
Holstein models
chain with N 14 phonon pseudo-sites
maximum dimension of basis: 30 billion
33
Exact diagonalization is expensive!
Why use ED then?
Robust, unbiased and completely versatilealmost anything can be
calculated!
There are models which are not easy to access via other models
(e.g. frustrated magnets)
Error is at least as low as 1014 numerical precision
Exploiting symmetries reduces computational effort and gives
physical information about eigenstates (good quantum numbers)
34
The best we can do: Low-lying states
Low-lying states sufficient for lowtemperature physics;
Low-lying states important for quantum phase transitions, e.g.
magnetization jumps.
Several methods available to obtain extreme eigenvalues:
projection, Lanczos, DMRG.
35
Exact Diagonalization: Application
Spin1/2
C o n d e n s e d M a t t e r S u m m e r S c h o o l 9 / 5 - 9 / 936
Heisenberg model
i
ij
ij
i hJ BSSS
H
37
Spin1/2 system
Define ladder operators:
The basis of Hilbert space
The Hamiltonian becomes
y
i
x
ii iSSS
y
i
x
ii iSSS
mj,
ij
jiji
z
j
z
i
ij
y
j
y
i
x
j
x
i
z
j
z
i SSSSSSJSSSSSSJH ][2
1][
38
Three spin1/2 Heisenberg model
Non-periodic boundary condition
The size of the system is 23 8
The trial basis states are
][2
1][
2
1323232212121
SSSSJSJSSSSSJSJSH zzzz
7111
6110
5101
4100
3011
2010
1001
0000
39
The Hamiltonian matrix
The Hamiltonian in the given basis is
2
02
220
22
0000
2000
200
22
20
2
J
J
JJJJ
J
JJJ
J
J
H
40
Magnetization
The magnetization is
The size of the largest block is
Mz 1/2 or 1/2
The new basis states become
74
62
51
30
23
21
21
21
21
21
21
23
zz
zz
zz
zz
MM
MM
MM
MM
i
z
iz SM
33
1 C
41
Magnetization
The Hamiltonian becomes
2
02
222
20
02
222
20
2
2321212121212123
J
J
JJJ
J
J
JJJ
J
J
H
42
How does the computer work
Declare a vector A[m] to store basis states
For example:
Next, act H on the basis states
For example:
Then, we need to find out the corresponding index with
respect to the basis
7]8[6]7[5]6[4]5[
3]4[2]3[1]2[0]1[
AAAA
AAAA
42
1222
2]3[JJJJ
HHAH
5 , ]5[4
2 , ]2[1
2
1
jA
jA
43
How does the computer work
The most efficient way: declare a vector B[m], m 0 to 7
Therefore we have
and
The matrix elements are
8]7[7]6[6]5[5]4[
4]3[3]2[2]1[1]0[
BBBB
BBBB
2
1
4]]4[[
2]]2[[
jAB
jAB
2)4,3(),(
2)2,3(),(
2
1
JHjiH
JHjiH
44
Two-Table method
Divide lattice to two sublattice
For example: site1,2 and site3
83351
72251
61151
50051
43310
32210
21110
10010
2,13
2,13
22
jjj
iii
45
Two spin3/2 Heisenberg model
The size of the system is 42 16
][2
1212121
SSSSJSJSH zz
23
23
23
21
21
23
21
21
21
23
21
21
23
23
23
21
23
21
23
23
21
21
21
23
21
21
21
23
23
21
23
23
46
Two-bit per-site
23
21
23
23
11
10
01
00
11 1111 01
10 1110 01
01 1101 01
00 1100 01
11 1011 00
10 1010 00
01 1001 00
00 1000 00
23
23
23
21
21
23
21
21
21
23
21
21
23
23
23
21
23
21
23
23
21
21
21
23
21
21
21
23
23
21
23
23
47
Magnetization Mz 3, 2, 1, 0, 1, 2, 3
The Basis and lookup tables
11 11
10 1111 10
01 1110 1011 01
00 1101 1010 0111 00
00 1001 0110 00
00 0101 00
00 00
23
23
21
23
23
21
21
23
21
21
23
21
23
23
21
21
21
21
23
23
23
21
21
21
21
23
23
21
21
23
23
23
15]16[14]15[11]14[13]13[10]12[7]11[12]10[9]9[
6]8[3]7[8]6[5]5[2]4[4]3[1]2[0]1[
AAAAAAAA
AAAAAAAA
16]15[15]14[13]13[10]12[14]11[12]10[9]9[6]8[
11]7[8]6[5]5[3]4[7]3[4]2[2]1[1]0[
BBBBBBBB
BBBBBBBB
48
Hamiltonian matrix elements
J
JJ
JJ
JJ
JJJ
JJ
JJ
JJJ
JJJ
JJ
JJ
JJJ
JJ
JJ
JJ
J
H
49
43
23
23
43
43
41
43
49
23
23
41
41
23
23
49
43
43
43
43
23
23
43
49
30
33
03
00
20
02
00
30
33
03
15
14
11
13
10
7
12
9
6
3
8
5
2
4
1
0
49
Exact Diagonalization: Application
Hubbard Model
C o n d e n s e d M a t t e r S u m m e r S c h o o l 9 / 5 - 9 / 950
Hubbard Model
i
iii
ij
i nnUcct ˆˆ
H
1 2 3 4
UHO
LHO
U
51
Atomic Ground State (t 0)
Four possible occupation of a single site
U
H
000
0000
0000
0000
2
0
52
A. Non-interacting electrons
Assume j to be Wannier wave functions (Fourier transform of
Bloch orbitals)
Assume tij is nonzero only when i,j are nearest neighbors
Diagonalize the Hamiltonian by a Fourier transformation
ij
jiij cctH0
jiij vm
t ˆ2
22
( ) ij
ijji cccctH0
j
j
ikj
k ceL
c1
53
A. Non-interacting electrons
Then the Hamiltonian in j basis becomes
where εk 2t cos(k)
k
kkk ccH 0
<
Fkkkk
ccGS 0
54
A. Non-interacting electrons
Particle-hole excitation
where εk(q) εk+q εk
As the energy of the particle-hole excitation εk(q) can be made
arbitrarily small,︱GS〉characterizes a metal.
nkqkqkn GSccHH
00
55
B. Electron-electron interaction
Two-site case
)()(110001100110
nnnnUcccccccctHHH Ut
U
Ut
Ut
Utt
tU
tt
t
tU
tt
t
ttU
t
t
H
222
2
2
20
2
0
2
0
02
0
0
00
56
B. Electron-electron interaction
57
N 2 and Sz 0
Declare a matrix A(1:4)
0101
1001
0110
1010
→ Decimal
569
10→ Binary
States Basis
10)4(
9)3(
6)2(
5)1(
A
A
A
A
Site 0Site 1
58
N 2 and Sz 0 : Diagonal elements
Basis states
Acting on-site Coulomb interaction HU on the basis states
01015)1(1 Aj
U
U
HU0
0
1010
0110
1001
0101
59
N 2 and Sz 0 : Off-Diagonal elements
Acting hopping terms Ht on the basis states
How does the computer work to come out the same results?
001015)1(001
ccAj
32
00010010
00010001
00010001
00011001101
00
00
00
0)(
jj
j
tt
ccctcccctc
ccctcccctc
ccctcccctc
cccccccccctH t
60
N 2 and Sz 0 : Off-Diagonal elements
Acting hopping terms Ht on the basis states
Count the number of electrons between site i and site j
0][0][
11 NN rrrrcccc
ji
NjiN
NNji
jiji
rr
rrrr
NN
rr
rrrrrr
rrrr
cc
cccccc
cccccc
cccc
0][)1()1(0][
0][0][
11
11
3
0
0001101
2
0
0001101
)1(0
)1(0
cccccc
cccccc
61
N 2 and Sz 0 : Off-Diagonal elements
Similar to other basis states
Therefore in these basis states, the Hamiltonian has the
following matrix representation.
324
413
412
321
ttH
ttH
ttH
ttH
t
t
t
t
tt
tt
tt
tt
H t
1010
0110
1001
0101
62
N 2 and Sz 1 , 1
For Sz 1 , the basis state is
For Sz 1 , the basis state is
0 and 0 Ut HH
00
00
0 and 0 Ut HH
1100
0011
63
N 0 Block Diagonal Structure
0
0
0011
1010
0110
1001
0101
1100
Utt
tt
tt
ttU
H t
64
The Block Diagonal Structure
U
Ut
tU
Ut
tU
Utt
tt
tt
ttU
t
t
t
t
H
2
0
0
0
0
0
0
0
0
0
22
2
2
2
2
20
02
0
0
0
0
00
65
Two-Table method
For example: Up configuration and Down configuration
610005311
522103210
411013210
322101101
211011101
113110000
21
21
22
jjj
iii
66
How to implement
Use subroutine (in Fortran 77 or c), module (in Fortran
90/95/2003), or object (in c or python) to structure your code
Write an object (here it means subroutine, module, or object
in different language) to store the symmetrized basis states
and lookup table
Write an object to calculate the matrix elements and assign it
to a matrix
Call the diagonalization routine using LAPACK/ARPACK/...
Write an object to calculate the observable quantities
67
Main piece of wisdom
DO NOT start writing your own code from the scratch (unless
really forced to)
68