ITensor / ITensorNetworks.jl

A package with general tools for working with higher-dimensional tensor networks based on ITensor.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

b-kloss opened this issue · comments

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).

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.

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.