Pattern Atlas

Extended Quantum Computing Patterns

Schmidt Decomposition

Aliases:

Tags:

© Weigold, M., et al.: Encoding patterns for quantum algorithms. IET Quant. Comm. 1–12 (2021). https://doi.org/10.1049/qtc2.12032

Intent

Prepare an arbitrary state

Context

A state \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\) has to be prepared on an empty \(n\)-qubit register. If no state preparation method is known that exploits the structure of this state to prepare it efficiently, a method for creating an arbitrary state can be used instead.

Solution

To generate a circuit for the creation of \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\), it first needs to be expressed in terms of two subspaces \(V\) and \(W\) that span \(H^{\otimes n}\). First, orthogonal basis \(\{f_1, \ldots, f_k\}\in V\) and \(\{g_1, \ldots, g_k\}\in W\) are chosen and \(\ket{s}\) is represented as a linear combination of these basis vectors:

$$ \newcommand{\state}[1]{{\left| #1 \right>}}\state{s}=\sum_{i, j} b_{ij} \cdot f_i \otimes g_j $$

Then, the singular value decomposition (SVD) of the matrix \({M = \{ b_{ij} \}}\) is computed (see [Olver et al. 2006] for detailed instructions):

$$ M= \left( \begin{matrix}U_1 U_2 \end{matrix} \right) \left( \begin{matrix}A \\ 0 \end{matrix} \right) V^* $$

where the matrix \(U\) obtained by the SVD is rewritten by \(U_1\) and \(U_2\). The entries of the diagonal matrix \(A\) build the set \(\{\alpha_1, \ldots \alpha_m\}\) which defines the Schmidt decomposition of \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\):

$$ \newcommand{\state}[1]{{\left| #1 \right>}}\state{s}=\sum_{i=1}^{m} \alpha_{i} \cdot u_i \otimes v_i, \alpha_{i} \in \mathbb{R} \geq 0, \text{where} \sum_{i=1}^{m} \alpha_{i} = 1 $$

where \(\alpha_{1}, \ldots ,\alpha_{m}\) are the Schmidt coefficients for the Schmidt basis \(\{u_i\}\), \(\{v_i\}\). The circuit in the pattern sketch can be used to prepare \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\) on an empty register [Abhijith et al. 2018]: First, \(B\) transforms the amplitude of the first register to the Schmidt coefficients. Then, a series of CNOT operations copies this state to the second register. Finally, \(U_1\) and \(V\) transform the computational basis states \(\{e_i\}\) into the Schmidt basis states:

$$ (U_1 \otimes V) \sum_{i=1}^{m} \alpha_i \cdot e_i \otimes $$

For the execution on a quantum computer, the unitary matrices must be further decomposed into one and two qubit gates.

Result

The state \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\) is created in the register. For this state, the Schmidt coefficients \(\alpha_i\) are known which can be used to quantify entanglement [Nielsen and Chuang 2002]. The state \(\newcommand{\state}[1]{{\left| #1 \right>}}\state{s}\) is separable if and only if exactly one of the Schmidt coefficients is non-zero. In the worst case, the depth of the circuit is exponential (more precisely: \(\frac{23}{48} 2^n\) [Plesch and Brukner 2011]).Note that arbitrary state preparation was shown to be of exponential complexity, i.e., a circuit of exponential depth will always be needed in the worst case.

Related Patterns

This pattern refines Initialization, and can be used as a state preparation method for Amplitude or QRAM Encoding.

Known Uses

This pattern can be used to create random states with a controlled amount of entanglement [Daskin et al.]. An implementation in Mathematica was provided in Iten et al. 2019.