Singular Values as np_conserved
Posted: 16 Jun 2021, 23:42
I'm trying to implement the iTDVP algorithm following
https://scipost.org/SciPostPhysLectNotes.7/pdf
In doing this, I need to update both the center site tensor using the '1-site' Hamiltonian, as well as the center site singular values using the '0-site' Hamiltonian. In order to do this, I'd like to have the singular values as a np_conserved quantity to properly take into consideration the charges. Is there a way to easily get this information from the singular values stored in the MPS? These singular values are stored as a numpy array, and not as a TenPy Array, and so this does not incorporate the charge information out of the box. Maybe there's a straightforward way to convert this numpy array into a TenPy Array while incorporating the charge info correctly?
In the finite case, this is circumvented by using the singular values from the previous step in the sweep. In the infinite case, there is only one step, and so this work around is not available. In principle I could just SVD the on-site tensor to extract this information, but I was wondering if there is a simpler way to get this.
Thanks,
Nick
https://scipost.org/SciPostPhysLectNotes.7/pdf
In doing this, I need to update both the center site tensor using the '1-site' Hamiltonian, as well as the center site singular values using the '0-site' Hamiltonian. In order to do this, I'd like to have the singular values as a np_conserved quantity to properly take into consideration the charges. Is there a way to easily get this information from the singular values stored in the MPS? These singular values are stored as a numpy array, and not as a TenPy Array, and so this does not incorporate the charge information out of the box. Maybe there's a straightforward way to convert this numpy array into a TenPy Array while incorporating the charge info correctly?
In the finite case, this is circumvented by using the singular values from the previous step in the sweep. In the infinite case, there is only one step, and so this work around is not available. In principle I could just SVD the on-site tensor to extract this information, but I was wondering if there is a simpler way to get this.
Thanks,
Nick