Solovay–Kitaev theorem

From testwiki
Jump to navigation Jump to search

Template:Short description

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 m constant-qubit gates can be approximated to ε error (in operator norm) by a quantum circuit of O(mlogc(m/ε)) gates from a desired finite universal gate set (where c is a constant).[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 𝒢 be a finite set of elements in SU(2) containing its own inverses (so g𝒢 implies g1𝒢) and such that the group 𝒢 they generate is dense in SU(2). Consider some ε>0. Then there is a constant c such that for any USU(2), there is a sequence S of gates from 𝒢 of length O(logc(1/ε)) such that SUε. That is, S approximates 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 𝒢 contains its own inverses, although presently with a larger value of c that also increases with the dimension d.[5]

Quantitative bounds

The constant c can be made to be log(1+5)/22+δ=1.44042+δ for any fixed δ>0.[6] However, there exist particular gate sets for which we can take 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 USU(2).[3] Suppose we have an approximation Un1SU(2) such that UUn1εn1. Our goal is to find a sequence of gates approximating UUn11 to εn error, for εn<εn1. By concatenating this sequence of gates with Un1, we get a sequence of gates Un such that UUnε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 V,WSU(2) satisfying VIδ1 and WIδ1 and approximations V~,W~SU(2) satisfying VV~δ2 and WW~δ2, then

VWV1W1V~W~V~1W~1O(δ1δ2),

where the big O notation hides higher-order terms. One can naively bound the above expression to be O(δ2), but the group commutator structure creates substantial error cancellation.

We can use this observation to approximate UUn11 as a group commutator Vn1Wn1Vn11Wn11. This can be done such that both Vn1 and Wn1 are close to the identity (since UUn11Iεn1). So, if we recursively compute gate sequences approximating Vn1 and Wn1 to εn1 error, we get a gate sequence approximating UUn11 to the desired better precision εn with εn. We can get a base case approximation with constant ε0 with an exhaustive search of bounded-length gate sequences.

Proof of Solovay-Kitaev Theorem

Let us choose the initial value ε0 so that ε0<ε to be able to apply the iterated “shrinking” lemma. In addition we want sε0<1 to make sure that εk decreases as we increase k. Moreover, we also make sure that ε0 is small enough so that εk2<εk+1.

Since G is dense in SU(2), we can choose l0 large enough[8] so that Gl0 is an ε02-net for SU(2) (and hence for Sε0, as well), no matter how small ε0 is. Thus, given any USU(2), we can choose U0Gl0 such that ||UU0||<ε02. Let Δ:=UU0+ be the “difference” of U and U0. Then

Δ1I=(UU0)U0+=UU0<ε02<ε1.

Hence, Δ1Sε1. By invoking the iterated "shrinking" lemma with k=1, there exists U1Gl1 such that

Δ1U1=UU0+U1=UU1U0<ε12.

Similarly let Δ2:=Δ1U1+=UU0+U1+. Then

Δ2I=(UU1U0)U0+U1+=UU1U0<ε12<ε2.

Thus, Δ2Sε2 and we can invoke the iterated "shrinking" lemma (with k=2 this time) to get U2Gl2 such that Δ2U2=UU0+U1+U2=UU2U1U0<ε22.

If we continue in this way, after k steps we get UkGlk such that

UUkUk1...U0<εk2.

Thus, we have obtained a sequence of

L=m=0klm=m=0k5ml0=5k+114l0<545kl0

gates that approximates U to accuracy εk2. To determine the value of k, we set εk2=((sε0)(3/2)k/s)2=ε and solve for k:

(32)k=log(1/s2ε)2log(1/sε0).

Now we can always choose ε0 slightly smaller so that the obtained value of k is an integer.[9] Let c=log5/log(3/2)3.97 so that5k=(32)kc. Then

L<545kl0=54(32)kcl0=54(log(1/s2ε)2log(1/sε0))cl0

Hence for any USU(2) there is a sequence of L=O(logc(1/ε)) gates that approximates U to accuracy ε.

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 U, depth n) is

    if (n == 0)

        return Basic Approximation to U

    else

        set Un1 = Solovay-Kitaev(U,n1)

        set V,W = GC-Decompose(UUn1+)

        set Vn1 = Solovay-Kitaev(V,n1)

        set Wn1 = Solovay-Kitaev(W,n1)

        return Un=Vn1Wn1Vn1+Wn1+Un1;
        
end function

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

function Solovay-Kitaev(Gate U, depth n) is

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

The Solovay-Kitaev function is recursive, so that to obtain an εn-approximation to U, it will call itself to obtain εn1-approximations to certain unitaries. The recursion terminates at n=0, beyond which no further recursive calls are made:

if (n == 0)
 
    return Basic Approximation to U

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

At higher levels of recursion, to find an εn-approximation to U, one begins by finding an εn1-approximation to U:

else

    set Un1 = Solovay-Kitaev(U,n1)

Un1 is used as a step towards finding an improved approximation to U. Defining ΔUUn1+, the next three steps of the algorithm aim to find an εn-approximation to Δ, where εn is some improved level of accuracy, i.e., εn<εn1. Finding such an approximation also enables us to obtain an εn-approximation to U, simply by concatenating exact sequence of instructions for Un1 with εn-approximating sequence for Δ.

How do we find such an approximation to? First, observe that Δ is within a distance εn1 of the identity. This follows from the definition of Δ and the fact that Un1 is within a distance εn1 of U.

Second, decompose Δ as a group commutator Δ=VWV+W+ of unitary gates V and W. For any Δ it turns out that this is not obvious and that there is always an infinite set of choices for V and W such that Δ=VWV+W+. For our purposes it is important that we find V and W such that d(I,V),d(I,W)<cgcεn1 for some constant cgc. We call such a decomposition a balanced group commutator.

set V,W = GC-Decompose(UUn1+)

For practical implementations we will see below that it is useful to have cgc as small as possible.

The next step is to find instruction sequences which are εn1-approximations to V and W:

set Vn1 = Solovay-Kitaev(V,n1) 

set Wn1 = Solovay-Kitaev(W,n1)

The group commutator of Vn1 and Wn turns out to be an εn1capproxεn13/2-approximation to Δ, for some small constant capprox. Provided εn1<1/capprox2, we see that εn<εn1, and this procedure therefore provides an improved approximation to Δ, and thus to U.

The constant capprox is important as it determines the precision ε0 required of the initial approximations. In particular, we see that for this construction to guarantee that ε0>ε1>... we must have ε0<1/capprox2.

The algorithm concludes by returning the sequences approximating the group commutator, as well as Un1:

return Un=Vn1Wn1Vn1+Wn1+Un1;

Summing up, the function Solovay-Kitaev(U, n) returns a sequence which provides an εn=capproxεn13/2-approximation to the desired unitary U . The five constituents in this sequence are all obtained by calling the function at the n1th level of recursion.[10]

References

Template:Reflist

Template:Quantum computing