Hi,

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?