Skip to content

Commit c75d88d

Browse files
committed
improve type stability
1 parent a4b9357 commit c75d88d

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/algorithms/excitation/quasiparticleexcitation.jl

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -348,20 +348,19 @@ function effective_excitation_renormalization_energy(H::Union{InfiniteMPO,
348348
lenvs,
349349
renvs)
350350
ψ_left = ϕ.left_gs
351-
E_left = map(1:length(ϕ)) do site
352-
return contract_mpo_expval(ψ_left.AC[site], leftenv(lenvs, site, ψ_left),
353-
H[site], rightenv(lenvs, site, ψ_left))
354-
end
355-
356-
ϕ.trivial && return E_left
357-
358351
ψ_right = ϕ.right_gs
359-
E_right = map(1:length(ϕ)) do site
360-
return contract_mpo_expval(ψ_right.AC[site], leftenv(renvs, site, ψ_right),
361-
H[site], rightenv(renvs, site, ψ_right))
362-
end
363352

364-
return (E_left .+ E_right) ./ 2
353+
E = Vector{scalartype(ϕ)}(undef, length(ϕ))
354+
for i in 1:length(ϕ)
355+
E[i] = contract_mpo_expval(ψ_left.AC[i], leftenv(lenvs, i, ψ_left),
356+
H[i], rightenv(lenvs, i, ψ_left))
357+
if !ϕ.trivial
358+
E[i] += contract_mpo_expval(ψ_right.AC[i], leftenv(renvs, i, ψ_right),
359+
H[i], rightenv(renvs, i, ψ_right))
360+
E[i] /= 2
361+
end
362+
end
363+
return E
365364
end
366365

367366
function effective_excitation_renormalization_energy(H, ϕ, lenvs, renvs)

0 commit comments

Comments
 (0)