1
$\begingroup$

I am trying to understand how to represent any quantum state as an MPS while working through this review by Schollwöck. My goal is to take any random $2^N$ dimensional vector and construct its MPS representation (on a computer). The canonical method claims that any quantum state (think: any normalized complex vector from a 2^N dimension Hilbert space) can be written as an MPS, although for states with high entanglement, such an expansion is expensive.

What I do not understand is how you construct tensors with 3 indices while left-canonizing a state vector. (Screenshot attached).

Per page 18, I start with a random $2^{6}$ dimensional normalized complex-vector. Then I reshape it to (2,32) and perform an SVD to get matrices U (2x2), S(2x32) and V$^\dagger$(32x32). The next step is to multiply both S, V$^\dagger$ and reshape the resultant matrix to (4, 16). Then the review talks about decomposing U into $d$-row vectors. I know that d=2 for my case, but what does this mean numerically? Just write U(2x2) as two row vectors. Or is it related to the QR decomposition?

Next, we perform an SVD on the (4,16) matrix to get a U(4x4), S(4x16) and V$^\dagger$ (16x16). The author claims that this U(4x4) can be replaced by a set of d=2, 2x4 matrices. How is this possible?

If I go about my understanding, then at the end I will have different U matrices of sizes 2x2, 4x4, 8x8, and 16x16 and then decrease. But we cannot multiply such matrices. What am I missing here?

I know I am messing up something but I don't seem to understand. I am looking to understand MPS in more detail and would love your help. Thanks in advance!  

Left Canonical MPS procedure

$\endgroup$

1 Answer 1

1
$\begingroup$

Let us work through your example, i.e., $2^6$-dimensional normalized complex vector $|\psi\rangle$ \begin{equation} |\psi\rangle=\sum_{\sigma_1,\sigma_2,\ldots,\sigma_6}\psi_{\sigma_1,\sigma_2,\ldots,\sigma_6}|\sigma_1,\sigma_2,\ldots,\sigma_6\rangle \end{equation}

The matrix $\psi_{\sigma_1,\sigma_2,\ldots,\sigma_6}$ has shape $(1,2^6)=(1,64)$. This is equivalent to thinking of $\psi$ as being a $(2,2,2,2,2,2)$ tensor. Visually we can think of this tensor as a block with 6 legs, where each of the legs can take in two (or d- in the general case) values - corresponding to the values of $\sigma_i$ - here 0 or 1. This is the situation in the top row of the attached Figure 5 from the review you sent.

Figure 5 from the review you mentioned

The goal now is to work through the block from left to right and decompose our state into a product of smaller tensors (big dots in the bottom row of the figure) - or more formally: \begin{equation} \psi_{\sigma_1,\sigma_2,\ldots,\sigma_6} = \sum_{a_1,a_2,\ldots,a_5} A^{[\sigma_1]}_{a_1}A^{[\sigma_2]}_{a_1,a_2}\ldots A^{[\sigma_5]}_{a_4,a_5} A^{[\sigma_6]}_{a_5} \end{equation}

Note that the $\sigma_i$ indices correspond to the edges extending up (these are the physical indices corresponding to the values of $\sigma$ at each site), while the $a_i$ indices correspond to the horizontal bonds (these are the bond indices - which aren't physical and depend on the way we construct the MPS). Additionally, note that the first and last sites have only one bond index ($a_1$ and $a_5$, respectively).

The meaning of "decomposing $U$ into $d$-row vectors" should now become clearer: For each of the $d$ choices of the value of the physical index $\sigma_i$, we have a matrix of shape $(\dim(a_{i-1}),\dim(a_i))$. In the edge cases (first and last step), matrices $A^{[\sigma_1]}$ and $A^{[\sigma_6]}$ are just vectors (for fixed values of $\sigma_1,\sigma_6$).

The $U$ matrices will have the shapes (2,2), (4,4), (8,8), (16,4), (8,2), (4,1), and they correspond to the whole $i$-th vertex in the figure. Note here that because after the third step, matrix M (on which we do SVD) has dimensions $m\times n$ with $n<m$, U no longer becomes a square matrix; see Eq. 18 in the review.

enter image description here

To get the form of matrices $A$, we now want to decouple the physical indices from the bond indices of the $U$ arrays. That is, for the collection of the $2$ (or $d$ in general) values of the physical index $\sigma_i$, we have matrices $A^{[\sigma_i]}$ and their shapes are (1,2), (2,4), (4,8), (8,4), (4,2), (2,1).

The matrix elements of A's are then related to U's exactly as described in the review, namely \begin{equation} A^{[\sigma_1]}_{a_1} = U_{\sigma_1,a_1} = \langle \sigma_1|U|a_1\rangle \end{equation} for the edge cases (that is just like taking the row vectors from the 2x2 matrix) or \begin{equation} A^{[\sigma_2]}_{a_1,a_2} = U_{(a_1\sigma_2),a_2} = (\langle a_1| \otimes \langle \sigma_2|)U |a_2\rangle \end{equation}

Note that the $(a_1\sigma_2)$ works in the sense of a tensor product (added braket notation for clarity).

To summarise I will show the procedure step-by-step, as to how the shapes of our state representation change over time (short-arrow denotes reshaping from $U\to A$, Long-arrow denotes reshaping of the state):

  • Starting point: $(1,2^6=64)\longrightarrow(2,32)$
  • $U=(2,2)\to A^{[\sigma_1]}=(1,[2],2)$, $SV^\dagger = (2,32)\longrightarrow(4,16)$
  • $U=(4,4)\to A^{[\sigma_2]}=(2,[2],4)$, $SV^\dagger = (4,16)\longrightarrow(8,8)$
  • $U=(8,8)\to A^{[\sigma_3]}=(4,[2],8)$, $SV^\dagger = (8,8)\longrightarrow(16,4)$
  • $U=(16,4)\to A^{[\sigma_4]}=(8,[2],4)$, $SV^\dagger = (4,4)\longrightarrow(8,2)$
  • $U=(8,2)\to A^{[\sigma_5]}=(4,[2],2)$, $SV^\dagger = (2,2)\longrightarrow(4,1)$
  • $U=(4,1)\to A^{[\sigma_6]}=(2,[2],1)$

Dimension of the physical index $\sigma$ in square brackets.

$\endgroup$
3
  • 1
    $\begingroup$ Thanks for the answer! Now I understand how A can be constructed from U. However, I do not understand how U at the 4th step is (8x8). Per my calculations, U matrices are like (2x2), (4x4), (8x8), (16x16). At the third step, the state matrix is like (8x8) and an SVD gives U (8x8) and the product of S and V is (8x8). This (8x8) matrix is reshaped as (16x4) state matrix for step 4, SVD'ing which gives U as (16x16). Where am I wrong here? Your clarification will mean a lot! $\endgroup$ Commented Feb 12 at 22:29
  • $\begingroup$ You are correct that the matrix, after reshaping, has a shape (16x4). However, performing SVD on M with dimensions $(N_A\times N_B)$ gives a matrix U of shape $N_A\times \min(N_A, N_B)=16\times4$ in our case. I have edited my answer to include that correction and a short summary at the end of all shapes throughout the process. $\endgroup$
    – Adam
    Commented Feb 13 at 14:46
  • $\begingroup$ @Adam Can you please tell (or provide any resources) how left (or right) canonicalization is done for PBC MPS (as introduced) in Pg 30 of Scholloweck $\endgroup$ Commented Mar 31 at 8:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.