Hi!
Is there a built-in way to run a dmrg simulation not with a fixed number of sweeps, but ending it when it converges up to user need?
As an example, I might need a precision of 10^-5, as soon as a new sweep is not improving the eigenvalue for more than this amount the simulation stops (or within the last 10 or something similar).
We have a feature built into our DMRG code called the observer system that lets you both monitor a calculation and stop it early based on any criterion you want. Here’s a walkthrough of how to use it:
< https://itensor.github.io/ITensors.jl/stable/Observer.html>
Does this give you what you need? For your application you’d need to define a custom checkdone! function.