[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 None value in
Sweep.chi_list
which is to be replaced bytrunc_params['chi_max']
at class initialization.
Changed
The following functions, which are used both by
QRBasedTEBDEngine
and by the newQRBasedVariationalApplyMPO
have been moved fromtenpy.algorithms.tebd
totenpy.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_Y0
and_eig_based_svd
.Handle SIGINT signal during simulation runs to continue until next algorithm checkpoint, save and then exit “gracefully” by raising KeyboardInterrupt. See
handle_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.truncation module to tenpy.linalg.truncation.
Fixed
MPO methods
dagger()
,is_hermitian()
, and__add__()
now respect the:~tenpy.networks.mpo.MPO.explicit_plus_hc
flag.The classmethod
from_infiniteT_canonical()
can now deal with two independent charges in the charge_sector, i.e. as in theSpinHalfFermionSite
.When saving simulation results, convert list from update_stats and sweep_stats into 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!
TwoSiteTDVP
wasn’t using the start_trunc_err option.Fix issue #459 that TDVP and VUMPS shouldn’t have both lanczos_params and lanczos_options. Deprecated the name lanczos_options (which was the one actually used) for more consistency with other algorithm engines.