Iterative MPS Compression

I am curious if anyone has implemented a iterative MPS compression algorithm as described in
The density-matrix renormalization group in the age of matrix product states: Section 4.5.2. In particular I am very interested in finding a representation \ket{\tilde{\psi}} \approx H \ket{\psi} where H \ket{\psi} is too large to do much of anything with except take inner products such as \braket{\tilde{\psi} | H | \psi}.

If not, this seems like a useful new truncate and or contract algorithm.

Thanks!
Ben

1 Like

Within the ITensor team, we have tended to think of that algorithm as a variant of DMRG. So then a question for us was: we want to have this algorithm but how do we offer it without having a second DMRG-like code that we have to also maintain etc. ?

So we have an experimental implementation of the algorithm (which I would call the “fitting” algorithm for applying an MPO to an MPS) which is offered through the contract function in the ITensorTDVP codes. Note that, as mentioned in the README of the ITensorTDVP repo, that to access those codes we recommend just doing using ITensorMPS since ITensorMPS reexports the ITensorTDVP interface.

So you can try that contract function to see if it suits your purposes. The upcoming ITensorNetworks package will also offer this algorithm, since the ITensorTDVP package was kind of like an experimental system that we made a better version of for ITensorNetworks.

Exactly what I was looking for, thank you!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.