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 :py:class:`MPO.MPO` takes on its initialization now the operators as argument, which are not required in :py:func:`MPO.MPO.AddMPOTerm`. It was not possible to pass different set of operators before. Except the specification of the termtype and terms, :py:func:`MPO.MPO.AddMPOTerm` requires keyword arguments now. * The class for observables :py:class:`Obs.Observables` takes on its initialization now the operators as arguments. Those are not required for the function :py:func:`Obs.Observables.AddObservables` any more. Moreover, the order of arguments in :py:func:`Obs.Observables.AddObservables` was adapted to the :py:func:`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 :py: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. * :py:func:`Paralleltools.WriteMPSParallelFiles` has been moved to :py:func:`Paralleltools.WriteMPSParallelTemplate`. Additional changes: * Introducing new observables. * Operators are now represented by a class :py:class:`Ops.OperatorList`. This should not induce any changes for the typical usage of OSMPS from v1 to v2. * :math:`\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)