Doing Very Big Calculations on Modest Size Computers Reducing the Cost of Exact Diagonalization...
-
Upload
maximus-carnell -
Category
Documents
-
view
218 -
download
4
Transcript of Doing Very Big Calculations on Modest Size Computers Reducing the Cost of Exact Diagonalization...
Doing Very Big Calculations on Modest Size Computers
Reducing the Cost of Exact Diagonalization Using Singular Value Decomposistion
Marvin Weinstein, Assa Auerbach and V. Ravi Chandra
Some Uses For Exact Diagonalization
CORE• Use ED to carry out RG transformations
for clusters.Mean field theory computations, DMRG
(density matrix)• Are all tested on small clusters against
EDAlso:
• to compute short wavelength dynamical response functions
• to compute Chern numbers for quantum Hall systems
Counting Memory Requirements
Consider a lattice with 2N-sites and one spin-1/2 degree of freedom per site:• This, of course, means memory needs
grow exponentially with number of sites • For 36 sites a single vector is ½ TB of ram• For 40 sites it is 8 TB
This means simple Lanczos becomes very memory unfriendly !
The problem is not computational speed, it is reducing memory footprint.
Singular Value Decomposition
Key Message: For problems where the space is a tensor product space, SVD allows us to reduce memory for storing big vectors.
The SVD says any matrix can be written as:
• Where M is an n x m matrix, U is n x n, S is a vector with at most min(n,m) non-zero elements, and V is m x m, and the entries in S are arranged in decreasing order
Rewriting Tensor Product States As Matrices
Suppose we have two blocks with N-sites
A generic vector is the sum of tensor products in block A and block B: i.e.,
Generically, given a vector, we can write it as a matrix
or a single vector
So SVD Says…
Every vector in the product space can be written as a sum of products of the form
Where the ’s are the ’s and the vectors are:
We can choose to represent a vector by a sum of simple tensor products, ignoring the small enough ’s
Another Look At Memory Requirements
Once again, consider a 36 site lattice and ask how much memory we need to store the ground state of the Hamiltonian (before it was ½ TB)• Assume we keep 100 of the largest
eigenvalues in S. Dimension of an 18 site vector: 2 MB
Dimension of the SVD form of the g-s is 400 MB or ½ GB
We have gone from undoable to easily done, it takes some time. How do we do it ?
Key Idea For Manipulating SVD States
We are starting with simple tensor product states. The Hamiltonian is:
There are 11 operators that act on each side, so effective Hilbert space for SVD is 11 times the size of the SVD space we started with.
This is impt. because having to do SVD on a 30, 36 or 40-site form of a vector is prohibitive.
To Be Specific Kagome Lattice
Why is this interesting ?
CORE & Magen-David (MD) Blocking
Each MD has 12 sites (4096 dim)
Diagonalizing the single MD blockyields two degenerate spin-0 states. These are RVB states: i.e.,they are pairwise spin-0 singletsas shown to the left.
A possible CORE computation
Truncate space to the two singletsand then compute the new
renormalized Hamiltonian between two blocks (24 site computation).Then do the same for the three MD’s arranged in a triangle (36 site).
Magen-David (MD) Blocking
Two computations that have been done
We did the 2 MD (24-site) blocking because it can also be done exactly by brute force. Of course we also needed for CORE.
Results of SVD Lanczos and ordinary Lanczos were compared and the convergence is very good for ~100 states.
The 3 MD (36-site) blocking is under way. With ~100 states we get convergence to 10-5 or better.
Magen-David (MD) Blocking
The 24 site computation
12
3
4We see that there are 8 operators actingon the first block and 8 on the second
Thus, if we start with a single t-prod state we have 8 states on the left and8 on the right.
But they aren’t orthonormal on left and right, so we can havefewer states on each side. Orthonormalize them and expand the 8 states in the new basis. In this basis combine into a 64 component vector, do SVD and reduce back to an SVD state having the desired number of SVD states. After a few multiplications this grows to the desired 100 states.
Three MD Blocking
The 36 site blocking
Now there are 6 bonds or 18 spin operators linking the two blocks.With the single block Hamiltonianand the unit operator, this means eachterm in the SVD state is multipliedby 20.
Thus, for 100 states, we havea 2000 x 2000 matrix to do SVD on.
This is a “piece of cake”.
Some Results for 24 and 36 Site MD’s
Error in energy as a function of number of SVD states for 24-site problem.
Here we have exact answer to compare to.
Rate of convergence ofenergy as a function ofnumber of Lanczos iterations for the 36-site problem.
CORE Hexagon-Triangle Blocking
This lattice can also be covered with hexagons and triangles.
The ground state on hexagon is spin-0 singlet.There are two degenerate spin-1/2 states for each triangle.
Problem: Truncate to four states per triangle and compute triangle-triangle CORE renormalized Hamiltonian.
These Triangles Then Form A New Hexagonal Lattice
Now each vertex has four spin ½ states. The coupling between the vertices is a spin-pseudospin coupling and the coefficients rotate with direction.
This rotation is the remnant of the original geometric frustration.
NOTE: The hexagonal lattice then blocks (second CORE transf) to a triangular lattice. But with additional frustration.
SVD Entropy – Some Analytics
Assume we have an SVD decomposition of the form.
Introduce the parameter ‘s’ s.t.
Then introduce the density of states
How good is the power law assumption ?
NOTE: The integral of must be unity
SVD Density of States for 30 site Blocking
NOTE: This is a power law
SVD Entropy - More Analytics
Given that the number of states as a function of the parameter ‘s’ is a power law, it is convenient to introduce the SVD entropy
Then if we choose a cutoff on the integral s.t.
It follows that the error in the state is and so
This is consistent with our results !
More Than Bi-Partite SVD Lanczos
Consider a disk of radius R so that N is proportional to the area of the disck.Partition the disk first in half, then divide each half again, etc. In this way obtain P = 2p clusters.
Assume the SVD entropy of each partition goes like the ‘area’ of the boundary, i.e., ~R.
The total number of SVD vectors to get a fixed error is then known. From this we can estimate the optimal partitioning.
Slower than 2N.
Recap
I have shown how one can, using the singular value decomposition of a vector, carry out Lanczos, or contractor, computations of eigenstates to high accuracy.
The methods allow you to check convergence and, plotting the density of states and fitting to a power law, estimate the error of the computation.
This allows those of us who are not running on machines with 2000 cores and 1.5TB of ram to do big computations. Imagine what people with those resources can do!