QuantumKitHub / MPSKit.jl

A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)
MIT License
136 stars 30 forks source link

Dedicated `approximate` method for variational truncation of an `AbstractMPS` #94

Open leburgel opened 11 months ago

leburgel commented 11 months ago

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.

maartenvd commented 10 months ago

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