* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
EPR paradox wikipedia , lookup
Interpretations of quantum mechanics wikipedia , lookup
Particle in a box wikipedia , lookup
Quantum entanglement wikipedia , lookup
Quantum decoherence wikipedia , lookup
Quantum machine learning wikipedia , lookup
Hydrogen atom wikipedia , lookup
Bra–ket notation wikipedia , lookup
History of quantum field theory wikipedia , lookup
Perturbation theory (quantum mechanics) wikipedia , lookup
Quantum teleportation wikipedia , lookup
Scalar field theory wikipedia , lookup
Tight binding wikipedia , lookup
Hidden variable theory wikipedia , lookup
Quantum key distribution wikipedia , lookup
Quantum group wikipedia , lookup
Quantum state wikipedia , lookup
Molecular Hamiltonian wikipedia , lookup
Canonical quantization wikipedia , lookup
ALGORITHMIC PERSPECTIVE ON STRONGLY CORRELATED SYSTEMS (i.e. computational condensed matter) Lecture: Exact Diagonalization Fall 2015 Professor: Bryan Clark Exact Diagonalization Microscopic H Emergent Degrees of Freedom Computation H Exact Diagonalization O(2n) Choose a basis All binary numbers Sz or second quantized states Conserve Quantum Numbers Build the matrix Dense Need to compute matrix elements Sparsely on the fly… Diagonalize Lapack! Iterative Techniques (for just the ground state) Power Method Need fast matrix-vector Lanczos multiplication Measure Tower of states Entanglement The limits of exact diagonalization Choosing a basis: all binary numbers H= ij Q: How many non-zeros per row? 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 X si · sj 0000 0010 0010 0011 0100 0101 0110 0111 1000 1001 1100 1101 1110 1111 # # # # # # # # # # # Note: fill this matrix intelligently Choosing a basis: simple quantum numbers (Sz sector) For example: Sz=0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0010 0010 0011 0100 0101 0110 0111 1000 1001 1100 1101 1110 1111 # # # # # # # # # # # Choosing a basis: simple quantum numbers (Sz sector) Diagonalize smaller blocks Diagonalize O(N3) Can be ~ factor of 1000 Sz=-2 Sz=-1 Sz=0 Sz=1 Now call Lapack (in Julia: eig( ) ) An explicit example H= X hi,ji s~i · s~j (s1 · s2 )| ", #, "i = ↵| ", #, "i + | #, ", "i H| ", #, ", #i = (s~1 · s~2 + s~2 · s~3 + s~3 · s~4 + s~4 · s~1 )| ", #, ", #, "i ↵| ", #, ", #i + | #, ", ", #, i + | ", ", #, #i + | ", #, #, "i + | #, #, ", "i 0011 0101 0110 1001 1010 1100 0011 0101 0110 1001 1010 1100 0 ↵ We have now discussed the plain vanilla diagonalization. There are two ways in which you might want to go beyond this. 1. Iterative Techniques (just the ground state but for much larger systems) 2. More quantum numbers Iteration Input: fast matrix-vector multiplication output: the lowest few ground-state eigenvectors and eigenvalues Start with T Filter out the ground state. Many choices: 1. power method 2. lanczos 3. jacobi-davidson Iteration Input: fast matrix-vector multiplication output: the lowest few ground-state eigenvectors and eigenvalues Start with T Filter out the ground state. Many choices: 1. power method 2. lanczos 3. jacobi-davidson Power method | i = ↵0 | 0 i + ↵1 | X | i= ↵i | i i i exp[ H]| i = lim exp[ !1 X e ⇤ ⌧H /⌧ + .... ↵i exp[ H]| i = ↵0 exp[ ⇡ [1 Ei ]| i But we don’t have access to exp[ ⇥ 1i H] ⌧ H] /⌧ Need to store one vector in RAM. Need to do matrix-vector multiplication quickly. E0 ]| ii 0i ⇥ ⌧H Power method e What sets ⇤ /⌧ ⇡ [1 /⌧ ⌧ ? [exp[ 1i H]| = exp[ E] ⌧ 1 exp[ E What sets ⌧< ⌧ H] ⌧ ? 2 Emax Emin E1 ]| ] [exp[ 1i ⌧ H]| 0i = exp[ E0 ]| ] 0i Iteration Input: fast matrix-vector multiplication output: the lowest few ground-state eigenvectors and eigenvalues Start with T Filter out the ground state. Many choices: 1. power method 2. lanczos 3. jacobi-davidson Multiplying fast = (Sparse[H])v = ṽ n2 2n non-zeros (buzz-phrase: CSC) might be hard to fit into ram Slower but more memory efficient to build it on the fly… hj|M |vi = X i hj|H|iihi|vi Given an element i, find the elements j such that <j|H|i> is not zero. Algorithm for multiplying fast hj|M |vi = X i hj|H|iihi|vi Given an element i, find the elements j such that <j|H|i> is not zero. Algorithm: Loop over i 6 0 Produce a list of all (j, hj|H|ii) such that hj|H|ii = Sum the term hj|H|iihi|vi onto v[j] the hard part: where in your vector is v[j]? Repeat A variety of bit-twiddling trick can speed this up. Where is v[j] One possibility: Just list the basis elements and do a binary search at each step. or use a hash-table largely slow because you are jumping all around in memory A better choice: have a fast way to find out what location you’re at. not always possible…consider first with Sz quantum numbers lin tables lin tables 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 0 1 2 3 4 00 01 10 11 0 01 00 01 10 11 1 2 10 00 01 10 11 3 4 11 00 01 10 11 5 5 lin tables 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 0 + 0 1 2 3 4 01 10 1 + 3 + 5 11 5 + 00 01 10 11 0 00 01 10 11 0 1 00 01 10 11 0 1 00 01 10 11 0 lin tables 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 0 + 00 01 10 11 0 0 1 0 1 + 00 01 10 11 0 0 1 0 00 01 10 11 0 0 1 0 00 01 10 11 0 0 1 1 0 1 2 3 4 01 10 3 + 5 11 5 + lin tables 00 0+ 00 0 01 1+ 01 0 10 3+ 10 1 11 5+ 11 0 Iteration Input: fast matrix-vector multiplication output: the lowest few ground-state eigenvectors and eigenvalues Start with T Filter out the ground state. Many choices: 1. power method 2. lanczos 3. jacobi-davidson A quick aside The variational principle E[ (r1 , r2 , ...rn )] E[ h 0 (r1 , r2 , ...rn )] T |H| Ti E0 = E0 = (↵0 h 0| + ↵1 h 1 |) H (↵0 | 0i + ↵1 | 1 i) Macdonald’s Theorem: If you have k orthogonal states then each one is an upper bound to the true k’th excited state. Consider the state | i = (1 ⌧ H)n | n X = f (i)H i | i=1 Ti Ti Its energy is greater then the true ground state for any n. Its energy is greater then the true ground state. Q: Can we do better? Consider the state | i = (1 ⌧ H)n | n X = f (i)H i | i=1 Ti Ti Its energy is greater then the true ground state for any n. Its energy is greater then the true ground state. Q: Can we do better? Yes! Instead of using these value of f(i), why don’t we choose the variationally best possible f(i)? How should we do this? Build the following (non-orthogonal) basis: {| T i, H| 2 i, H | T T i, ...} Diagonalize in that basis. Notice: After 2n, steps we converge everything exactly; but useless because we have to diagonalize the whole matrix in a different basis. After n, steps we have an answer better then the power method. In practice, converges very quickly to low eigenvalues. Some important details about Lanczos: 1. Lanczos gives you many states. 2. Please don’t write your own lanczos for professional work. 3. Mathematically, you don’t actually have to orthogonalize against all the former states explicitly to nonetheless get orthogonalization against all the former states. You need to only orthogonalized against the most recent ones. 4. In practice if you do this, you will still have numerical issues. In particular, as lanczos converges to the true eigenstates, ghost values begin showing up. This can be dealt with by partially orthogonalized en route. We have now discussed the plain vanilla diagonalization. There are two ways in which you might want to go beyond this. 1. Iterative Techniques (just the ground state but for much larger systems) 2. More quantum numbers Without more quantum numbers, this will get you up to about N=32 Additional Symmetries: Translation, etc. Additional Quantum Numbers: momentum, etc. We’ve seen how to use Sz quantum numbers by essentially re-ordering rows and columns. To use translation (and point group) symmetries, we will need to change the basis elements. 1. what basis? 2. how to get hamiltonian matrix elements? Consider translation on the ring. The states we want are not |1000i or |0100i but instead Q: Why? |0001i + ei⇡/2 |0100i + ei⇡ |0010i + ei3⇡/2 |1000i |0] 001i (sloppy with normalization) Suppose we can pick basis elements which are eigenstates of K̂ (bloch states) which commute with the Hamiltonian. [K̂, Ĥ] = 0 e + |Bi] e HK|0] 001i = Hei✓ |0] 001i = ei✓ H|0] 001i = ei✓ [|Ai e + |Bi] e = ei✓A |Ai e + ei✓B |Bi e KH|0] 001i = K[|Ai A and B are in the same quantum number sector, 1. what basis? The symmetry group is {T, T2, T3, T4 } I am a group. Quantum number is k 2 {0, ⇡/2, ⇡, 3⇡/2} Start with a state. Apply all the symmetry operations. ikx e 2ikx 2 e T |0001i = |0100i 3ikx T 3 |0001i = |1000i e T |0001i = |0010i Notation: (T ) The Hamiltonian doesn’t connect basis elements between different quantum numbers. T 4 |0001i = |0001i This is the new basis element in the k sector. We’ve replaced [1000], [0100], [0010], [0001] with one element in that sector. |0] 001i = |0001i + ei⇡/2 |0100i + ei⇡ |0010i + ei3⇡/2 |1000i Represent this state compactly in our computer by [0001] (generally the smallest bit string) 2. how to get hamiltonian matrix elements? 6 0 Need to produce a list of all (j̃, hj̃|H|ĩi) such that hj̃|H|ĩi = Less sloppy normalization: |j̃i = N 1 p X |G| g2G (g)|g(r)i N= s X (g) g2G,g(r)=r sometimes symmetry operations bring you back to yourself. Matrix Elements Break H into pieces H = X h↵ such that h↵ acting on a representative r generates only one basis element s. ↵ Then Nj e e hj|h↵ |ii = (g ⇤ )h↵ (i) Ni Prescription Loop over i (in a Sz basis) Loop over alpha (in a Sz basis) Generate j using h↵ |ii Nj Add ( |eji, he j|h↵ |eii = (g ⇤ )h↵ (i) ) to list Ni ji Given j what’s |e What is the g* which connects j to Where is |e ji |e ji which we need for fast matrixvector multiplication on the fly, lookup table? Parallelization = Anderson Tower of States Q: In the thermodynamic limit what does the ground state look like for a solid? Am I the ground state? Anderson Tower of States Q: In the thermodynamic limit what does the ground state look like for a solid? Am I the ground state? What about these? Anderson Tower of States Q: In the thermodynamic limit what does the ground state look like for a solid? Am I the ground state? What about these? Spontaneous symmetry breaking Anderson Tower of States Q: In a finite system what does the ground state look like for a solid? Am I the ground state? Anderson Tower of States Q: In a finite system what does the ground state look like for a solid? Am I the ground state? What about these? Anderson Tower of States Q: In a finite system what does the ground state look like for a solid? Am I the ground state? + + + Finite size systems can’t break symmetries. This is the ED ground state. Q: What about the spontaneous symmetry breaking? Q: Where are the other states? + …. Q: Where are the other states? First, let’s consider why the finite-size ground state has lower energy then the true ground state. …. Q: Where are the other states? First, let’s consider why the finite-size ground state has lower energy then the symmetry-broken ground state. 2 P̂cm The true Hamiltonian can be written out as H = Hrelative + 2M All symmetry broken states (and the linear superposition) have the same energy with respect to the relative part of the Hamiltonian. The linear superposition gains energy from the kinetic piece which the symmetry-broken states don’t have (zero point motion) The linear superposition gains energy from the kinetic piece which the symmetry-broken states don’t have. Q: Where are the other states? Now, let’s consider what the finite-size excited states are? Q: Where are the other states? Now, let’s consider what the finite-size excited states are? 2 P̂cm The true Hamiltonian can be written out as H = Hrelative + 2M The excited states are states with a finite center of mass momentum. As N goes to infinity, M goes to infinity and the states become degenerate. ~2 k 2 E(k) = + Erel 2mN E 1 N k2 Q: What about the spontaneous symmetry breaking? We can rotate the states that become degenerate in the thermodynamic limit to produce the symmetry broken states. E 1 N Q: What are the real thermodynamic excitations? k2 Q: What about the spontaneous symmetry breaking? We can rotate the states that become degenerate in the thermodynamic limit to produce the symmetry broken states. E 1 N Q: What are the real thermodynamic excitations? k2 Phonons! These excitation scale as 1/L 1-d: 1/N 2-d: 1/sqrt(N) in the mix with the thermodynamic excitations This is why there are no solids in 1D. The essence of Mermin-Wagner One more thing… For this story to make sense, there better be the same number of spontaneously broken states as states which become degenerate in the thermodynamic limit. You will check this in your homework. A note about fermions…. Spins (up to Jordan-Wigner strings) † c3 c7 |bi Observables Order parameters Q: What do I do about spontaneous symmetry breaking? Q: What do I do about finite size effects Identifying Transitions Fidelity: h (p)| (p + Derivatives of Energy: )i @hEi/@p Entanglement…. S(⇢) = T r[⇢ log ⇢] S(⇢) = T r[⇢2 ] 0 ⇢A (Ra , Ra ) = 0 T rB ⇢(Ra Rb ; Ra Rb ) 0 ⇢(Ra , Rb ; Ra , Rb ) = (Ra Rb ) ⇤ 0 (Ra , Rb ) Shift and Invert Apply the power method using (H E) 1