ITensorNetworks.jl
ITensorNetworks.jl copied to clipboard
Subspace expansion
This PR introduces a general and flexible subspace expansion interface.
This allows users to perform a 2-site expansion alongside other (typically 1-site) routines, which has better scaling both in the bond dimension and the local Hilbertspace dimension than their 2-site analogs.
The expansion works on general tree structures and can be seamlessly incorporated into existing algorithms by composing and chaining different local updaters via the compose_updaters function.
Keyword arguments like maxdim and cutoff inside of expander_kwargs can be used to modify parameters specific to the expansion. Furthermore, a general, randomized svd-routine has been implemented, which can be used for the expansion and allows for the favorable, aforementioned scaling.
An example script can be found in the test folder.