@@ -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