Skip to content

Commit 861c330

Browse files
authored
small fixes for density operators (#409)
1 parent 57ee602 commit 861c330

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/algorithms/toolbox.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ function variance(
199199
state.AC[i], envs.GLs[i], H[i][:, :, :, end], envs.GRs[i][end]
200200
)
201201
end
202-
lattice = physicalspace(state)
202+
lattice = physicalspace(H)
203203
H_renormalized = InfiniteMPOHamiltonian(
204204
lattice, i => e * id(storagetype(eltype(H)), lattice[i]) for (i, e) in enumerate(e_local)
205205
)
@@ -226,7 +226,7 @@ function variance(state::InfiniteQP, H::InfiniteMPOHamiltonian, envs = environme
226226
GR = rightenv(envs, i, gs)
227227
return contract_mpo_expval(gs.AC[i], GL, H[i][:, :, :, end], GR[end])
228228
end
229-
lattice = physicalspace(gs)
229+
lattice = physicalspace(H)
230230
H_regularized = H - InfiniteMPOHamiltonian(
231231
lattice, i => e * id(storagetype(eltype(H)), lattice[i]) for (i, e) in enumerate(e_local)
232232
)

src/operators/mpohamiltonian.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ function FiniteMPOHamiltonian(lattice::AbstractArray{<:VectorSpace}, local_opera
442442

443443
# avoid using one(S)
444444
P = first(lattice)
445+
P = P isa ProductSpace ? P[length(P)] : P
445446
_rightunit = rightunitspace(P)
446447
@assert _rightunit == leftunitspace(P) "only diagonal hamiltonians allowed"
447448

@@ -530,6 +531,7 @@ function InfiniteMPOHamiltonian(lattice′::AbstractArray{<:VectorSpace}, local_
530531
)
531532
# avoid using one(S)
532533
P = first(lattice)
534+
P = P isa ProductSpace ? P[length(P)] : P
533535
_rightunit = rightunitspace(P)
534536
@assert _rightunit == leftunitspace(P) "only diagonal hamiltonians allowed"
535537

0 commit comments

Comments
 (0)