ScaleQIT2016_Fowler

Using surface code experimental
output correctly and effectively
Austin Fowler
Google Inc.
Overview
•
•
•
•
•
•
•
•
•
Conclusions
Gate and state definitions
Error propagation
Error detection
Classical processing
Fast feedforward
Parameter tuning
Error model tuning
Conclusions
Conclusions
• Classical processing for error correction cannot
be broken into independent rounds as this is not
fault-tolerant
• Corrections should not be applied to the
quantum system, as they are constantly revised
• Fast feedforward primarily required in a large
quantum computer rapidly executing a nontrivial
quantum algorithm, and not for error correction
• Errors that have already occurred do not become
more dangerous as additional errors occur
Gate and state definitions
• Computational basis:
• Unitary gates:
• Initialization to
• Measurement in
computational basis:
Error propagation
Above identities can be proven via matrix multiplication of the
definitions on the previous slide
Error propagation
• Surface code data qubits (circles) constrained to
be eigenstate of certain operators (stabilizers)
• Z-stabilizers enable detection of X errors
• Keep things simple and focus on a slice of the
surface code
Error propagation
0
0
0
0
0
0
Error propagation
X
0
1
1
0
0
0
• Change in measured value indicates endpoint of error
chain
• Most likely error chain simply connects to nearest
boundary
• Record in software that we believe the top data qubit
is associated with an X error
Error propagation
0
1
1
1
1
X
0
• Two error chain endpoints observed
• Most likely pattern of error chains is a single
chain connecting the two endpoints
• Record in software that we believe the middle
data qubit is associated with an X error
Error propagation
0
0
X
1
0
0
0
• Two error chain endpoints observed
• Most likely pattern of error chains is a single
chain connecting the two endpoints
• Flip the classical measurement value
Error propagation
0
1
1
0
1
X
0
• Two error chain endpoints observed
• Most likely pattern of error chains is a single chain connecting the
two endpoints
• Record in software that we believe the middle data qubit is
associated with an X error and flip the second classical
measurement value on the lower measurement qubit
• Round by round processing fails to correctly identify the above
error
Classical processing
• 10 data qubits
• One detection event
Classical processing
• 10 data qubits
• One detection event
• Explore uniformly, boundary
found
Classical processing
X
• 10 data qubits
• One detection event
• Explore uniformly, boundary
found
• Match detection event to
boundary, record belief that
X error present
Classical processing
X
• Two more detection events
Classical processing
X
• Two more detection events
• Pick one, explore, current
time boundary encountered
Classical processing
X
• Two more detection events
• Pick one, explore, current
time boundary encountered
• Explore around other,
exploratory regions touch
Classical processing
X
X
X
• Two more detection events
• Pick one, explore, current
time boundary encountered
• Explore around other,
exploratory regions touch
• Match, record belief that
two more X errors present
Classical processing
X
• One more detection event
X
X
Classical processing
X
• One more detection event
• Explore, current time
boundary encountered,
must wait for more data
X
X
Classical processing
X
X
X
• One more detection event
• Explore, current time
boundary encountered,
must wait for more data
• Explore further, boundary
encountered
Classical processing
XX
X
X
X
• One more detection event
• Explore, current time
boundary encountered,
must wait for more data
• Explore further, boundary
encountered
• Match, record belief that
two more X errors present
Classical processing
X
X
X
• One more detection event
• Explore, current time
boundary encountered,
must wait for more data
• Explore further, boundary
encountered
• Match, record belief that
two more X errors present
• Cancel double error
• Don’t apply physical
corrections
Classical processing
X
X
X
Classical processing
X
X
X
Classical processing
X
XX
X
X
Classical processing
X
X
X
Classical processing
X
X
X
Classical processing
X
X
X
Classical processing
XX
X
X
X
Classical processing
X
X
X
Classical processing
X
X
X
Classical processing
X
XX
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
X
Classical processing
X
X
X
X
XX
X
X
Classical processing
X
X
X
X
X
X
Fast feedforward
• Could be useful if measurement is QND and the |0>
state is more robust than |1> and the qubits really are
qubits and no better reset gate is available
• Really need good reset gate in any system with leakage
Fast feedforward
• Fast feedforward is
necessary only at the error
corrected logical gate level
where it is a critical
ingredient in fast
implementations of
quantum algorithms
• T gates are probabilistic and
50% of the time require S
gate corrections
• Prior logical measurements
determine the basis of
future logical measurements
• At the moment the speed at
which this can occur is
entirely limited by the speed
classical processing
Parameter tuning
• Suppose have continuously
running surface code quantum
computer
• Every measurement qubit can
be associated with the
detection event rate
• Choose array of parameters
– Adjust parameter
– If detection event rate increases
reverse direction of adjustment
• Designed to keep gates tuned
up while long algorithm runs
J. Kelly et al. in preparation
Error model tuning
• Error model is essentially a
weighted graph
• Can track the relative number
of times each geometrically
distinct edge is observed
• Enables better matching
Conclusions
• Classical processing for error correction cannot
be broken into independent rounds as this is not
fault-tolerant
• Corrections should not be applied to the
quantum system, as they are constantly revised
• Fast feedforward primarily required in a large
quantum computer rapidly executing a nontrivial
quantum algorithm, and not for error correction
• Errors that have already occurred do not become
more dangerous as additional errors occur