I am learning DMRG by myself, so I want to make sure I understand it correct. I have very naive questions:
- is the bond dimension fixed within one MPS?
- How does the construction and truncation work exactly in finite DMRG with bond size? Does the algorithm construct a state with a certain bond dimension, performs the sweep, then adds more sites up and truncates up to the limit,performs the next sweep, etc ?
Or is there maybe a better way to visualize bond dimension? not just as accuracy of the ansatz…
Thank you! I am looking forward to hearing from you
Regarding the bond dimension of an MPS, it can vary and be different on each bond. When people speak of “the bond dimension” of an MPS as a single number, they mean the typical value or most commonly the maximum value over all the bonds.
The way that DMRG adjusts or adapts the bond size, or bond dimension, is by merging pairs of neighboring MPS tensors together, optimizing this pair tensor, then factorizing it back into two tensors using an SVD (sometimes other factorizations are used but they are formally equivalent to the SVD). As the SVD is being computed, the spectrum of singular values is analyzed and small singular values are discarded (set to zero) which allows the corresponding columns of U and V to be discarded, reducing the bond dimension on that bond.
For a much more in-depth description of DMRG, you can look at this page:
Hope that answers your questions –