Changelog
TeMFpy 0.4 (in development)
TeMFpy 0.3.3 (28 August 2026)
Bug fixes
Gutzwiller projection routines now correctly keep the effect of non-inplace
Arrayoperations such asdrop_charge()andgauge_total_charge(). #30Gutzwiller projection routines add a complete set of dummy Schmidt values for compatibility with
canonical_form_infinite1()in TeNPy v1.1.0. #31Fix a bug preventing
temfpy.slater.C_to_iMPS()to be used with complex correlation matrices. #32 & #34Removed unnecessary and erroneous
setflags()calls fromtemfpy.pfaffian.MPSTensorData.from_schmidt_vectors(). #33
TeMFpy 0.3.2 (29 July 2026)
Bug fixes
Fixed an error in
temfpy.gutzwiller.abrikosov()andtemfpy.gutzwiller.abrikosov_ph()for infinite MPS whenreturn_canonical=Trueby preventing an unsupportedcutoffargument and resolving the correct canonical form via boundary conditions. #29
TeMFpy 0.3.1 (28 July 2026)
Bug fixes
The
offsetparameter is now applied to the gauge-fixing matrix intemfpy.slater.C_to_iMPS(). #28
TeMFpy 0.3 (21 July 2026)
API breaking changes
By default, the iMPS creation routines
temfpy.slater.C_to_iMPS(),temfpy.slater.H_to_iMPS(), andtemfpy.iMPS.MPS_to_iMPS()now subtract an estimate of the total U(1) charge to the left of the extracted unit cell from the quantum numbers on the virtual legs of the iMPS. The amount of this offset can be controlled with the newoffsetparameter; the old behaviour can be restored usingoffset=0. #20
New features
Gutzwiller projections
temfpy.gutzwiller.abrikosov()andtemfpy.gutzwiller.abrikosov_ph()allow targeting different virtual charge/parity sectors, which may give access to different topological sectors. #18All functions that create an
MPSsupport an optionalunit_cell_widthargument for specifying the physical length of the system being simulated. Sensible defaults are also provided. #21
Bug fixes
Gutzwiller projections
temfpy.gutzwiller.abrikosov()andtemfpy.gutzwiller.abrikosov_ph()now handle most infinite fermion MPS correctly. #18A check in
temfpy.pfaffian.SchmidtModes.from_correlation_matrix()assumed that at most half of all Nambu eigenvalues are 1/2, which is not always the case. These checks now pass. #24A bug in the construction of Nambu eigenvectors with eigenvalue 1/2 is now fixed. #25
In certain edge cases involving many 1/2 Nambu-Schmidt eigenvalues, the preference of eigensolvers to return the identity matrix as eigen/singular vectors of the identity matrix resulted in zero overlaps between Boguliubov vacua when constructing
temfpy.pfaffian.MPSTensorDataobjects. This issue is mitigated by rotating the real Nambu eigenvectors with eigenvalue 1/2 with a quasi-random orthogonal matrix. This results in a unitary rotation of degenerate Boguliubov-Schmidt states and hence a gauge rotation of the MPS tensors. However, this should have no observable consequences. #26
TeMFpy 0.2.1 (28 January 2026)
Bug fixes
TeMFpy 0.2 (23 January 2026)
First stable version without severe bugs.