0 votes
asked by (770 points)


This is somewhat closely related to the other discussions on the difficulty of implementing periodic MPS even in 1D systems. A command like:

psi_approx = MPS(A, sites; cutoff = accuracy)

turns a randomITensor (that potentially contains the amplitudes of a quantum state) into an efficient MPS description (upto some accuracy) with open boundary conditions. My first guess would be this works by using SVD (or equivalently Schmidt decomposition) along some partition and then one repeats the process for other partitions. Is this so?

Now coming to the more important question: is there any way of generalizing this approximation for MPS with periodic boundary conditions? (It may be worth mentioning that for the setting I am looking at, I am guaranteed that such a description exists and the final MPS is translationally invariant.) I don't believe that SVDs would do it as the entanglement between two sites in this setting will be kind of distributed between "two" paths (one along the usual chain and the other along the ring).

For motivation let me say, when I employ the "MPS" routine for the amplitudes of a cluster state on a ring, I get a bond dimension of 4 rather than the usual D=2. I would think this is because the entanglement between site 1 and N now has to be pushed through along the chain. So, my question in this context would be: how do I get back the well known 2*2 matrix description of the components of the local tensors?

commented by (14.1k points)
Yes, you're correct that the `MPS(A::ITensor, sites)` function works by doing a series of SVDs, essentially:

    A1, S, V = svd(A, sites[1])
    l = commonind(A1, S)
    A2, S, V = svd(S*V, (l, sites[2]))

and then the MPS is the collection of tensors `[A1, A2, ...]`.

The case of making a truly periodic MPS is less straightforward, since as far as I know it can't be done with a "direct" procedure like the one above. Likely you would have to do an iterative optimization. I would get started by taking a look at some of the papers on periodic MPS:


How I would imagine it working would be to start with a random periodic MPS |psi>, and imagine it as a procedure to maximize the overlap of that periodic MPS with your ITensor |A>.

1 Answer

0 votes
answered by (70.1k points)

(See answer above)

Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.