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.
Forces
–
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:
Then, the singular value decomposition (SVD) of the matrix \({M = \{ b_{ij} \}}\) is computed (see [Olver et al. 2006] for detailed instructions):
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}\):
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:
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.
Examples
–
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.