-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Variational MPO as ground state #144
Comments
There is no "real" support for linbladians, in the sense that all implemented operators (mpo/hamiltonian) act on MPS tensors with one physical leg. You can either fuse the two physical legs together, or use a nontrivial unit cell to split your MPS tensors (2 physical legs) into two 1-physical leg tensors. Do you have the dense MPO representation of the Lindbladian? That said, there are serious problems with combining that publication with any infinite algorithms like DMRG1, DMRG2, VUMPS,... The problem is that your MPO tensor is not well behaved (it has an eigenvalue scaling as N^2 in system size). MPSKit's DMRG1/DMRG2 will fail to even initialize correctly in such a case, as we use the left/right dominant eigenvectors as initial start. You can probably work around that, but I kind of suspect that the numerical issues you're seeing with your own dmrg2 implementation are inherent to the kind of MPO tensor you constructed. I don't remember the publication, but followup work proposed simply truncating the infinite double sum that occurs in your mpo. That's also a bit iffy, but infinite size algorithms should no longer struggle as much. |
Yes I've tried fusing the two physical legs
|
I'm doing open dynamics simulations with the density matrix represented as vectorized MPO as described in this publication. The main idea is that the density matrix is an mps with 4 legs (2 physical legs pointing down and 2 horizontal virtual legs) and the Hamiltonian (or Linbladian) is an mpo with 6 legs (2 incoming legs, 2 outgoing legs, and 2 virtual legs). I have implemented this approach with TensorKit for my system together with DMRG1 and DMRG2. It works fine with DMRG1 but the simulation doesn't converge for DMRG2. I'm hoping to test this out with other DMRG2 implementation.
I'd greatly appreciate if you could please outline how this setup might be achieved with MPSKit.
The text was updated successfully, but these errors were encountered: