Possible issue with single-site TDVP
Posted: 26 Apr 2019, 14:04
When running your example script for TDVP (e_tdvp.py), then if I understand correctly the script performs brief time evolution of the isotropic Heisenberg chain with conserved Sz, first using two-site TDVP and then using single-site TDVP (the energy-conserving version). I obtain some confusing results from the second part (the first part looks sensible). Something appears to be wrong if you look at the time evolution of the spins, for example by just looking at each time step for:
print(psi.expectation_value("Sz"))
The summed expectation value of Sz is correctly conserved (to good approximation) in the first part, but is lost when switching to single-site TDVP, and spin densities change dramatically at the time step of the switch.
Also, it is not true in general that single-site TDVP conserves the entropy. The bond dimension sets a maximum for the possible von Neumann entropy, which is proportional to the log of the bond dimension, but that maximum is far higher than the value reached in just the few small time steps of the example script. The maximum entropy is a feature of the cutoff in the entanglement spectrum; the maximum is reached when all values of the entanglement spectrum are equal. Hence, this is not specific to TDVP.
Python version: 3.5.3 + latest Numpy/Scipy
Tenpy version: 0.4.0
print(psi.expectation_value("Sz"))
The summed expectation value of Sz is correctly conserved (to good approximation) in the first part, but is lost when switching to single-site TDVP, and spin densities change dramatically at the time step of the switch.
Also, it is not true in general that single-site TDVP conserves the entropy. The bond dimension sets a maximum for the possible von Neumann entropy, which is proportional to the log of the bond dimension, but that maximum is far higher than the value reached in just the few small time steps of the example script. The maximum entropy is a feature of the cutoff in the entanglement spectrum; the maximum is reached when all values of the entanglement spectrum are equal. Hence, this is not specific to TDVP.
Python version: 3.5.3 + latest Numpy/Scipy
Tenpy version: 0.4.0