It might be useful to add a dedicated approximate(Ψ₀::AbstractMPS, Ψ::AbstractMPS, algorithm, [environments]; kwargs...) method for a globally optimal truncation of a given MPS. It is mentioned in the changebonds documentation that combining changebonds(Ψ::AbstractMPS, alg::SvdCt) with approximate can give a globally optimal truncation, but as far as I can tell all current implementations of approximate take an MPO-MPS pair as the object to approximate, so I don't see how this could be done directly.
To tag on to this, should we change the approximate call signature to not take in tuples? I'm not sure why I started doing that, but at the moment it certainly doesn't look so clean
It might be useful to add a dedicated
approximate(Ψ₀::AbstractMPS, Ψ::AbstractMPS, algorithm, [environments]; kwargs...)
method for a globally optimal truncation of a given MPS. It is mentioned in thechangebonds
documentation that combiningchangebonds(Ψ::AbstractMPS, alg::SvdCt)
withapproximate
can give a globally optimal truncation, but as far as I can tell all current implementations ofapproximate
take an MPO-MPS pair as the object to approximate, so I don't see how this could be done directly.