Les ordinateurs quantiques
L'informatique quantique
Quelques portes complexes les plus usitées

On a déjà vu SWAP et CNOT.
- CNOT peut se généraliser à n'importe quelle transformation conditionnelle. On peut bien mettre ce qu'on veut dans la matrice carrée [2,2] en bas à droite, du moment que c'est une transformation unitaire. On s'en sert pour générer de l'intrication. Par exemple pour Controlled Z qui provoque une rotation de π sur la sphère de Poincaré selon l'axe des Z, autrement dit c'est un retournement de phase.
- La porte Toffoli, aussi appelée porte de Deusch D(π/2), possède 2 qubits de contrôle (et manipule 3 qubits, soit une matrice 8x8). Il faut que ces deux qubits de contrôle soit à |1〉 pour appliquer une "Pauli-X", une rotation de π sur la sphère de Poincaré selon l'axe des X (Pauli-X est une sorte de porte NOT: si on l'applique 2 fois, on retrouve l'identité).
- Il existe aussi la porte de Fredkin dite CSWAP, qui effectue un SWAP contrôlé par un premier qubit, entre deux autres qubits.
Universalité
En fait, il peut exister de nombreuses portes. Mais on peut définir un ensemble de portes dites universelles, qui permettent de créer (ou de s'approcher suffisamment bien) n'importe quelle porte ou séquence quantique.
On montre aussi qu'un ordinateur quantique peut faire toutes les opérations logiques classiques.
C'est un théorème important : pas besoin de créer des transformations complexes difficilement réalisables "d'un coup" du point de vue physique.

On verra, dans les implémentations physiques des ordinateurs, que le jeu de portes de base est effectivement très réduit, et que c'est un compilateur qui se chargera de décomposer les opérations de "haut niveau" en instructions élémentaires, déchargeant le programmeur d'un boulot fastidieux.
Défense de copier sur son voisin
Le théorème de non-clonage s'applique bien évidemment : il n'existe pas de fonction qui permette d'avoir en entrée un qubit, et en sortie deux qubits identiques.
En termes compliqués, il n'existe pas de transformation unitaire U telle que U(|Ψ〉 ⊗ |0〉) = |Ψ〉 ⊗ |Ψ〉, parce que les opérateurs sont linéaires.
Mémoire quantique
C'est un concept, surtout mis en face du théorème de non-clonage.
Évidemment qu'on aimerait avoir une mémoire quantique qui conserve l'état des qubits, mais bon, les phénomènes de décohérence sont pénibles, alors ça n'existe pas encore.
Mais le jour où on pourra stocker un état quantique, on pourra faire des choses bizarres, comme des billets de banque ou attaquer des systèmes de cryptographie quantique. En particulier ceux qui échangeront des qubits, on les attend au virage.
Correction d'erreur, qubit logique
On ajoute donc des qubits auxiliaires dits de "contrôle" ancillae qubits qui permettent de réaliser de la correction d'erreur, mais aussi des opérations plus sournoises.
Et on vous parlera de qubit logique un qubit qui marche bien et de qubit physique les vrais qubits réels.
La bonne nouvelle est que l'on montre, comme en informatique classique, qu'on peut quasiment tout faire avec uniquement un jeu réduit de portes quantiques, ce qui sera commode pour l'implémentation.
La très mauvaise nouvelle est l'absence de mémoire quantique digne de ce nom. Cela va limiter fortement ce qu'on pourra faire avec un ordinateur quantique. Et a des conséquences terribles sur le nombre de qubits physiques requis pour réaliser une opération.
Maintenant que nous avons nos outils, il est temps de regarder les algorithmes quantiques.
Bon courage ! Et félicitations d'être arrivé jusqu'ici.