Hi,
I have obtained the Hamiltonian in the MPO form, and my question is whether there is a convenient operation in ITensor to diagonalize H. Specifically, I am referring to the decomposition:
\hat{H} = V^\dagger T V = V^\dagger S^\dagger D S V
where V represents the matrix of Lanczos vectors spanning the Krylov space, and T is the tridiagonal form of the Hamiltonian. After the tridiagonalization process, T is then fully diagonalized to obtain the eigenvalue matrix D and the eigenvector matrix S. This provides a faithful representation of the Hamiltonian when applied to the initial vector.
Do you want the eigenvectors as a set of MPS, and do you want a set of dominant eigenvectors? If you only need dominant eigenvectors in the form of MPS, DMRG and its extensions to excited states is a method for getting dominant eigenvectors of an MPO.
If you want all of the eigenvectors, that will scale exponentially in the size of the MPO.
Thanks Matt.Sorry, I didn’t describe my question clearly. In fact, I am trying to optimize the correction vector based on the paper https://journals.aps.org/pre/abstract/10.1103/PhysRevE.94.053308. I am mainly referring to the content on the second page of the paper. The paper transforms |x(z)\rangle=\frac{1}{E_{0}+\omega-\hat{H}+i \eta}|A\rangle into the form |x(z)\rangle=V^{\dagger} S^{\dagger} \frac{1}{E_{0}+\omega-D+i \eta} S V|A\rangle, where D is the diagonal form of the Hamiltonian operator \hat{H} in the current basis. The expression \hat{H}=V^{\dagger} T V=V^{\dagger} S^{\dagger} D S V is a faithful representation of the Hamiltonian when applied to the starting vector. V represents the matrix of the Lanczos vectors spanning the Krylov space, and T is the representation of the Hamiltonian in tridiagonal form. The tridiagonalization is then followed by a small full diagonalization of T, yielding the matrix of eigenvectors S.I am not yet familiar with the use of ITensor and the MPO, MPS representations, and I am quite confused:
I think the operation on \hat{H} here is similar to solving for a set of dominant eigenvectors, but how do these MPS act on |A\rangle? It doesn’t seem quite right.
I want to use the above procedure to compute the Green’s function, but unfortunately, the boundary effects of open boundaries are too strong, and the results do not match the ones I extrapolated to the thermodynamic limit. The results for periodic boundaries are fine. However, when performing DMRG calculations for the ground state with periodic boundaries for more than a hundred sites, convergence becomes difficult. The virtual bond dimension grows quickly, and the subsequent calculations easily run out of memory. As far as I know, this corresponds to adding long-range entanglement. So, I switched to using TDVP to find the ground state and then applied the method described above to decompose \hat{H}, but I’m unclear on how to proceed with the operations.
Hi @meng_0121, some of the questions you are asking are along the lines of developing a project or project strategy, and that’s not going to be easy for us to help you with. Do you have a collaborator you could talk to about developing your project? You are right to be thinking about issues like boundary conditions and accessible system sizes.
For some general comments about ideas like correction vectors and tridiagonalization, note that the main operation with MPS and MPO that is efficient is multiplying an MPS times an MPO. In the context of algorithms for e.g. tridiagonalization, if you pursue this route then indeed you would want to base it only on matrix multiplication (here the matrix being an MPO), so some kind of Krylov or Lanczos type methods, and not actually attempting to diagonalize the MPO which is not generally feasible.
Another successful approach to correction vectors is to recognize that computing
for the MPS |x \rangle. There are variants of DMRG which can solve such linear systems, so this approach can be successful, as described for example in this paper and others. (I mention that paper because it is a nice overview of various methods also.)
The topic of solving such problems is actually an actively developing field of research, so there are not so many “standard” techniques that can be guaranteed to work well. So normally one needs to try things e.g. on small systems or modify the problem in various ways (e.g. by increasing the broadening \eta) or by restricting the MPS bond dimension to low values to see what yields a favorable outcome and an efficient approach. So it is not so obvious at this time.
Finally, you mention using TDVP to find ground states. But actually the DMRG algorithm is a much better choice for that, since DMRG is specifically designed for finding ground states whereas TDVP is for time evolution.