Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Mar 14:31
69d92f8

PEPSKit v0.5.0

Diff since v0.4.2

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 EigSolver gradient 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 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:

  • CTMRG support for PEPS-PEPO-PEPS networks (#134) (@leburgel)
  • Implement charge shift for LocalOperator (#135) (@leburgel)
  • Implement TensorKit's tsvd! reverse-rule for :fixed differentiation mode (#150) (@pbrehmer)
  • Implement norm-preserving retractions (#151) (@leburgel)
  • Scale rrule_alg tolerance with singular value magnitude when using KrylovKit.svdsolve pullback (#155) (@leburgel)
  • Split off norm-preserving vector retractions (#160) (@leburgel)
  • Update README (#162) (@leburgel)

Closed issues:

  • SpaceMismatch for the naive gradient evaluation (#147)
  • Failing CTMRG gradient tests for fermionic Hamiltonian (#158)