[v1.0.4] - 2024-10-02
Release Notes
We have changed the license from GPL v3 to the less restrictive Apache v2 license, see issue #462 for details.
Several new features, changes and bugfixes, as listed in detail below.
Changelog
Added
MPS classmethod
project_onto_charge_sector()added. This makes it possible to project a product state (with entries given by a list or ndarray) onto a givencharge_sector(similar tofrom_infiniteT_canonical()for aPurificationMPS).Added
QRBasedVariationalApplyMPO.Implement
sample_measurements()forPurificationMPS.Implement
sample_measurements()forPurificationMPS.Added explicit documentation of default model coupling parameters, see issue #443.
Allow
Nonevalue inSweep.chi_listwhich is to be replaced bytrunc_params['chi_max']at class initialization.
Changed
The following functions, which are used both by
QRBasedTEBDEngineand by the newQRBasedVariationalApplyMPOhave been moved fromtenpy.algorithms.tebdtotenpy.linalg.truncation, have been changed substantially in parameters, behavior and return values; The old_qr_based_decomposition, which is renamed totenpy.algorithms.truncation.decompose_theta_qr_based(), as well as the private helper functions_qr_tebd_cbe_Y0and_eig_based_svd.Handle
SIGINTsignal during simulation runs to continue until next algorithm checkpoint, save and then exit “gracefully” by raising KeyboardInterrupt. Seehandle_abort_signal().Go back to original directory after finishing a simulation (end of context manager) such that relative ‘directory’ options work as expected when repeatedly running simulations
move
tenpy.algorithms.truncationmodule totenpy.linalg.truncation.
Fixed
The classmethod
from_infiniteT_canonical()can now deal with two independent charges in thecharge_sector, i.e. as in theSpinHalfFermionSite.When saving simulation results, convert list from
update_statsandsweep_statsinto numpy arrays. This can significantly reduce saving time and the size of the resulting hdf5 file - we have seen the size go down from 30MB to 700kB, when no psi and environment were saved!TwoSiteTDVPwasn’t using thestart_trunc_erroption.Fix issue #459 that TDVP and VUMPS shouldn’t have both
lanczos_paramsandlanczos_options. Deprecated the namelanczos_options(which was the one actually used) for more consistency with other algorithm engines.