Skip to content

General InfiniteBlockMPO working vumps - #107

Open
jtschneider wants to merge 20 commits into
ITensor:mainfrom
jtschneider:general-MPO-vumps
Open

General InfiniteBlockMPO working vumps#107
jtschneider wants to merge 20 commits into
ITensor:mainfrom
jtschneider:general-MPO-vumps

Conversation

@jtschneider

Copy link
Copy Markdown

Hello everyone,

re: #39

I made the environments for the Hamiltonian as a InfiniteBlockMPO to work correctly when there are exponentially decaying interactions between two-body interaction terms.
More explicitly, the MPO block structure has operators on the diagonal that are strictly only allowed to be proportional to the identity operator.
I tested the code with and without quantum number conservation.

Also there was a bug in the code in the right environment where it didn't work for the QN conservation version because the MPO link caught was not the correct direction.

I compared the VUMPS result of the exponentially decaying TFI model to the code of the Ghent group, i.e., MPSKit, and the ground state energy is the same (numerically up to 1.47e-13), but only when the QN conservation is on...

Hence, there seem to still be a bug in the code somewhere because the tests fail when the QN conservation is turned off, but they pass when QN conservation is ON!

@jtschneider

Copy link
Copy Markdown
Author

this last commit fixed the actual code to work properly.
The old code instead applied the regularized treatment that is only correct for the terminating identity channels at the corners of the MPO, subtracting the energy density and projecting out a zero mode that is not there. This shifted the environment by a spurious multiple of the identity, which then shifted the value of the energy.

The error was invisible to the existing tests. It vanishes identically in two cases:

  1. when the decay base is zero
  2. and also whenever quantum numbers are conserved, because the symmetry forces the relevant one-point function to zero

The solver now dispatches on the value of the diagonal block rather than on its tensor order, and uses the plain geometric solve for decaying interactions as detailed in the Appendix C.

Hope this helps :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant