layout: true
--- class: title-slide, center, middle
--- # .darkblue[Error Correction] .more-condensed.no-margin[ - Physical .darkblue[devices are imperfect] - .darkblue[for quantum devices even more] true than for classical devices - .darkblue[Interactions with the environment] - makes .darkblue[errors (like decoherence] for quantum devices.darkblue[) more likely] - E.darkblue[rror must be controlled or compensated] - Probability of one step to succeed: $p$ - .darkblue[Probability of $t$ steps to succeed: $p^t$] ]
--- # Quantum .darkblue[Error] .reference[
[G'09]
] .more-condensed[ - A .darkblue[quantum error can occur] at any time - .darkblue[changing the superposition] $\alpha|0\rangle+\beta|1\rangle$ of a qubit to $\alpha'|0\rangle+\beta'|1\rangle$ - quantum .darkblue[errors can occur in several qubits] at the same time - .darkblue[Examples of] single-qubit .darkblue[errors:]
Name
Operator
Effect on $|0\rangle$
Effect on $|1\rangle$
Bit Flip
$X$
$X|0\rangle=|1\rangle$
$X|1\rangle=|0\rangle$
Phase Flip
$Z$
$Z|0\rangle=|0\rangle$
$Z|1\rangle=-|1\rangle$
Rotation
$R_\theta$
$R_\theta|0\rangle=|0\rangle$
$R_\theta|1\rangle=e^{i\theta}|1\rangle$
(Full) Decoherence
$\alpha|0\rangle+\beta|1\rangle\rightarrow\{|0\rangle,|1\rangle\}$
] --- # .darkblue[Decoherence] .reference[
[SAG'19]
Full adders:
EXORCISM-4 optimized function and ESOPSolver v.0 optimized function: reduction of all NOT gates
] .more-condensed.no-margin[ - [SAG'19] runs .darkblue[amplitude and phase damping simulations] - .darkblue[Decoherence] (of amplitude and phase) .darkblue[depends on] -
type of gate
-
input
-
quantum circuit depth
- simple (logical)
optimizations resulting in lower-depth circuits
can
improve the decoherence by 20%
- comparing full adders with depths 6 and 9
Input
Gates/Circuits from lowest to highest (amplitude) decoherence
$\frac{|000\rangle+|001\rangle+|010\rangle+|011\rangle+|100\rangle+|101\rangle+|110\rangle+|111\rangle}{\sqrt{2^3}}$
Phase, T, Toffoli, Fredkin, CNOT, H
(relatively close together)
$|110\rangle$
CNOT, H, .em[Others], Toffoli
$|101\rangle$
H, .em[Others], CNOT
Any input
Full adders (3 qubits $\rightarrow$ sum+carry):
QCKT-1 (depth 6), QCKT-2 (depth 9)
] --- # (Simple) .darkblue[Classical Repetition Code] .more-condensed[ - .darkblue[Classical] data: - .darkblue[Repetition code] for correction of a single bit-flip: -
$0\rightarrow 000$
-
$1\rightarrow 111$
- A .darkblue[single bit flip error] -
Choosing the majority
of the three bits, e.g. $010 \rightarrow 0$ - In case of rare errors: 1 error is more likely than 2 ] -- .more-condensed[ - .darkblue[How to adapt] this approach for quantum error correction? ] --- # .darkblue[Barriers] to Quantum Error Correction .reference[
[G'09]
] .condensed.darkblue[ - Measurement destroys superpositions - No-cloning theorem prevents repetition - Correction of multiple types of errors - e.g., bit flip and phase errors - How to correct continuous errors and decoherence? ] -- .condensed[ - .darkblue[Higher circuit depths due to quantum error correction] approaches - .darkblue[Can] state-of-the-art .darkblue[quantum computers process these circuit depths?] ] --- # .darkblue[Quantum Repetition Code] correcting bit flip errors - .darkblue[How to construct quantum circuit] for quantum repetition code.darkblue[?] -
$|0\rangle\rightarrow |000\rangle$
-
$|1\rangle\rightarrow |111\rangle$
-
$\alpha|0\rangle+\beta|1\rangle\rightarrow \alpha|000\rangle+\beta|111\rangle$
--- # .darkblue[Quantum Repetition Code - Generate Code]
Next step:
.darkblue[How to detect qubit flips without measurement and cloning?]
$\alpha|0\rangle+\beta|1\rangle\rightarrow \alpha|000\rangle+\beta|111\rangle$
--- # .darkblue[Quantum Repetition Code - Error Syndrome] .reference[
[G'09]
]
Input
Error
Syn-
drome
Action
$|000\rangle$
$|111\rangle$
$|010\rangle$
$|101\rangle$
$|100\rangle$
$|011\rangle$
$|001\rangle$
$|110\rangle$
--- # .darkblue[Quantum Repetition Code - Error Syndrome]
Input
Error
Syn-
drome
Action
$|000\rangle$
$|00\rangle$
None
$|111\rangle$
$|010\rangle$
$|11\rangle$
Flip 2nd qubit
$|101\rangle$
$|100\rangle$
$|10\rangle$
Flip 1st qubit
$|011\rangle$
$|001\rangle$
$|01\rangle$
Flip 3rd qubit
$|110\rangle$
--
Incomplete bit flip:
Input:
$A=|0\rangle\otimes(\alpha\cdot|0\rangle+\beta\cdot|1\rangle)\otimes|0\rangle=\alpha\cdot|000\rangle+\beta\cdot|010\rangle$
--
Error Syndrome:
$E=(\alpha\cdot|0\rangle+\beta\cdot|1\rangle)\otimes(\alpha\cdot|0\rangle+\beta\cdot|1\rangle)=\alpha^2\cdot|00\rangle+\alpha\cdot\beta\cdot(|01\rangle+|10\rangle)+\beta^2\cdot|11\rangle$
--
Action: Partially flip second qubit???
--- # .darkblue[Quantum Repetition Code - Correcting Error]
--
Input:
$A\otimes E$
After first CCNOT:
$CCNOT\cdot(A\otimes E)=A\otimes E - (\alpha\cdot\beta^2\cdot|00011\rangle+\beta^3\cdot|01011\rangle) + (\beta^3\cdot|00011\rangle+\alpha\cdot\beta^2\cdot|01011\rangle)$
e.g., $\beta=0.9,\alpha\approx 0.43589$, i.e. $\beta^3=0.729,\alpha\cdot\beta^2\approx 0.353, \beta^3-\alpha\cdot\beta^2\approx 0.376$
--
Second and third CCNOT also (slightly) change first and third qubit...
--
Here: correction of 3 repeated qubits.
How to correct only 1 qubit?
--- # .darkblue[Quantum Repetition Code - Correcting Error] .reference[Michael A. Nielsen,Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000] .more-more-condensed[
Input (with errors)
Error Syndrome
After Correction
$|000\rangle$
$|001\rangle$
$|010\rangle$
$|011\rangle$
$|100\rangle$
$|101\rangle$
$|110\rangle$
$|111\rangle$
Input (with errors): $\alpha|010\rangle+\beta|011\rangle$
Error Syndrome:
After Correction:
] --- # .darkblue[Quantum Repetition Code - Correcting Error] .reference[Michael A. Nielsen,Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000] .more-more-condensed[
Input (with errors)
Error Syndrome
After Correction
$|000\rangle$
$|000\rangle$
$|000\rangle$
$|001\rangle$
$|001\rangle$
$|001\rangle$
$|010\rangle$
$|010\rangle$
$|010\rangle$
$|011\rangle$
$|011\rangle$
$|111\rangle$
$|100\rangle$
$|111\rangle$
$|011\rangle$
$|101\rangle$
$|110\rangle$
$|110\rangle$
$|110\rangle$
$|101\rangle$
$|101\rangle$
$|111\rangle$
$|100\rangle$
$|100\rangle$
Input (with errors): $\alpha|010\rangle+\beta|011\rangle$
Error Syndrome: $\alpha|010\rangle+\beta|011\rangle$
After Correction: $\alpha|010\rangle+\beta|111\rangle$
] --- # Correcting .darkblue[Phase Errors]
Hadamard transform $H$ exchanges bit flip and phase errors
$H(\alpha\cdot|0\rangle+\beta\cdot|1\rangle)=\alpha\cdot|+\rangle+\beta\cdot|-\rangle$
NOT $X$ operator in Hadamard basis acts like a phase flip
$X\cdot|+\rangle=X\cdot\frac{|0\rangle+|1\rangle}{\sqrt{2}}=\left[\begin{array}{cc}0 & 1 \\ 1 & 0\end{array}\right]\cdot\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}}\end{array}\right]=\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}}\end{array}\right]=|+\rangle$
$X\cdot|-\rangle=X\cdot\frac{|0\rangle-|1\rangle}{\sqrt{2}}=\left[\begin{array}{cc}0 & 1 \\ 1 & 0\end{array}\right]\cdot\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}}\end{array}\right]=\left[\begin{array}{c}-\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}}\end{array}\right]=-|-\rangle$
Pauli $Z$ operator in Hadamard basis acts like a bit flip
$Z\cdot|+\rangle=Z\cdot\frac{|0\rangle+|1\rangle}{\sqrt{2}}=\left[\begin{array}{cc}1 & 0 \\ 0 & -1\end{array}\right]\cdot\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}}\end{array}\right]=\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}}\end{array}\right]=|-\rangle$
$Z\cdot|-\rangle=Z\cdot\frac{|0\rangle-|1\rangle}{\sqrt{2}}=\left[\begin{array}{cc}1 & 0 \\ 0 & -1\end{array}\right]\cdot\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}}\end{array}\right]=\left[\begin{array}{c}\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}}\end{array}\right]=|+\rangle$
$\Rightarrow$ Repetition code in Hadamard basis
$\alpha\cdot|+\rangle+\beta\cdot|-\rangle\rightarrow\alpha\cdot|+++\rangle+\beta\cdot|---\rangle$
corrects a phase error!
--- # Correcting .darkblue[Phase Errors]
- also called .darkblue[Sign Flip Code] --- # Correcting both .darkblue[Bit and Phase Flips]:
.darkblue[Shor Code] .reference[
[G'09]
[S'95]
Preprint
]
Use bit flip code and sign flip code at once (using 9 qubits):
$\alpha\cdot|0\rangle+\beta\cdot|1\rangle\rightarrow\alpha\cdot(|000\rangle+|111\rangle)^{\otimes 3}+\beta\cdot(|000\rangle-|111\rangle)^{\otimes 3}$
Correction of
by
Bit Flip Error
Repetition of Bit: 000, 111
Phase/Sign Flip Error
Repetition of Phase: $+++$, $---$
Arbitrary error can be modeled by a unitary transform
$U=c_0\cdot I+c_1\cdot X+c_2\cdot Y+c_3\cdot Z$
, where
$c_0,\cdots,c_3$
are complex constants
Bit Flip Error:
$U=X$
Phase/Sign Flip Error:
$U=Z$
Both Bit and Phase/Sign Flip Errors:
$U=i\cdot Y$
, where
$Y=i\cdot X\cdot Z$
Shor code can correct arbitrary 1-qubit errors due to linearity [G'09]
For small errors
$\epsilon\cdot (a_X\cdot X+a_Y\cdot Y+a_Z\cdot Z)$
, where
$a_i\in\{0,1\}$
:
After error correction the quantum state will be correct within
$O(\epsilon^2)$
[G'09]
--- # .darkblue[Quantum circuit of the Shor code] .reference[
[G'09]
[S'95]
Preprint
]
-- .more-more-condensed[ - There are .darkblue[good codes with less qubits] - e.g., .darkblue[5-Qubit Code] -
smallest quantum error correcting code
protecting a logical qubit from any arbitrary single qubit error ] --- #.darkblue[Quantum Threshold Theorem]
.small-font36[(also called .darkblue[Quantum Fault-Tolerance Theorem])] .reference[
[NC'00]
[AB'08]
[KLZ'98]
[K'03]
[S'96]
[AG'06]
[A+'23]
]
A quantum circuit on .small-font[$n$] qubits and containing $p(n)$ gates may be simulated with probability of error at most .small-font[$\varepsilon$] using .small-font[$O\left(\text{log}^{c}\left(\frac{p(n)}{\varepsilon}\right)\cdot p(n)\right)$] gates (for some constant .small-font[$c$]) on hardware whose components fail with probability at most .small-font[$p$], provided .small-font[$p$] is below some constant threshold, .small-font[$p\lt p_{th}$], and given reasonable assumptions about the noise in the underlying hardware.
--
$\Rightarrow$ quantum computers can be made fault-tolerant
Result was proven (for various error models) [AB'08] [KLZ'98] [K'03] [S'96], in experiments suppressing logical errors by scaling a quantum error-correcting code [A+'23]
"The entire content of the Threshold Theorem is that you're correcting errors faster than they're created. That's the whole point, and the whole non-trivial thing that the theorem shows. That's the problem it solves."
[AG'06]
--- # .darkblue[Noisy Intermediate-Scale Quantum (NISQ)] .reference[
[P'18]
] .more-more-condensed.no-margin.darkblue[
- quantum computers with 50-100 qubits: noise in quantum gates limits the size of quantum circuits that can be executed reliably - Such NISQ devices may be able to perform tasks which surpass the capabilities of today’s classical digital computers with application areas like quantum chemistry, optimization & machine learning - 100-qubit quantum computers are (only) intermediate technologies ] --- # .darkblue[Timeline of \#Qubits vs. Threshold] .reference[
Data for figure 1
2
3
4
5
#Atoms
#Particles
[FSG'13]
ArXiv
[CTV'17]
ArXiv
[FMC'12]
[NG'23]
[A+'23]
] .more-more-condensed.no-margin.small-font[
- .darkblue[Threshold] for the surface code: .darkblue[$\approx$ 1%] [FSG'13] .darkblue[$\Rightarrow\approx$ 1,000-10,000 physical qubits per logical data qubit] for the surface code at a 0.1% probability of a depolarizing error [FMC'12][CTV'17] - $\varepsilon_X:=$ logical error rate of distance $X$ surface code, today $\frac{\epsilon_3}{\epsilon_5}=1.04$.
ε
3
ε
17
=
4
\frac{\varepsilon_3}{\varepsilon_17}=4
ε
17
ε
3
=
4
using 577 physical qubits $\Rightarrow$ logical error rate below 1 in $10^6$
[NG'23] [A+'23] ] --- # .darkblue[Summary & Conclusions] .more-more-condensed[ - .darkblue[Error] Correction - Classical .darkblue[Repetition Code] - .darkblue[Barriers] to Quantum Error Correction - .darkblue[Quantum Repetition Code] - Correcting
Bit Flips
- Correcting
Phase/Sign Flips
- .darkblue[Shor Code] (using 9 qubits) - correcting arbitrary 1-qubit errors - still codes with less qubits (minimum 5 qubits) - .darkblue[Quantum Threshold] (/Fault-Tolerance) .darkblue[Theorem] - fault-tolerant quantum computers are possible - .darkblue[1,000-10,000 physical qubits per logical data qubit] in practice ]