# Solovay–Kitaev theorem

(Redirected from Solovay-Kitaev theorem)

In quantum information and computation, the Solovay–Kitaev theorem says that if a set of single-qubit quantum gates generates a dense subgroup of SU(2), then that set can be used to approximate any desired quantum gate with a short sequence of gates that can also be found efficiently. This theorem is considered one of the most significant results in the field of quantum computation and was first announced by Robert M. Solovay in 1995 and independently proven by Alexei Kitaev in 1997.[1][2] Michael Nielsen and Christopher M. Dawson have noted its importance in the field.[3]

A consequence of this theorem is that a quantum circuit of ${\displaystyle m}$ constant-qubit gates can be approximated to ${\displaystyle \varepsilon }$ error (in operator norm) by a quantum circuit of ${\displaystyle O(m\log ^{c}(m/\varepsilon ))}$ gates from a desired finite universal gate set.[4] By comparison, just knowing that a gate set is universal only implies that constant-qubit gates can be approximated by a finite circuit from the gate set, with no bound on its length. So, the Solovay–Kitaev theorem shows that this approximation can be made surprisingly efficient, thereby justifying that quantum computers need only implement a finite number of gates to gain the full power of quantum computation.

## Statement

Let ${\displaystyle {\mathcal {G}}}$ be a finite set of elements in SU(2) containing its own inverses (so ${\displaystyle g\in {\mathcal {G}}}$ implies ${\displaystyle g^{-1}\in {\mathcal {G}}}$) and such that the group ${\displaystyle \langle {\mathcal {G}}\rangle }$ they generate is dense in SU(2). Consider some ${\displaystyle \varepsilon >0}$. Then there is a constant ${\displaystyle c}$ such that for any ${\displaystyle U\in \mathrm {SU} (2)}$, there is a sequence ${\displaystyle S}$ of gates from ${\displaystyle {\mathcal {G}}}$ of length ${\displaystyle O(\log ^{c}(1/\varepsilon ))}$ such that ${\displaystyle \|S-U\|\leq \varepsilon }$. That is, ${\displaystyle S}$ approximates ${\displaystyle U}$ to operator norm error.[3] Furthermore, there is an efficient algorithm to find such a sequence. More generally, the theorem also holds in SU(d) for any fixed d.

This theorem also holds without the assumption that ${\displaystyle {\mathcal {G}}}$ contains its own inverses, although presently with a larger value of ${\displaystyle c}$ that also increases with the dimension ${\displaystyle d}$.[5]

## Quantitative bounds

The constant ${\displaystyle c}$ can be made to be ${\displaystyle \log _{(1+{\sqrt {5}})/2}2+\delta =1.44042\ldots +\delta }$ for any fixed ${\displaystyle \delta >0}$.[6] However, there exist particular gate sets for which we can take ${\displaystyle c=1}$, which makes the length of the gate sequence optimal up to a constant factor.[7]

## Proof idea

Every known proof of the fully general Solovay–Kitaev theorem proceeds by recursively constructing a gate sequence giving increasingly good approximations to ${\displaystyle U\in \operatorname {SU} (2)}$.[3] Suppose we have an approximation ${\displaystyle U_{n-1}\in \operatorname {SU} (2)}$ such that ${\displaystyle \|U-U_{n-1}\|\leq \varepsilon _{n-1}}$. Our goal is to find a sequence of gates approximating ${\displaystyle UU_{n-1}^{-1}}$ to ${\displaystyle \varepsilon _{n}}$ error, for ${\displaystyle \varepsilon _{n}<\varepsilon _{n-1}}$. By concatenating this sequence of gates with ${\displaystyle U_{n-1}}$, we get a sequence of gates ${\displaystyle U_{n}}$ such that ${\displaystyle \|U-U_{n}\|\leq \varepsilon _{n}}$.

The main idea in the original argument of Solovay and Kitaev is that commutators of elements close to the identity can be approximated "better-than-expected". Specifically, for ${\displaystyle V,W\in \operatorname {SU} (2)}$ satisfying ${\displaystyle \|V-I\|\leq \delta _{1}}$ and ${\displaystyle \|W-I\|\leq \delta _{1}}$ and approximations ${\displaystyle {\tilde {V}},{\tilde {W}}\in \operatorname {SU} (2)}$ satisfying ${\displaystyle \|V-{\tilde {V}}\|\leq \delta _{2}}$ and ${\displaystyle \|W-{\tilde {W}}\|\leq \delta _{2}}$, then

${\displaystyle \|VWV^{-1}W^{-1}-{\tilde {V}}{\tilde {W}}{\tilde {V}}^{-1}{\tilde {W}}^{-1}\|\leq O(\delta _{1}\delta _{2}),}$

where the big O notation hides higher-order terms. One can naively bound the above expression to be ${\displaystyle O(\delta _{2})}$, but the group commutator structure creates substantial error cancellation.

We can use this observation to approximate ${\displaystyle UU_{n-1}^{-1}}$ as a group commutator ${\displaystyle V_{n-1}W_{n-1}V_{n-1}^{-1}W_{n-1}^{-1}}$. This can be done such that both ${\displaystyle V_{n-1}}$ and ${\displaystyle W_{n-1}}$ are close to the identity (since ${\displaystyle \|UU_{n-1}^{-1}-I\|\leq \varepsilon _{n-1}}$). So, if we recursively compute gate sequences approximating ${\displaystyle V_{n-1}}$ and ${\displaystyle W_{n-1}}$ to ${\displaystyle \varepsilon _{n-1}}$ error, we get a gate sequence approximating ${\displaystyle UU_{n-1}^{-1}}$ to the desired better precision ${\displaystyle \varepsilon _{n}}$ with ${\displaystyle \varepsilon _{n}}$. We can get a base case approximation with constant ${\displaystyle \varepsilon _{0}}$ with an exhaustive search of bounded-length gate sequences.

## Proof of Solovay-Kitaev Theorem

Let us choose the initial value ${\displaystyle \varepsilon _{0}}$ so that ${\displaystyle \varepsilon _{0}<\varepsilon '}$ to be able to apply the iterated “shrinking” lemma. In addition we want ${\displaystyle s\varepsilon _{0}<1}$ to make sure that ${\displaystyle \varepsilon _{k}}$ decreases as we increase ${\displaystyle k}$. Moreover, we also make sure that ${\displaystyle \varepsilon _{0}}$ is small enough so that ${\displaystyle \varepsilon _{k}^{2}<\varepsilon _{k+1}}$.

Since ${\displaystyle \langle G\rangle }$ is dense in ${\displaystyle \operatorname {SU} (2)}$, we can choose ${\displaystyle l_{0}}$ large enough[8] so that ${\displaystyle G^{l_{0}}}$ is an ${\displaystyle \varepsilon _{0}^{2}}$-net for ${\displaystyle \operatorname {SU} (2)}$ (and hence for ${\displaystyle \operatorname {S} _{\varepsilon _{0}}}$, as well), no matter how small ${\displaystyle \varepsilon _{0}}$ is. Thus, given any ${\displaystyle U\in \operatorname {SU} (2)}$, we can choose ${\displaystyle U_{0}\in G^{l_{0}}}$ such that ${\displaystyle ||U-U_{0}||<\varepsilon _{0}^{2}}$. Let ${\displaystyle \Delta :=UU_{0}^{+}}$ be the “difference” of ${\displaystyle U}$ and ${\displaystyle U_{0}}$. Then

${\displaystyle \|\Delta _{1}-I\|=\|(U-U_{0})U_{0}^{+}\|=\|U-U_{0}\|<\varepsilon _{0}^{2}<\varepsilon _{1}.}$

Hence, ${\displaystyle \Delta _{1}\in \operatorname {S_{\varepsilon _{1}}} }$. By invoking the iterated "shrinking" lemma with ${\displaystyle k=1}$, there exists ${\displaystyle U_{1}\in G^{l_{1}}}$ such that

${\displaystyle \|\Delta _{1}-U_{1}\|=\|UU_{0}^{+}-U_{1}\|=\|U-U_{1}U_{0}\|<\varepsilon _{1}^{2}.}$

Similarly let ${\displaystyle \Delta _{2}:=\Delta _{1}U_{1}^{+}=UU_{0}^{+}U_{1}^{+}}$. Then

${\displaystyle \|\Delta _{2}-I\|=\|(U-U_{1}U_{0})U_{0}^{+}U_{1}^{+}\|=\|U-U_{1}U_{0}\|<\varepsilon _{1}^{2}<\varepsilon _{2}.}$

Thus, ${\displaystyle \Delta _{2}\in \operatorname {S_{\varepsilon _{2}}} }$ and we can invoke the iterated "shrinking" lemma (with ${\displaystyle k=2}$ this time) to get ${\displaystyle U_{2}\in G^{l_{2}}}$ such that ${\displaystyle \|\Delta _{2}-U_{2}\|=\|UU_{0}^{+}U_{1}^{+}-U_{2}\|=\|U-U_{2}U_{1}U_{0}\|<\varepsilon _{2}^{2}.}$

If we continue in this way, after k steps we get ${\displaystyle U_{k}\in \operatorname {G} ^{l_{k}}}$ such that

${\displaystyle \|U-U_{k}U_{k-1}...U_{0}\|<\varepsilon _{k}^{2}.}$

Thus, we have obtained a sequence of

${\displaystyle L=\sum _{m=0}^{k}l_{m}=\sum _{m=0}^{k}5^{m}l_{0}={\frac {5^{k+1}-1}{4}}l_{0}<{\frac {5}{4}}5^{k}l_{0}}$

gates that approximates ${\displaystyle U}$ to accuracy ${\displaystyle \varepsilon _{k}^{2}}$. To determine the value of ${\displaystyle k}$, we set ${\displaystyle \varepsilon _{k}^{2}=\left((s\varepsilon _{0})^{(3/2)^{k}}/s\right)^{2}=\varepsilon }$ and solve for k:

${\displaystyle \left({\frac {3}{2}}\right)^{k}={\frac {{\text{log}}(1/s^{2}\varepsilon )}{2{\text{log}}(1/s\varepsilon _{0})}}.}$

Now we can always choose ${\displaystyle \varepsilon _{0}}$ slightly smaller so that the obtained value of ${\displaystyle k}$ is an integer.[9] Let ${\displaystyle c={\text{log}}5/{\text{log}}(3/2)\approx 3.97}$ so that${\displaystyle 5^{k}=\left({\frac {3}{2}}\right)^{kc}}$. Then

${\displaystyle L<{\frac {5}{4}}5^{k}l_{0}={\frac {5}{4}}\left({\frac {3}{2}}\right)^{kc}l_{0}={\frac {5}{4}}\left({\frac {{\text{log}}(1/s^{2}\varepsilon )}{2{\text{log}}(1/s\varepsilon _{0})}}\right)^{c}l_{0}}$

Hence for any ${\displaystyle U\in \operatorname {SU} (2)}$ there is a sequence of ${\displaystyle L=O({\text{log}}^{c}(1/\varepsilon ))}$ gates that approximates ${\displaystyle U}$ to accuracy ${\displaystyle \varepsilon }$.

## Solovay-Kitaev algorithm for qubits

Here the main ideas that are used in the SK algorithm have been presented. The SK algorithm may be expressed in nine lines of pseudocode. Each of these lines are explained in detail below, but present it here in its entirety both for the reader’s reference, and to stress the conceptual simplicity of the algorithm:

function Solovay-Kitaev(Gate ${\displaystyle U}$, depth ${\displaystyle n}$)

if (${\displaystyle n}$ == 0)

Return Basic Approximation to ${\displaystyle U}$

else

Set ${\displaystyle U_{n-1}}$ = Solovay-Kitaev(${\displaystyle U}$,${\displaystyle n-1}$)

Set ${\displaystyle V,W}$ = GC-Decompose(${\displaystyle UU_{n-1}^{+}}$)

Set ${\displaystyle V_{n-1}}$ = Solovay-Kitaev(${\displaystyle V,n-1}$)

Set ${\displaystyle W_{n-1}}$ = Solovay-Kitaev(${\displaystyle W,n-1}$)

Return ${\displaystyle U_{n}=V_{n-1}W_{n-1}V_{n-1}^{+}W_{n-1}^{+}U_{n-1}}$;

Let’s examine each of these lines in detail. The first line:

function Solovay-Kitaev(Gate ${\displaystyle U}$, depth ${\displaystyle n}$)

indicates that the algorithm is a function with two inputs: an arbitrary single-qubit quantum gate, ${\displaystyle U}$, which we desire to approximate, and a non-negative integer, ${\displaystyle n}$, which controls the accuracy of the approximation. The function returns a sequence of instructions which approximates ${\displaystyle U}$ to an accuracy ${\displaystyle \varepsilon _{n}}$, where ${\displaystyle \varepsilon _{n}}$ is a decreasing function of ${\displaystyle n}$, so that as ${\displaystyle n}$ gets larger, the accuracy gets better, with ${\displaystyle \varepsilon _{n}}$→ 0 as ${\displaystyle n}$ → ∞. ${\displaystyle \varepsilon _{n}}$ is described in detail below.

The Solovay-Kitaev function is recursive, so that to obtain an ${\displaystyle \varepsilon _{n}}$-approximation to ${\displaystyle U}$, it will call itself to obtain ${\displaystyle \varepsilon _{n-1}}$-approximations to certain unitaries. The recursion terminates at ${\displaystyle n=0}$, beyond which no further recursive calls are made:

if (${\displaystyle n}$ == 0)

Return Basic Approximation to ${\displaystyle U}$

In order to implement this step it is assumed that a preprocessing stage has been completed which allows one to find a basic ${\displaystyle \varepsilon _{0}}$-approximation to arbitrary ${\displaystyle U\in \operatorname {SU} (2)}$. Since ${\displaystyle \varepsilon _{0}}$ is a constant, in principle this preprocessing stage may be accomplished simply by enumerating and storing a large number of instruction sequences from ${\displaystyle G}$, say up to some sufficiently large (but fixed) length ${\displaystyle l_{0}}$, and then providing a lookup routine which, given ${\displaystyle U}$, returns the closest sequence.

At higher levels of recursion, to find an ${\displaystyle \varepsilon _{n}}$-approximation to ${\displaystyle U}$, one begins by finding an ${\displaystyle \varepsilon _{n-1}}$-approximation to ${\displaystyle U}$:

else

Set ${\displaystyle U_{n-1}}$ = Solovay-Kitaev(${\displaystyle U}$,${\displaystyle n-1}$)

${\displaystyle U_{n-1}}$ is used as a step towards finding an improved approximation to ${\displaystyle U}$. Defining ${\displaystyle \Delta }$${\displaystyle UU_{n-1}^{+}}$, the next three steps of the algorithm aim to find an ${\displaystyle \varepsilon _{n}}$-approximation to ${\displaystyle \Delta }$, where ${\displaystyle \varepsilon _{n}}$ is some improved level of accuracy, i.e., ${\displaystyle \varepsilon _{n}<\varepsilon _{n-1}}$. Finding such an approximation also enables us to obtain an ${\displaystyle \varepsilon _{n}}$-approximation to ${\displaystyle U}$, simply by concatenating exact sequence of instructions for ${\displaystyle U_{n-1}}$ with ${\displaystyle \varepsilon _{n}}$-approximating sequence for ${\displaystyle \Delta }$.

How do we find such an approximation to  ? First, observe that ${\displaystyle \Delta }$ is within a distance ${\displaystyle \varepsilon _{n-1}}$ of the identity. This follows from the definition of ${\displaystyle \Delta }$ and the fact that ${\displaystyle U_{n-1}}$ is within a distance ${\displaystyle \varepsilon _{n-1}}$ of ${\displaystyle U}$.

Second, decompose ${\displaystyle \Delta }$ as a group commutator ${\displaystyle \Delta =VWV^{+}W^{+}}$ of unitary gates ${\displaystyle V}$ and ${\displaystyle W}$. For any ${\displaystyle \Delta }$ it turns out thatthis is not obvious and that there is always an infinite set of choices for ${\displaystyle V}$ and ${\displaystyle W}$ such that ${\displaystyle \Delta =VWV^{+}W^{+}}$. For our purposes it is important that we find ${\displaystyle V}$ and ${\displaystyle W}$ such that ${\displaystyle d(I,V),d(I,W) for some constant ${\displaystyle c_{gc}}$. We call such a decomposition a balanced group commutator.

Set ${\displaystyle V,W}$ = GC-Decompose(${\displaystyle UU_{n-1}^{+}}$)

For practical implementations we will see below that it is useful to have ${\displaystyle c_{gc}}$ as small as possible.

The next step is to find instruction sequences which are ${\displaystyle \varepsilon _{n-1}}$-approximations to ${\displaystyle V}$ and ${\displaystyle W}$:

Set ${\displaystyle V_{n-1}}$ = Solovay-Kitaev(${\displaystyle V,n-1}$)

Set ${\displaystyle W_{n-1}}$ = Solovay-Kitaev(${\displaystyle W,n-1}$)

The group commutator of ${\displaystyle V_{n-1}}$ and ${\displaystyle W_{n}}$ turns out to be an ${\displaystyle \varepsilon _{n-1}}$${\displaystyle c_{\text{approx}}\varepsilon _{n-1}^{3/2}}$-approximation to ${\displaystyle \Delta }$, for some small constant ${\displaystyle c_{\text{approx}}}$. Provided ${\displaystyle \varepsilon _{n-1}<1/c_{\text{approx}}^{2}}$, we see that ${\displaystyle \varepsilon _{n}<\varepsilon _{n-1}}$, and this procedure therefore provides an improved approximation to ${\displaystyle \Delta }$, and thus to ${\displaystyle U}$.

The constant ${\displaystyle c_{\text{approx}}}$ is important as it determines the precision ${\displaystyle \varepsilon _{0}}$ required of the initial approximations. In particular, we see that for this construction to guarantee that ${\displaystyle \varepsilon _{0}>\varepsilon _{1}>...}$ we must have ${\displaystyle \varepsilon _{0}<1/c_{\text{approx}}^{2}}$.

The algorithm concludes by returning the sequences approximating the group commutator, as well as ${\displaystyle U_{n-1}}$:

Return ${\displaystyle U_{n}=V_{n-1}W_{n-1}V_{n-1}^{+}W_{n-1}^{+}U_{n-1}}$;

Summing up, the function Solovay-Kitaev(U, n) returns a sequence which provides an ${\displaystyle \varepsilon _{n}=c_{\text{approx}}\varepsilon _{n-1}^{3/2}}$-approximation to the desired unitary ${\displaystyle U}$ . The five constituents in this sequence are all obtained by calling the function at the ${\displaystyle n-1}$th level of recursion.[10]

## References

1. ^ Kitaev, A Yu (1997-12-31). "Quantum computations: algorithms and error correction". Russian Mathematical Surveys. 52 (6): 1191–1249. Bibcode:1997RuMaS..52.1191K. doi:10.1070/rm1997v052n06abeh002155. ISSN 0036-0279. S2CID 250816585.
2. ^ Kitaev, Alexei Yu.; Shen, Alexander; Vyalyi, Mikhail N. (2002). Classical and quantum computation. Providence, Rhode Island: American Mathematical Society. ISBN 0-8218-2161-X. OCLC 48965167.
3. ^ a b c Dawson, Christopher M.; Nielsen, Michael (2006-01-01). "The Solovay-Kitaev algorithm". Quantum Information & Computation. 6: 81–95. arXiv:quant-ph/0505030. doi:10.26421/QIC6.1-6.
4. ^ Nielsen, Michael A.; Chuang, Isaac L. (2010). "The Solovay–Kitaev theorem". Quantum Computation and Quantum Information: 10th Anniversary Edition. pp. 617–624. doi:10.1017/cbo9780511976667.019. ISBN 9780511976667. Retrieved 2020-05-20.
5. ^ Bouland, Adam; Giurgica-Tiron, Tudor (2021-12-03), Efficient Universal Quantum Compilation: An Inverse-free Solovay-Kitaev Algorithm, arXiv:2112.02040
6. ^ Kuperberg, Greg (2023-06-22), "Breaking the cubic barrier in the Solovay-Kitaev algorithm", arXiv:2306.13158 [quant-ph]
7. ^ Ross, Neil J.; Selinger, Peter. "Optimal ancilla-free Clifford+T approximation of z-rotations". Quantum Information & Computation. 16 (11–12): 901–953. arXiv:1403.2975. doi:10.26421/QIC16.11-12-1.
8. ^
9. ^ Nielsen, Chuang, M.A., I.L. "Quantum Computation and Quantum Information (Cambridge University Press, 2000), Appendix 3, pp. 617{624". {{cite web}}: Missing or empty |url= (help)CS1 maint: multiple names: authors list (link)
10. ^ CHRISTOPHER M. DAWSON, MICHAEL A. NIELSEN. "THE SOLOVAY-KITAEV ALGORITHM".