Skip to content

Commit f1800f1

Browse files
committed
Refactor :tsvd -> :full and SVDAdjoint{F,R,B} -> SVDAdjoint{F,R}
1 parent c3f1429 commit f1800f1

6 files changed

Lines changed: 9 additions & 12 deletions

File tree

src/PEPSKit.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ include("algorithms/select_algorithm.jl")
7171

7272
using .Defaults: set_scheduler!
7373
export set_scheduler!
74-
export SVDAdjoint, IterSVD
74+
export SVDAdjoint, FullReverse, IterSVD
7575
export CTMRGEnv, SequentialCTMRG, SimultaneousCTMRG
7676
export FixedSpaceTruncation, HalfInfiniteProjector, FullInfiniteProjector
7777
export LocalOperator

src/algorithms/ctmrg/projectors.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ function svd_algorithm(alg::ProjectorAlgorithm, (dir, r, c))
5858
return SVDAdjoint(;
5959
fwd_alg=fix_svd,
6060
rrule_alg=alg.svd_alg.rrule_alg,
61-
broadening=alg.svd_alg.broadening,
6261
)
6362
else
6463
return alg.svd_alg

src/algorithms/optimization/fixed_point_differentiation.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,6 @@ function _fix_svd_algorithm(alg::SVDAdjoint, signs, info)
263263
return SVDAdjoint(;
264264
fwd_alg=FixedSVD(U_fixed, info.S, V_fixed, U_full_fixed, info.S_full, V_full_fixed),
265265
rrule_alg=alg.rrule_alg,
266-
broadening=alg.broadening,
267266
)
268267
end
269268
function _fix_svd_algorithm(alg::SVDAdjoint{F}, signs, info) where {F<:IterSVD}
@@ -272,7 +271,6 @@ function _fix_svd_algorithm(alg::SVDAdjoint{F}, signs, info) where {F<:IterSVD}
272271
return SVDAdjoint(;
273272
fwd_alg=FixedSVD(U_fixed, info.S, V_fixed, nothing, nothing, nothing),
274273
rrule_alg=alg.rrule_alg,
275-
broadening=alg.broadening,
276274
)
277275
end
278276

test/examples/heisenberg.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ end
9393
peps,
9494
env;
9595
optimizer_alg=(; tol=gradtol, maxiter=25),
96-
boundary_alg=(; maxiter=150, svd_alg=(; rrule_alg=(; alg=:tsvd, tol=1e-5))),
96+
boundary_alg=(; maxiter=150, svd_alg=(; rrule_alg=(; alg=:full, tol=1e-5))),
9797
) # sensitivity warnings and degeneracies due to SU(2)?
9898
ξ_h, ξ_v, = correlation_length(peps_final, env_final)
9999
e_site2 = E_final / (N1 * N2)

test/gradients/ctmrg_gradients.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ gradtol = 1e-4
2020
ctmrg_verbosity = 0
2121
ctmrg_algs = [[:sequential, :simultaneous], [:sequential, :simultaneous]]
2222
projector_algs = [[:halfinfinite, :fullinfinite], [:halfinfinite, :fullinfinite]]
23-
svd_rrule_algs = [[:tsvd, :arnoldi], [:tsvd, :arnoldi]]
23+
svd_rrule_algs = [[:full, :arnoldi], [:full, :arnoldi]]
2424
gradient_algs = [
2525
[nothing, :geomsum, :manualiter, :linsolver, :eigsolver],
2626
[:geomsum, :manualiter, :linsolver, :eigsolver],
@@ -29,9 +29,9 @@ gradient_iterschemes = [[:fixed, :diffgauge], [:fixed, :diffgauge]]
2929
steps = -0.01:0.005:0.01
3030

3131
naive_gradient_combinations = [
32-
(:simultaneous, :halfinfinite, :tsvd),
33-
(:simultaneous, :fullinfinite, :tsvd),
34-
(:sequential, :halfinfinite, :tsvd),
32+
(:simultaneous, :halfinfinite, :full),
33+
(:simultaneous, :fullinfinite, :full),
34+
(:sequential, :halfinfinite, :full),
3535
]
3636
naive_gradient_done = Set()
3737

test/utility/svd_wrapper.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ r = randn(dtype, ℂ^m, ℂ^n)
2323
R = randn(space(r))
2424
broadenings = [10.0^k for k in -16:-4]
2525

26-
full_alg = SVDAdjoint(; rrule_alg=(; alg=:tsvd), broadening=0)
26+
full_alg = SVDAdjoint(; rrule_alg=(; alg=:full, broadening=0))
2727
iter_alg = SVDAdjoint(; fwd_alg=(; alg=:iterative))
2828

2929
@testset "Non-truncacted SVD" begin
@@ -43,7 +43,7 @@ end
4343
end
4444

4545
@testset "Truncated SVD with χ= and ε= broadening" for ε in broadenings
46-
broadened_alg = @set full_alg.broadening = ε
46+
broadened_alg = @set full_alg.rrule_alg.broadening = ε
4747
l_unbroadened, g_unbroadened = withgradient(A -> lossfun(A, full_alg, R, trunc), r)
4848
l_broadened, g_broadened = withgradient(A -> lossfun(A, broadened_alg, R, trunc), r)
4949

@@ -81,7 +81,7 @@ symm_R = randn(dtype, space(symm_r))
8181
end
8282

8383
@testset "Truncated symmetric SVD with χ= and ε= broadening" for ε in broadenings
84-
broadened_alg = @set full_alg.broadening = ε
84+
broadened_alg = @set full_alg.rrule_alg.broadening = ε
8585
l_unbroadened, g_unbroadened = withgradient(
8686
A -> lossfun(A, full_alg, symm_R, symm_trspace), symm_r
8787
)

0 commit comments

Comments
 (0)