[v0.9.0] - 2021-09-21

Release Notes

It’s been a while, so we have a bunch of new features, in particular quite some progress with the simulation classes. The DMRG mixer has been rewritten, and the setup for orthogonal excitations with DMRG has been adjusted a bit. If you already used the simulation class setup, watch out for the renaming of the simultion_class(_name) and the change of the default separater for recursive keys. Apart form that, there are not major incompatibilities compared to v0.8.4

Special thanks go to Wilhelm Kadow for great work on the mixed real- and momentum-space representation for models!

Support Python 3.6 to 3.9


Backwards incompatible changes




  • (!) Missing + h.c. in tenpy.networks.mpo.MPOEnvironment.full_contraction() when H.explicit_plus_hc was True. This caused wrong energies being reported during DMRG when explicit_plus_hc was used.

  • (!) The DMRG mixers didn’t respect/handle the explicit_plus_hc of MPOs correctly. This might have lead to an insufficient subspace expandsion.

  • Always return psi in the tenpy.algorithms.algorithm.Algorithm.get_resume_data(). Optionally, this can be a copy, e.g. if psi.canonical_form needs to be called at the end of the algorithm, which would render the environments invalid.

  • Use logging in simulation only after calling setup_logging().

  • issue #99 and issue #113 by allowing to either reinitialize the environment from scratch, and/or to updating the environments in psi.canonical_form().

  • issue #137 additional error check for from_lat_product_state() with HelicalLattice.

  • Missing return in resume_run() broke simulation resume for DMRG.

  • Simulation checkpoints during DMRG resulted in MPS failing test_sanity() during load.