Fast and efficient exact synthesis of single qubit unitaries generated by clifford and t gates
1. Fast and efficient
exact synthesis for single qubit unitaries
generated by Clifford and T gates
Yi-Hsin Ma
March 12, 2019
This is a presentation refers to the paper:
”Fast and efficient exact synthesis of single qubit unitaries generated by Clifford and T gates”
Vadym Kliuchnikov, Dmitri Maslov, Michele Mosca.
3. Introduction
Unitaries Synthesis Problems.
Single-Qubit Unitary Decomposition
Exact Decomposition
Approximate Decomposition
Solovay-Kitaev Algorithm
Multiple-Qubit Unitary Synthesize
What Solovay-Kitaev Algorithm Do?
Compile an quantum algorithm into an efficient fault-tolerance
form using Hadamard, T(π
8 ), and C-NOT gates.
Produces sequence of gate with length Ologc(1
), and requires
time Ologd (1
), c, d ∈ Z.
It does not guarantee
Finding an exact decomposition if there is one.
Whether the exact decomposition exists.
4. Introduction
What this Paper Want to Solve?
Show equivalence between the set of unitaries which are
computable by the circuit by Clifford and T gates and the set
of unitaries over Z[ 1√
2
, i].
Report an exact single-qubit circuit synthesis algorithm with H
and T optimality.
Note: T =
1 0
0 ω
, ω = e
2πi
8 .
5. Formulation
Theorem 2.1
The set of 2 × 2 unitaries over the ring Z[ 1√
2
, i] is equivalent to
the set of those unitaries implementable exactly as single-qubit
circuits constructed using H and T gates only.
Note that ”⊇” is straightforward, since both H and T is over the
ring Z[ 1√
2
, i]. The otherside is more difficult to proof.
Conjecture 2.2
For n > 1, the set of 2n × 2n unitaries over Z[ 1√
2
, i] is equivalent
to the set of unitaries implementable exactly as circuits with
Clifford and T gates built using (n+1) qubits, where the last qubit
is an ancillary qubit which is set to |0 at the beginning and is
required to be |0 at the end.
6. Reducing unitary implementation to state preparation
Any unitary U can be represented as
U =
z −w∗eiφ
w z∗eiφ ,
where det(U) = eiφ should belong to Z[ 1√
2
, i], which gives that
eiφ = ωk.
Hence we have the general form of the matrix we interested as
U =
z −w∗ωk
w z∗ωk
7. Reducing unitary implementation to state preparation
Lemma 3.1
Any single-qubit state with entries in the ring Z[ 1√
2
, i] can be
prepared using only H and T gates given the initial state |0 .
Using Lemma 3.1 we can reduce the problem of finding the
implementation of an unitary into state preparation. Suppose we
have a circuit that prepares state z
w ,(of course z, w ∈ Z[ 1√
2
, i]).
There exist k ∈ Z such that the unitaries is equal to
z −w∗ωk
w z∗ωk
8. Sequence for state preparation
Consider sequence of (HT)n|0 . It is an infinite sequence, since
in the Bloch sphere picture unitary HT corresponds to rotation
over an angle that is an irrational fraction of π.
Observation in Table 1.
Power of
√
2 in the denominator of the entries is the same.
Power of
√
2 in the denominator of |zn|2 increases by 1 after
multiplication by HT.
In general, multiplication by HTk cannot change the power of√
2 in the denominator by more than one.(Lemma 4.3)
10. Definitions of Sde and Gde
Notation: Z[ω] := {a + bω + cω2 + dω3, a, b, c, d ∈ Z}.
Divisibility to element of Z[ω]: x divides y if ∃x ∈ Z[ω] such that
xx = y.
Definition 4.1 (smallest denominator exponent)
The smallest denominator exponent, sde(z, x), of base x ∈ Z[ω]
with respect to z ∈ Z[ 1√
2
, i] is the smallest integer value k such
that zxk ∈ Z[ω]. If there is no such k, the smallest denominator
exponent is infinite.
11. Definitions of Sde and Gde
Notation: Z[ω] := {a + bω + cω2 + dω3, a, b, c, d ∈ Z}.
Divisibility to element of Z[ω]: x divides y if ∃x ∈ Z[ω] such that
xx = y.
Definition 4.1 (smallest denominator exponent)
The smallest denominator exponent, sde(z, x), of base x ∈ Z[ω]
with respect to z ∈ Z[ 1√
2
, i] is the smallest integer value k such
that zxk ∈ Z[ω]. If there is no such k, the smallest denominator
exponent is infinite.
Definition 4.2 (greatest dividing exponent)
The greatest dividing exponent, gde(z, x), of base x ∈ Z[ω] with
respect to z ∈ Z[ω] is the integer value k such that xk divides z
and x does not divide quotient z
xk . If no such k exists, the
greatest dividing exponent is said to be infinite.
12. Important Lemmas
Lemma 4.3
Let z
w be a state with entries in Z[ 1√
2
, i] and sde(|z|2) ≥ 4.
Then, for any integer k:
−1 ≤ sde
z + wωk
√
2
2
− sde(|z|2
) ≤ 1
13. Important Lemmas
Lemma 4.3
Let z
w be a state with entries in Z[ 1√
2
, i] and sde(|z|2) ≥ 4.
Then, for any integer k:
−1 ≤ sde
z + wωk
√
2
2
− sde(|z|2
) ≤ 1
Lemma 4.4
Let z
w be a state with entries in Z[ 1√
2
, i] and sde(|z|2) ≥ 4.
Then, for each number s ∈ {−1, 0, 1} there exits an integer
k ∈ {0, 1, 2, 3} such that:
sde
z + wωk
√
2
2
− sde(|z|2
) = s
14. Important Lemmas
Lemma 4.5
Let z
w be a state over Z[ 1√
2
, i] such that sde(|z|2) ≥ 1 or
sde(|w|2) ≥ 1,
then sde(|z|2) = sde(|w|2), sde(z) = sde(w).
Also, for x, y ∈ Z[ω], x = z(
√
2)sde(z) and y = w(
√
2)sde(w),
it holds that gde(|x|2) = gde(|y|2) ≤ 1.
Goal: Find the implementation of unitary matrix U using only H
and T gates.
First, we reduce the problem into state preparation.
U =
z −w∗ωk
w z∗ωk ⇒ U|0 =
z
w
15. Idea of Algorithm 1
Observe that HTk z
w = H z
wωk = 1√
2
z+wωk
z−wωk .
By Lemma 4.3, when we multiply the state with HTk, then
|sde(|
z + wωk
√
2
|2
) − sde(|z|2
)| ≤ 1
Moreover, Lemma 4.4 guarantees ∃k ∈ {0, 1, 2, 3} such that
sde(|
z + wωk
√
2
|2
) = sde(|z|2
) − 1
Hence, each time the state is multiplied by HTk , sde(|z|2) would
decrease by 1.
16. Idea of Algorithm 1
Lemma 4.5 implies that sde(|z−wωk
√
2
|2) = sde(|w|2) − 1 too.
Both entries of the state have same sde(| · |2) and they decrease by
1 at the same time if conditions of Lemma 4.5 are satisfied.
Iterating such procedure, at the end we can find
k1, ..., kn−3 ∈ {0, 1, 2, 3},
where n = sde(|z|2) such that
HTkn−3
...HTk1
z
w
=
zn−3
wn−3
, sde(|zn−3|2
) = 3
17. Idea of Algorithm 1
Define sde|·|2
( ˆU) = sde(|u|2) where u is an entry of U.
Since the set S3 := { ˆU ∈ U(2)|sde|·|2
( ˆU) = 3} is finite and small.
It takes little efforts to find ˆU ∈ S3 where its first column equals
zn−3
wn−3
.
Hence,
HTkn−3
...HTk1
z
w
= ˆU|0 ⇒ T−k1
H...T−kn−3
H ˆU|0 = U|0
U = T−k1
H...T−kn−3
H ˆU
18. Algorithm 1 Decomposition of a unitary matrix over Z[ 1√
2
, i]
Input: Unitary U =
z00 z01
z10 z11
over Z[ 1√
2
, i].
Output: Sequence Sout of H and T gates that implements U.
1: //S3 : set of all unitaries over Z[ 1√
2
, i] such that for all ˆU ∈ S3, sde|·|(ˆ(U))
2: queue Sout ← ∅
3: s ← sde(|z00|2)
4: while s > 3 do
5: state ← unfound
6: for all k ∈ {0, 1, 2, 3} do
7: while state = unfound do
8: z00 = [HT−k U]00
9: if sde(|z00|2) = s − 1 then
10: state ← found
11: add Tk H to Sout
12: s ← sde(|z00|2)
13: U ← HT−k U
14: end if
15: end while
16: end for
17: end while
18: lookup sequence Srem for U in S3
19: add Srem into Sout
20: return Sout
19. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
20. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
21. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
22. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
(IV) gde(yxk, x) = k + gde(y, x)
23. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
(IV) gde(yxk, x) = k + gde(y, x)
(V) gde(x) = gde(|x|2, 2)
24. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
(IV) gde(yxk, x) = k + gde(y, x)
(V) gde(x) = gde(|x|2, 2)
(VI) 0 ≤ gde(|x|2) − 2gde(x) ≤ 1
25. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
(IV) gde(yxk, x) = k + gde(y, x)
(V) gde(x) = gde(|x|2, 2)
(VI) 0 ≤ gde(|x|2) − 2gde(x) ≤ 1
(VII) gde(Re(
√
2xy∗)) ≥ 1
2 gde |x|2 + gde |y|2
26. Some Useful Properties
Here, we introduce some properties which will be used to proof the
following theorems.
(I) sde( z
xk , x) = k − gde(z, x)
(II) gde(y + y , x) ≥ min{gde(y, x), gde(y , x)}
(III) gde(y, x) < gde(y , x) =⇒ gde(y + y , x) = gde(y, x)
(IV) gde(yxk, x) = k + gde(y, x)
(V) gde(x) = gde(|x|2, 2)
(VI) 0 ≤ gde(|x|2) − 2gde(x) ≤ 1
(VII) gde(Re(
√
2xy∗)) ≥ 1
2 gde |x|2 + gde |y|2
(VIII) gde(y, x) is invariant with respect to multiplication by ω and
complex conjugate of both x, y.
27. Lemma 4.5
We state Lemma 4.5 again: if z or w satisfies sde(| · |2) ≥ 1 ⇒
sde(|z|2) = sde(|w|2), sde(|z|) = sde(|w|),
gde(|x|2) = gde(|y|2) ≤ 1, x = z(
√
2)sde(z), y = w(
√
2)sde(w)
Proof.
WLOG. Let sde(z) ≥ sde(w), sde(|z|2) ≥ 1.
x = z(
√
2)sde(z), y = w(
√
2)sde(w).
sde(z) = sde( x
√
2
sde(z) ) = sde(z) − gde(x) ⇒ gde(x) = 0.
By property(VI), 0 ≤ gde(|x|2) ≤ 1.
1 = |z|2 + |w|2 =
√
2
−2sde(z)
|x|2 +
√
2
−2sde(w)
|y|2
⇒
√
2
2sde(z)
− |x|2 =
√
2
2(sde(z)−sde(w))
|y|2
29. Lemma 4.6
Lemma 4.6
If x, y ∈ Z[ω] such that |x|2 + |y|2 = (
√
2)m,then
gde(|x + y|2
) ≥ min m, 1 +
1
2
gde |x|2
+ gde |y|2
30. Lemma 4.6
Lemma 4.6
If x, y ∈ Z[ω] such that |x|2 + |y|2 = (
√
2)m,then
gde(|x + y|2
) ≥ min m, 1 +
1
2
gde |x|2
+ gde |y|2
Proof.
gde(|x + y|2) = gde(|x|2 + |y|2 +
√
2Re(
√
2xy∗))
= gde(
√
2
m
+
√
2Re(
√
2xy∗)) = min{m, gde(
√
2Re(
√
2xy∗))}
≥ min m, 1 + 1
2 gde |x|2 + gde |y|2
, where we use property(VII) at the end.
31. Lemma 4.3
We state Lemma 4.3 again: for sde(|z|2) ≥ 4, then k ∈ Z ⇒
−1 ≤ sde
z + wωk
√
2
2
− sde(|z|2
) ≤ 1
Proof.
Since sde(|z|2) ≥ 4, by Lemma 4.5 ⇒ sde(|z|2) = sde(|w|2),
sde(z) = sde(w), and gde(|x|2) = gde(|y|2) ≤ 1.
where x = ω−kz
√
2
m
, y = w
√
2
m
, m = sde(z) = sde(w).
sde z+wωk
√
2
2
− sde(|z|2) = sde |xωk +yωk |2
√
2
2m+2 − sde |xωk |2
√
2
2m
= (2m + 2 − gde(|xωk + yωk|2)) − (2m − gde(|xωk|2))
= 2 − gde(|x + y|2) + gde(|x|2).
32. Lemma 4.3
Proof (Cont.)
We change the inequality which we want to proof into:
1 ≤ gde(|x + y|2
) − gde(|x|2
) ≤ 3
Since |x|2 + |y|2 =
√
2
2m
, x, y ∈ Z[ω]. By Lemma 4.6 ⇒
gde(|x + y|2
) ≥ min 2m, 1 +
1
2
gde(|x|2
) + gde(|y|2
)
Note that gde(|x|2) = gde(|y|2) ≤ 1, and 2m ≥ 4 + gde(|x|2) ⇒
gde(|x + y|2
) ≥ 1 + gde(|x|2
)
33. Lemma 4.3
Proof (Cont.)
Now we have proven one side of the inequality. Next, we want to
show gde(|x + y|2) − gde(|x|2) ≤ 3.
Consider x + y, x − y ∈ Z[ω],
|x + y|2 + |x − y|2
= |x|2 + |y|2 +
√
2Re(
√
2xy∗) + |x|2 + |y|2 −
√
2Re(
√
2xy∗)
=
√
2
2m+2
.