Changelog

Release v1 to release v2

Non backwards compatible changes are:

  • The class names of the convergence parameters changed. Also the naming convention is now homogeneous using only solely lower_case_with_underscore for all variable names using multiple words. This is affecting e.g. MaxnLanczosIterations (now max_num_lanczos_iter).

  • The class for the MPO MPO.MPO takes on its initialization now the operators as argument, which are not required in MPO.MPO.AddMPOTerm(). It was not possible to pass different set of operators before. Except the specification of the termtype and terms, MPO.MPO.AddMPOTerm() requires keyword arguments now.

  • The class for observables Obs.Observables takes on its initialization now the operators as arguments. Those are not required for the function Obs.Observables.AddObservables() any more. Moreover, the order of arguments in Obs.Observables.AddObservables() was adapted to the MPO.MPO.AddMPOTerm() case. The first argument is the type of the observable followed by arguments specifying this term. It was not possible to pass different set of operators before.

  • The class Dynamics.QuenchList takes the MPO to act with as arguments on its initialization. The MPO is not passed to each quench anymore. It was not possible to use different MPOs for each quench before, since the MPOs were not written for each quench.

  • Paralleltools.WriteMPSParallelFiles() has been moved to Paralleltools.WriteMPSParallelTemplate().

Additional changes:

  • Introducing new observables.

  • Operators are now represented by a class Ops.OperatorList. This should not induce any changes for the typical usage of OSMPS from v1 to v2.

  • \mathbb{Z}_{2} symmetry has been enabled.

Release v2 to release v3

  • Correlation length for iMPS is not accessed via dictionary anymore, but as class variable.

  • Convergence flag in results is boolean instead of character.

Additional changes:

  • Implementation of time evolutions according to Lindblad master equation with quantum trajectories, MPDOs, LPTNs.

  • TEBD with matrix exponential in additional to Krylov-TEBD.

  • iMPS and ARPACK are optional

Additional changes (for developers, changes fortran backend):

  • Template structure is changed to replacement rules individually defined for each subroutine.

  • Better access to automated tests.

  • General tensor of rank-n instead of individual definitions. Impact on contractions and decompositions.

  • LR overlap has now length of the system size, where overlaps contracted up to site j (including j) are stored on index j. (exception for iMPS)