MPO representation of QFT

Hi Miles,

I have read your recent work on representing the QFT as a low bond-dimension MPO with great interest, and I have a quick question I was hoping you may help me with in relation to the numerical implementation using ITensors.

One thing I notice is you stress the use of the canonical form of the MPO to ensure optimal compression during the MPO-MPO zipups. In canonical form, the norm of the tensor will be contained at the orthogonality center, which will be exponentially large here as you are representing a unitary circuit.
My question is, are there potential issues with storing these exponentially growing numerical values in your ITensors? Presumably for a large enough system size the tensor values will be so large they cannot be represented using floats? I would be grateful if you could share whether this is an issue you are aware of, or have I misunderstood your approach.

Kind regards,
Joe

I think it’s a misunderstanding of the approach. In the approach used, we were not storing the whole circuit all at once as an MPO initially, but using the zip-up method to combine two adjacent layers of the circuit. Then we use it again to combine the next layer, and so on, until all of the layers are finally combined into a single MPO. Figure 3 of the paper shows part of this process.

One could also use any other algorithm for multiplication of MPOs. It does not have to be the zip-up algorithm.