Professional Documents
Culture Documents
Daniel Gottesman
Perimeter Institute
The
Classical
and
Quantum
Worlds
Quantum Errors
A general quantum error is a
superoperator:
Ak
Ak†
Examples of single-qubit
errors:
Bit Flip X: X0 = 1, X1 = 0
Phase Flip Z: Z0 = 0, Z1 = -1
Complete dephasing: ( +
ZZ†)/2 (decoherence)
Rotation: R0 = 0, R1 = ei1
Classical Repetition Code
To correct a single bit-flip error for
classical data, we can use the
repetition
0 000code:
1 111
If there is a single bit flip error, we
can correct the state by choosing
the majority of the three bits, e.g.
010 0. When errors are rare, one
error is more likely than two.
No-Cloning Theorem
There is no device that will copy an
unknown quantum state:
Encode
d state
)
cos
R(k)= = cos
(/2)(/2)
I - i sin- i sin (/2)
(/2)
Z(k)
Z
(R(k) is R acting on the kth
qubit.)
Correcting Continuous Rotations
How does error correction affect a
state with a continuous rotation on
it? (k)
R = cos (/2) - i sin (/2)
Z(k)
cos (/2)I - i sin (/2) Z(k)
Z(k) Error
syndromecollapses
Measuring the error syndrome
the state:
Prob. cos2 (/2): (no correction
needed) 2
Prob. sin (/2): Z(k) (corrected
with Z(k))
Correcting All Single-Qubit Errors
Theorem: If a quantum error-correcting
code (QECC) corrects errors A and B, it
also corrects A + B.
Any 2x2 matrix can be written as I + X +
Y + Z.
A general single-qubit error Ak Ak†
acts like a mixture of Ak, and Ak is
a 2x2
Any matrix.
QECC that corrects the single-qubit
errors X, Y, and Z (plus I) corrects every
single-qubit error.
Correcting all t-qubit X, Y, Z on t qubits
The Pauli Group
Define the Pauli group Pn on n qubits to
be generated by X, Y, and Z on individual
qubits. Then Pn consists of all tensor
products of up to n operators I, X, Y, or Z
withpair
Any overall
M, Nphase ±1,operators
of Pauli ±i. either
commutes (MN = NM) or anticommutes
(MN = -NM).
The weight of M Pn is the number of
qubits on which M acts as a non-
identity
The Paulioperator.
group spans the set of all n-
Small Error on Every Qubit
Suppose we have a small error U on
every qubit in the QECC, where U = I +
E.
Then
Un = + (E(1) + ... + E(n)) +
O(2).
If the code corrects one-qubit errors,
it corrects the sum of the E(i)s.
Therefore it corrects the O() term,
and the state remains correct to
order
A code .correcting t errors keeps the
2
Each pair of
qubits has 2
erasures Cloning
Classical Linear Codes
A large and useful family of classical
error-correcting codes can be defined
similarly, using a parity check matrix.
Let H be a (n-k) x n binary matrix, and
define a classical error-correcting
code Cv of
Cn-bit
vectors
Hv = by
0.
C is linear: v,w C v+w C. Also,
let the distance d of C be the weight (#
of non-zero entries) of the smallest
non-zero v C. Then a code with
distance 2t+1 corrects t errors: the
error syndrome of error e is He, and He
Classical Hamming Codes
Define a parity check matrix whose
columns are all vectors of length r.
(
E.g., for r=3:1 10 1 1 0 0
H = 1 10 0 0 1 1
1 01 1 0 1 0
)
This code has distance 3: if error e has
weight 1, the error syndrome He
specifies its location. Thus, the
Hamming code for r is an [n=2r-1, k=2r-
r-1, d=3] ECC (with k logical bits
encoded in n physical bits and
E.g., for r=3, we have a [7,4,3] code.
distance 3).
Linear Codes and Stabilizers
The classical parity check matrix H is
analogous to the stabilizer S of a
quantum error-correcting code.
Indeed, if we replace all of the 1’s of H
with Z operators, we get a stabilizer S
defining exactly the same classical
code. In particular, it can correct the
E.g., Stabilizer of the [7,4,3] Hamming
same number of bit-flip errors.
code:
ZZZZII
Z I ZI IZZ
Z I IZ IZI
CSS Codes
We can then define a quantum error-
correcting code by choosing two
classical linear codes C1 and C2, and
replacing the parity check matrix of C1
with Z’s and the parity check matrix of
E.g.
C with ZZZ I I
Z X’s. C1: [7,4,3]
: 2
Z I Z I I Z Z
[[7,1,3 Z Hamming
I I Z I Z I
]]
XZ XXXI I C2: [7,4,3]
QECC
I X I I X X
X
Hamming
I I X I X I
X
X
Which CSS Codes Are Possible?
Not all pairs C1 and C2 are possible: the
stabilizer must be Abelian.
The dual C of a classical code C is
the set of vectors w s.t. v w = 0 for
all v C. The rows of the parity check
matrix for C generate C
.
If v C1 and w C2 , the
7-qubit
code
Encoded X and Z
Operations which commute with a
stabilizer, but are not in it, perform
encoded operations: We can identify
them as logical Pauli gates. Also, they
are transversal.
ZZZZ I I
Z I Z I I Z Z
Z I I Z I Z I
XZ XXXI I
X I X I I X X
X I I X I X I
X
X XX X X X X
Z
Z XZZ ZZZ
Logical Clifford Group Gates
For the 7-qubit code, CNOT, Hadamard
H, and phase gate P = R/2 = diag (1,i)
can all be done with transversal gates.
(They generate the Clifford group,
which can be efficiently simulated
classically.)
For instance, for CNOT:
CNOT7 v+w v’+w’
= v+w (v+v’)+
(w+w’)
= (logical CNOT) v v’
FT Preparation and Measurement
FT measurement for a CSS code:
v =
wC
v+w
2
0
H
0000 H Measur
+ H e parity
1111
H
Even
Fault-Tolerant Error Correction
Shor fault-tolerant error
•correction:
Create and verify “cat” states 0000 +
1111.
• Measure stabilizer generators to learn
syndrome.
More advanced
• Repeat FTconfidence.
for more syndrome
measurement techniques use more
complicated ancillas, but fewer
operations on the
• Steane error data:
correction (uses
encoded states)
• Knill error correction (based on
Steane Error Correction
For CSS codes:
bit flips phase errors
propagate propagate
data forwards backwards
bloc
P
k errors in
0 + classical
codewor
1 ds reveal
random 0 H
classical locations
codeword w/ of errors
errorblocks are encoded using
Ancilla
same code (verify them before
using)
Universal Fault-Tolerant QC
To complete a universal set of gates, we
need some additional gate outside the
Clifford group, for instance the /8-gate: R/4
0 = e-i/80, R/4 1 = ei/81.
We cannot perform it transversally, so
we will need a more complicated
construction:
• Create special ancilla state
• Perform teleportation-like
procedure
• Perform Clifford group logical
Teleporting Quantum Gates
Quantum teleportation followed
by U:
Bell
measuremen
00 + t
2 classical
11 bits
U UQU
Q † U U
Pauli operator Q
Correction operator
Specia specified by
UQU specified by
†
l classical bits
classical bits
ancilla
Fault-Tolerant /8-Gate
/8 gate has a special and useful
property: †
R/4 X R/4 = e-i/4 PX, R/4 Z R/4†
=Z
The correction required after
teleportation is a Clifford group gate,
for which we already know a fault-
tolerant procedure!
• Create ancilla state: encoded 00 +
ei/4 11
• Perform teleportation-like
procedure
Extended Rectangles
Definition: An “extended rectangle” (or
“ExRec”) consists of an EC step (“leading”),
followed by an encoded gate, followed by
another EC step (“trailing”).
Definition: An ExRec is “good” if it contains
at most one error (roughly speaking) in a
gate in the ExRec.
Note: Extended rectangles overlap with each
other.
E E E
C C C
E = E
C C
(measurement
Correct Means What It Ought To
Suppose we have a circuit consisting of only
good ExRecs. Then its action is equivalent to
that of the corresponding ideal circuit:
E E E
C C C
Knill (2004),
Aliferis, G, Preskill Reichardt (2004) Reichardt (2005)
(2005) - simple proof very high threshold d=3 proof
For instance:
• Long-range crosstalk (such as
1/r2 Coulomb coupling)
Short-range crosstalk is OK, since
it stops increasing after
neighbors are added.
(See Aharonov, Kitaev, Preskill,
quant-ph/0510231.)
Correlated Errors
Small-scale correlations are
acceptable:
We can choose an error-correcting
code which corrects multiple errors.
Large-scale correlations are fatal:
A large fraction of the computer fails
with reasonable probability.
Efficient fault-
tolerance
Large quantum
computers! Quantum
Information Age