v0.5.0
PEPSKit v0.5.0
PEPSKit.jl v0.5.0 consitutes a rather large update, featuring a thorough overhaul of the optimization interface, significant improvements in stability of the optimization and some new algorithm implementations. Changes of note are:
- A new keyword-based interface to the optimization and contraction routines which allows to set all relevant algorithm parameters through named tuples, avoiding the need to instantiate explicit algorithm structs on the user side.
- The original struct-based interface is still functional, but is now considered more as 'expert-mode' usage. However, some of the keyword names have changed to improve consistency, making this a breaking release.
- Significant improvements in stability and performance for the CTMRG fixed-point differentiation, with
- The addition of a more efficient
EigSolvergradient algorithm for solving the fixed-point gradient linear problem - Significant stability improvements in the constituent SVD pullback, using both a dense- and and sparse-style reverse rule.
- The addition of a more efficient
- The addition of custom PEPS retractions which preserve the Euclidean norm of each PEPS tensor, greatly improving the stability of the optimizations.
- The addition support for PEPS-PEPO-PEPS networks through a unified contractible network interface.
- The addition of bond truncation algorithms for time evolution.
Merged pull requests:
CTMRGsupport for PEPS-PEPO-PEPS networks (#134) (@leburgel)- Implement charge shift for
LocalOperator(#135) (@leburgel) - Implement TensorKit's
tsvd!reverse-rule for:fixeddifferentiation mode (#150) (@pbrehmer) - Implement norm-preserving retractions (#151) (@leburgel)
- Scale
rrule_algtolerance with singular value magnitude when usingKrylovKit.svdsolvepullback (#155) (@leburgel) - Split off norm-preserving vector retractions (#160) (@leburgel)
- Update README (#162) (@leburgel)
Closed issues: