Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ce0fe93
Add implicit gradient for C4vCTMRG
leburgel Aug 6, 2026
3c5e81f
Remove unused partial contractions, add docstring
leburgel Aug 7, 2026
9740499
Add implicit differentiation of asymmetric CTMRG
leburgel Aug 7, 2026
4f30294
Fix typo
leburgel Aug 10, 2026
8ca3250
Resolve ambiguities
leburgel Aug 10, 2026
0d1cc8e
Fixes
leburgel Aug 10, 2026
758f633
`FixedPointGradient` works fine with `SequentialCTMRG` now, but `Impl…
leburgel Aug 10, 2026
5cd582f
Update src/algorithms/contractions/ctmrg/characteristic_equations.jl
leburgel Aug 11, 2026
ec009f9
Update src/algorithms/contractions/ctmrg/characteristic_equations.jl
leburgel Aug 11, 2026
ad25b20
Update src/algorithms/optimization/implicit_differentiation.jl
leburgel Aug 11, 2026
94b8edb
Update src/algorithms/optimization/implicit_differentiation.jl
leburgel Aug 11, 2026
9c9e086
Update src/algorithms/contractions/ctmrg/characteristic_equations.jl
leburgel Aug 11, 2026
d00622b
Add reference
leburgel Aug 11, 2026
e9ee841
Remove unused routines, use builtin projection, and more `add!!`
leburgel Aug 11, 2026
570d6c0
Specify
leburgel Aug 11, 2026
86a89eb
Revert `add!!`s
leburgel Aug 11, 2026
5b4bb5c
Docstring additions
leburgel Aug 11, 2026
f9559de
Make `SequentialCTMRG` return SVD tensors
pbrehmer Aug 12, 2026
0702ff6
Fix typo
leburgel Aug 12, 2026
22f875a
Make `SequentialCTMRG` differentiable again and compatible with `Fixe…
pbrehmer Aug 12, 2026
b691c67
Merge branch 'lb/implicit' of github.com:quantumghent/PEPSKit.jl into…
pbrehmer Aug 12, 2026
fbe4240
Fix unequal domain codomain initialization
pbrehmer Aug 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions docs/src/assets/pepskit.bib
Original file line number Diff line number Diff line change
Expand Up @@ -157,3 +157,13 @@ @misc{zhang_accelerating_2025
primaryClass={cond-mat.str-el},
url={https://arxiv.org/abs/2505.00494},
}

@misc{burgelman_implicit_2026,
title={Implicit differentiation of tensor network algorithms},
author={Lander Burgelman and Anna Francuz and Paul Brehmer and Lukas Devos and Jutho Haegeman and Frank Verstraete and Bram Vanhecke},
year={2026},
eprint={2607.15030},
archivePrefix={arXiv},
primaryClass={quant-ph},
url={https://arxiv.org/abs/2607.15030},
}
4 changes: 4 additions & 0 deletions src/Defaults.jl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ Module containing default algorithm parameter values and arguments.
- `:GeomSum` : Geometric sum approximation of the Neumann series of the inverse Jacobian, see [`PEPSKit.GeomSum`](@ref) for details
- `:ManualIter` : Manual fixed-point iteration, see [`PEPSKit.ManualIter`](@ref) for details
* `gradient_fixedpoint_solver_eager=$(Defaults.gradient_fixedpoint_solver_eager)` : Enables `:Arnoldi` solver algorithm to finish before the full Krylov dimension is reached.
* `gradient_implicit_solver_alg=:$(Defaults.gradient_implicit_solver_alg)` : Default solver algorithm for the `ImplicitGradient` gradient algorithm.
- `:GMRES` : GMRES iterative linear solver, see [`KrylovKit.GMRES`](@extref) for details
- `:BiCGStab` : BiCGStab iterative linear solver, see [`KrylovKit.BiCGStab`](@extref) for details

## Optimization

Expand Down Expand Up @@ -151,6 +154,7 @@ const gradient_verbosity = -1
const gradient_alg = :FixedPointGradient
const gradient_fixedpoint_solver_alg = :Arnoldi # ∈ {:GMRES, :BiCGStab, :Arnoldi, :GeomSum, :ManualIter}
const gradient_fixedpoint_solver_eager = true
const gradient_implicit_solver_alg = :GMRES # ∈ {:GMRES, :BiCGStab}

# Optimization
const reuse_env = true
Expand Down
5 changes: 3 additions & 2 deletions src/PEPSKit.jl
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ include("algorithms/contractions/ctmrg/renormalize_corner.jl")
include("algorithms/contractions/ctmrg/renormalize_edge.jl")
include("algorithms/contractions/ctmrg/contract_site.jl")
include("algorithms/contractions/ctmrg/gaugefix.jl")
include("algorithms/contractions/ctmrg/characteristic_equations.jl")

include("algorithms/contractions/absorb_weight.jl")
include("algorithms/contractions/transfer.jl")
Expand Down Expand Up @@ -140,7 +141,7 @@ include("algorithms/toolbox.jl")
include("algorithms/correlator_adapters.jl")
include("algorithms/correlators.jl")

include("algorithms/optimization/fixed_point_differentiation.jl")
include("algorithms/optimization/implicit_differentiation.jl")
include("algorithms/optimization/peps_optimization.jl")

include("algorithms/select_algorithm.jl")
Expand All @@ -161,7 +162,7 @@ export product_peps
export reduced_densitymatrix, expectation_value, network_value, cost_function
export correlator, correlation_length
export leading_boundary
export PEPSOptimize, FixedPointGradient, GeomSum, ManualIter
export PEPSOptimize, FixedPointGradient, GeomSum, ManualIter, ImplicitGradient
export fixedpoint

export LocalTruncation
Expand Down
Loading
Loading