bit flip code in nLab
- ️Invalid Date
Context
Quantum systems
-
quantum algorithms:
Computation
constructive mathematics, realizability, computability
propositions as types, proofs as programs, computational trinitarianism
Constructive mathematics
Realizability
Computability
Contents
Idea
In quantum information theory a bit flip code is a quantum error correcting code to correct for quantum noise caused by bit flip channels.
Details
3-qbit flip code
The following basic example of a bit flip code encodes single logical qbits in triples of physical qbits.
Idea
Here the Hilbert space
LogicalQBit≔QBit⊗QBit⊗QBit LogicalQBit \;\coloneqq\; QBit \otimes QBit \otimes QBit
of a single logical qbit has complex dimension 2 3=82^3 \,=\, 8. Inside this is the space of undisturbed logical qbits
(1)QBit→∼encodeDisturbedQBit 0 ↪−−− LogicalQBit →P s=0≔|0,0,0⟩⟨0,0,0|+|1,1,1⟩⟨1,1,1| DisturbedQBit 0 q 0|0⟩+q 1|1⟩ ↦ q 0|0,0,0⟩+q 1|1,1,1⟩ \begin{array}{ccccc} QBit \xrightarrow[\sim]{encode} DisturbedQBit_{0} &\overset{\phantom{---}}{\hookrightarrow}& LogicalQBit &\xrightarrow{ P_{s = 0} \;\coloneqq\; \left\vert 0,0,0 \right\rangle \left\langle 0,0,0 \right\vert + \left\vert 1,1,1 \right\rangle \left\langle 1,1,1 \right\vert }& DisturbedQBit_0 \\ q_0 \left\vert 0 \right\rangle + q_1 \left\vert 1 \right\rangle &\mapsto& q_0 \left\vert 0, 0, 0 \right\rangle + q_1 \left\vert 1, 1, 1 \right\rangle \end{array}
as well as three further orthogonal subspaces which are the images of this one under one of the three single bit flips, respectively:
DisturbedQBit 1 ↪−−− LogicalQBit →P s=1≔|1,0,0⟩⟨1,0,0|+|0,1,1⟩⟨0,1,1| DisturbedQBit 1 q 0|0⟩+q 1|1⟩ ↦ q 0|1,0,0⟩+q 1|0,1,1⟩ A DisturbedQBit 2 ↪−−− LogicalQBit →P s=2≔|0,1,0⟩⟨0,1,0|+|1,0,1⟩⟨1,0,1| DisturbedQBit 2 q 0|0⟩+q 1|1⟩ ↦ q 0|0,1,0⟩+q 1|1,0,1⟩ A DisturbedQBit 3 ↪−−− LogicalQBit →P s=3≔|0,0,1⟩⟨0,0,1|+|1,1,0⟩⟨1,1,0| DisturbedQBit 3 q 0|0⟩+q 1|1⟩ ↦ q 0|0,0,1⟩+q 1|1,1,0⟩ \begin{array}{ccc} DisturbedQBit_{1} &\overset{\phantom{---}}{\hookrightarrow}& LogicalQBit &\xrightarrow{ P_{s=1} \;\coloneqq\; \left\vert 1,0,0 \right\rangle \left\langle 1,0,0 \right\vert + \left\vert 0,1,1 \right\rangle \left\langle 0,1,1 \right\vert }& DisturbedQBit_1 \\ q_0 \left\vert 0 \right\rangle + q_1 \left\vert 1 \right\rangle &\mapsto& q_0 \left\vert 1, 0, 0 \right\rangle + q_1 \left\vert 0, 1, 1 \right\rangle \\ {\phantom{A}} \\ DisturbedQBit_{2} &\overset{\phantom{---}}{\hookrightarrow}& LogicalQBit &\xrightarrow{ P_{s=2} \;\coloneqq\; \left\vert 0,1,0 \right\rangle \left\langle 0,1,0 \right\vert + \left\vert 1,0,1 \right\rangle \left\langle 1,0,1 \right\vert }& DisturbedQBit_2 \\ q_0 \left\vert 0 \right\rangle + q_1 \left\vert 1 \right\rangle &\mapsto& q_0 \left\vert 0, 1, 0 \right\rangle + q_1 \left\vert 1, 0, 1 \right\rangle \\ {\phantom{A}} \\ DisturbedQBit_{3} &\overset{\phantom{---}}{\hookrightarrow}& LogicalQBit &\xrightarrow{ P_{s=3} \;\coloneqq\; \left\vert 0,0,1 \right\rangle \left\langle 0,0,1 \right\vert + \left\vert 1,1,0 \right\rangle \left\langle 1,1,0 \right\vert }& DisturbedQBit_3 \\ q_0 \left\vert 0 \right\rangle + q_1 \left\vert 1 \right\rangle &\mapsto& q_0 \left\vert 0, 0, 1 \right\rangle + q_1 \left\vert 1, 1, 0 \right\rangle \end{array}
The 4 labels of these three subspaces are called the “error syndrome”, which we collect in the 4-element set
Synd≔{0,1,2,3} Synd \;\coloneqq\; \{0,1,2,3\}
to express the logical q-bit space alternatively in this linear basis:
QBit↪encodeQBit⊗QBit⊗QBit⏟LogicalQBit→∼(P s) s:Synd⨁s:SyndDisturbedQBit s QBit \xhookrightarrow{ encode } \underset{ LogicalQBit }{ \underbrace{ QBit \otimes QBit \otimes QBit } } \xrightarrow[\sim]{ (P_s)_{s \colon Synd} } \underset{ s \colon Synd }{\bigoplus} DisturbedQBit_{s}
The error correction now proceeds by:
-
Performing a quantum measurement of the above error syndrome ss on the logical Qbit space. While this measurement collapses the quantum state onto the subspace DisturbedQBit sDisturbedQBit_s the particular logical qbit states of the pure form (1) lose no information under this collapse, in that there is a unitary operator on DisturbedQBit sDisturbedQBit_s which turns any such collapse state back into the original qbit state.
-
applying this correcting unitary X sX_s, which is evidently the “Pauli X-” (or “NOT-”)quantum gate X:QBit→QBitX \,\colon\, QBit \to QBit acting on the ss-th qbit:
X 0 ≔ id⊗id⊗id X 1 ≔ X⊗id⊗id X 2 ≔ id⊗X⊗id X 3 ≔ id⊗id⊗X:QBit⊗QBit⊗QBit⏟LogicalQBit⊸QBit⊗QBit⊗QBit⏟LogicalQBit \begin{array}{cccc} X_0 &\coloneqq& id \otimes id \otimes id \\ X_1 &\coloneqq& X \otimes id \otimes id \\ X_2 &\coloneqq& id \otimes X \otimes id \\ X_3 &\coloneqq& id \otimes id \otimes X \end{array} \;\;\;\colon\;\;\; \underset{ LogicalQBit }{ \underbrace{ QBit \otimes QBit \otimes QBit } } \multimap \underset{ LogicalQBit }{ \underbrace{ QBit \otimes QBit \otimes QBit } }
-
re-preparing a logical QBit from the recovered Qbit.
Circuit diagram and pseudo-code
In terms of quantum circuit diagrams and the QS-pseudo-code, the 3-bit flip error correcting code looks as follows (following the notation from quantum circuits via dependent linear types):
References
-
Michael A. Nielsen, Isaac L. Chuang, §10.1.1 in: Quantum computation and quantum information, Cambridge University Press (2000) [doi:10.1017/CBO9780511976667, pdf, pdf]
-
Simon J. Devitt, Kae Nemoto, William J. Munro, §IV of: Quantum Error Correction for Beginners, Rep. Prog. Phys. 76 (2013) 076001 [arXiv:0905.2794, doi:10.1088/0034-4885/76/7/076001]
Last revised on November 23, 2023 at 20:10:46. See the history of this page for a list of all contributions to it.