# Code quantique

Les codes quantiques sont l'équivalent quantique des codes correcteurs. La théorie des codes quantiques est donc une branche de l'information quantique qui s'applique à protéger l'information quantique des effets de la décohérence. La correction d'erreur quantique est un élément essentiel du calcul tolérant aux fautes qui doit gérer non seulement les erreurs dans l'information stockée, mais aussi dans l'application des portes quantiques, la préparation de nouveaux états ainsi que dans les opérations de mesure.
De manière analogue aux codes correcteurs classiques utilisant la redondance pour protéger l'information, les codes quantiques utilisent l'intrication pour délocaliser sur plusieurs systèmes physiques l'information encodée.

## Définition

Étant donné un système physique dont l'espace des états est ${\mathcal {H}}$, un sous-espace ${\mathcal {C}}\subseteq {\mathcal {H}}$ est appelé code quantique pour l'ensemble d'erreurs ${\mathcal {E}}=\{E_{a}\}$, s'il existe une opération quantique ${\mathcal {R}}$, dite de correction ou de décodage, telle que $({\mathcal {R}}\circ E_{a})(\left|\psi \right\rangle )=\left|\psi \right\rangle$ pour tout $E_{a}\in {\mathcal {E}}$, $\left|\psi \right\rangle \in C$.
De manière opérationnelle, on peut utiliser la condition suivante: un code ${\mathcal {C}}$ corrige les erreurs ${\mathcal {E}}$ si et seulement si
$\left\langle \psi _{i}\right|E_{a}^{\dagger }E_{b}\left|\psi _{j}\right\rangle =C_{ab}\delta _{ij}$
où $E_{a},E_{b}\in {\mathcal {E}}$ et $\{\left|\psi _{i}\right\rangle \}$ forment une base orthonormée de ${\mathcal {C}}$.
Deux points importants sont à noter. Tout d'abord deux états orthogonaux le sont toujours après l'application d'une erreur. Ensuite, le préfacteur $C_{ab}$ est indépendant des choix de mots codes $i$ et $j$.
Le qubit, analogue quantique du bit classique, est souvent utilisé comme unité fondamentale de l'information quantique. C'est pourquoi on note souvent les propriétés d'un code [[n,k,d]], où n est le nombre de qubits physiques, k, le nombre de qubits encodés et d, la distance du code. La distance du code correspond au nombre minimal de qubits devant être affectés pour passer d'un état encodé à un autre.

## Histoire

En 1996, deux groupes de recherche découvrent indépendamment d'importants codes quantiques. La classe de codes CSS a été découverte par Calderbank et Shor, puis par Steane (en). Les codes stabilisateurs les ont maintenant remplacés. Ceux-ci ont été développés, encore une fois, indépendamment par Calderbank, Rains, Shor et Sloane, puis Gottesman (en).
Dès 1992, on considère aussi le problème de la protection de bits classiques avec des codes quantiques. C'est ainsi que Bennett et Wiesner développent le codage super-dense.

## Construction

Les codes quantiques diffèrent de leurs homologues classiques de par les difficultés particulières au quantique :
* Impossibilité du clonage quantique
* Continuité des erreurs quantiques
* Fragilité de l'information quantique face aux mesures
Néanmoins, l'informatique quantique fournit des outils pour les gérer. Par exemple, pour le canal d'inversion de bit, un code quantique semblable au code de répétition classique existe.

## Exemples

Autres codes quantiques :
* Code de Kitaev
* Code stabilisateur

## Applications

Sécurisation des transactions financières mobiles.