[v1.1.0] - 2025-11-11
Release Notes
This release contains only two major changes, the support for Dipole Conservation, as well as the introduction of autoformatting and stricter linting rules (and corresponding formatting fixes throughout the codebase).
Changelog
Added
Added support for symmetries, where the charges explicitly depend on position, see Dipole Conservation.
Added a new base class
MPSGeometrythat abstracts common properties and methods of tensor networks with the linear geometry of e.g. MPS. The MPO class, as well as Environments also subclass fromMPSGeometry. Most notably, a new attributeunit_cell_widthwas introduced. It is also an argument to the__init__and most classmethods of MPS, MPO, etc. For backwards-compatibility, it is optional for now, with a default value that assumes a Chain lattice.
Changed
For infinite MPS (
MPSwithbc='infinite'), we now only storeLsingular values instead ofL + 1in the_Sattribute. The_S[L]entry always was equal to_S[0]anyway. With the incorporation of shift-symmetry, i.e. symmetries that depend on spatial position, we need to distinguish the concept of the singular values to the right of the last site from the singular values left of the first site, since they differ by a spatial translation. Singular values should only be accessed via the methodsget_SL(),get_SR(),set_SL(), andset_SR()anyway, so we consider this a backwards-compatible change.