Skip to content

Commit 4c66f24

Browse files
committed
Merge branch 'master' into blocktensor2
2 parents a743813 + cd81eef commit 4c66f24

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/environments/finite_envs.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ function environments(below::FiniteMPS{S}, O::DenseMPO, above=nothing) where {S}
3838
N = length(below)
3939
leftstart = isomorphism(storagetype(S),
4040
left_virtualspace(below, 0) space(O[1], 1)'
41-
left_virtualspace(below, 0))
41+
left_virtualspace(something(above, below), 0))
4242
rightstart = isomorphism(storagetype(S),
43-
right_virtualspace(below, N) space(O[N], 4)'
43+
right_virtualspace(something(above, below), N)
44+
space(O[N], 4)'
4445
right_virtualspace(below, length(below)))
4546
return environments(below, O, above, leftstart, rightstart)
4647
end
@@ -85,7 +86,8 @@ function environments(state::Union{FiniteMPS,WindowMPS}, operator::ProjectionOpe
8586
l_LL(operator.ket)[-1; -2]
8687
@plansor rightstart[-1; -2 -3 -4] := r_RR(operator.ket)[-1; -2] *
8788
r_RR(operator.ket)[-3; -4]
88-
return environments(state, fill(nothing, length(state)), state, leftstart, rightstart)
89+
return environments(state, fill(nothing, length(state)), operator.ket, leftstart,
90+
rightstart)
8991
end
9092

9193
#notify the cache that we updated in-place, so it should invalidate the dependencies

test/algorithms.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -455,16 +455,16 @@ end
455455
ψ = FiniteMPS(rand, ComplexF64, len, ℙ^2, ℙ^10)
456456
ψ, envs, = find_groundstate(ψ, H; verbosity)
457457

458-
#find energy with quasiparticle ansatz
458+
# find energy with quasiparticle ansatz
459459
energies_QP, ϕs = excitations(H, QuasiparticleAnsatz(), ψ, envs)
460460
@test variance(ϕs[1], H) < 1e-6
461461

462-
#find energy with normal dmrg
463-
energies_dm, _ = excitations(H,
464-
FiniteExcited(;
465-
gsalg=DMRG(; verbosity,
466-
tol=1e-6, maxiter=30)), ψ)
467-
@test energies_dm[1] energies_QP[1] + expectation_value(ψ, H, envs) atol = 1e-4
462+
# find energy with normal dmrg
463+
for gsalg in (DMRG(; verbosity, tol=1e-6),
464+
DMRG2(; verbosity, tol=1e-6, trscheme=truncbelow(1e-4)))
465+
energies_dm, _ = excitations(H, FiniteExcited(; gsalg), ψ)
466+
@test energies_dm[1] energies_QP[1] + expectation_value(ψ, H, envs) atol = 1e-4
467+
end
468468

469469
# find energy with Chepiga ansatz
470470
energies_ch, _ = excitations(H, ChepigaAnsatz(), ψ, envs)

0 commit comments

Comments
 (0)