You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently you have to call vumps and subspace_expansion in separate function calls, for example:
for _ in1:n_subspace_expansions
ψ =subspace_expansion(ψ, H; maxdim=100, cutoff=1e-8)
ψ =vumps(H, ψ; tol=1e-5, maxiter=20)
end
which performs subspace expansion n_subspace_expansions times, and for each bond dimension runs VUMPS to some level of convergence.
It would be better to hide the subspace expansion inside the vumps call, and use an interface closer to the keyword argument interface of ITensors.dmrg.
A disadvantage is that we probably want to provide a variety of subspace expansion techniques, but that could be specified with a different interface, like passing a function:
Currently you have to call
vumps
andsubspace_expansion
in separate function calls, for example:which performs subspace expansion
n_subspace_expansions
times, and for each bond dimension runs VUMPS to some level of convergence.It would be better to hide the subspace expansion inside the
vumps
call, and use an interface closer to the keyword argument interface ofITensors.dmrg
.The closest interface would be something like:
This would attempt to perform subspace expansion at each iteration, which automatically skips if the bond dimension is saturated.
We could rely on Julia functions to make it easier to specify more maxdims, for example:
A disadvantage is that we probably want to provide a variety of subspace expansion techniques, but that could be specified with a different interface, like passing a function:
@hershsingh @LHerviou
The text was updated successfully, but these errors were encountered: