ITensor / ITensorNetworks.jl

A package with general tools for working with higher-dimensional tensor networks based on ITensor.
MIT License
51 stars 12 forks source link

`random_ttn` for site-indices with `QN`s #124

Open b-kloss opened 5 months ago

b-kloss commented 5 months ago

With the upcoming support for QN indices and fermions in the TTN constructor #122, it would be nice allow for making a random TTN in a given quantum number sector (determined by an input state, passed e.g. as a function).

emstoudenmire commented 5 months ago

I've been wanting to improve the implementation of this for the QN case ever since support for QN conserving QR (and LQ) decomposition was added. It would be good to chat about the algorithm for this & could be ideal to add it to this package then "back port" the implementation to ITensors.jl afterward.

mtfishman commented 5 months ago

Yeah, definitely something we need. Though it should be called random_ttn to follow the convention that only types (and constructors with the exact name of the type) are capitalized.

Also, a temporary workaround for constructing random TTN with bond dimension larger than one would be to apply a low-depth circuit of random 2-site unitary gates to a product state.