Skip to content

Commit 3a93654

Browse files
committed
ensure positive QR/LQ in IDMRG
1 parent 9d1a99a commit 3a93654

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/algorithms/groundstate/idmrg.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ function _localupdate_sweep_idmrg!(ψ, H, envs, alg_eigsolve)
159159
_, ψ.AC[pos] = fixedpoint(h, ψ.AC[pos], :SR, alg_eigsolve)
160160
if pos == length(ψ)
161161
# AC needed in next sweep
162-
ψ.AL[pos], ψ.C[pos] = left_orth.AC[pos])
162+
ψ.AL[pos], ψ.C[pos] = left_orth.AC[pos]; positive = true)
163163
else
164-
ψ.AL[pos], ψ.C[pos] = left_orth!.AC[pos])
164+
ψ.AL[pos], ψ.C[pos] = left_orth!.AC[pos]; positive = true)
165165
end
166166
transfer_leftenv!(envs, ψ, H, ψ, pos + 1)
167167
end
@@ -171,7 +171,7 @@ function _localupdate_sweep_idmrg!(ψ, H, envs, alg_eigsolve)
171171
h = AC_hamiltonian(pos, ψ, H, ψ, envs)
172172
E, ψ.AC[pos] = fixedpoint(h, ψ.AC[pos], :SR, alg_eigsolve)
173173

174-
ψ.C[pos - 1], temp = right_orth!(_transpose_tail.AC[pos]; copy = (pos == 1)))
174+
ψ.C[pos - 1], temp = right_orth!(_transpose_tail.AC[pos]; copy = (pos == 1)); positive = true)
175175
ψ.AR[pos] = _transpose_front(temp)
176176

177177
transfer_rightenv!(envs, ψ, H, ψ, pos - 1)

0 commit comments

Comments
 (0)