Calcul quantique, algorithme de Deutsch
Ordinateur classique vs ordinateur quantique
On peut schématise un ordinateur classique (machine de Turing) à l'aide de 3 composants,
- des registres (qui contiennent les données à traiter)
- une unité de calcul (qui transforme les données suivant un algorithme défini en actionnant des portes logiques)
- une unité d'entrées/sorties (qui initialise les registres au début du traitement et lit les résultats à la fin)
Les registres
- les registres classiques sont un ensemble de bits permettant de stocker entiers entre 0 et .
- un registre quantique est un système quantique de qubits dont les états seront éléments de l'espace des états de dimension . On définit dans cet espace la base
- Liste des états de chaque qubit, éléments de :
- nombre entier dont l'ensemble constitue la décomposition binaire
est l'ensemble des entiers modulo tel que
Spécificité des registres quantiques
Les registres quantiques peuvent se trouver non seulement dans un des états de la base (comme le registre classique), mais aussi dans un état de superposition
Les algorithmes quantiques sont représentés par l'évolution d'un ou plusieurs registres sous l'effet de l'application d'opérateurs unitaires. L'état de l'ordinateur peut comprendre plusieurs registres.
Les entrées / sorties
L'entrée correspond à mettre le système quantique lui même constitué par les registres dans un état initial, on dit qu'on prépare le système. Le plus souvent les différents registres sont initialement dans l'état , et la préparation consiste à faire agir différents opérateurs, comme la transformation de Hadamard.
La sortie correspond à la lecture d'un registre mesure de l'état quantique final du registre. D'après (le postulat de la mesure de la mécanique quantique) il la modifie, et de façon irréversible, l'état du registre (qui est projette sur 1 des états de la base). En général, les algorithmes quantique utilisent des mesures partielles de l'état final (mesure de seulement un des registres, voir même quelques bits d'un registre)
Parallélisme quantique
Souvent on a besoin d'évaluer la fonction
qu'on ne peut pas toujours représenter par un opérateur unitaire. Pour associer un opérateur unitaire à l'évaluation d'une fonction, on introduit une fonction et on définit
- un registre de données à qubits, contiendra la valeur de la varible
- un registre de résultats à qubits, contiendra le résultat
- un opérateur unitaire
Le parallélisme est un trait de beaucoup d'algorithme quantique une fonction peut être évaluée simultanément en plusieurs valeurs de (conséquence de la superposition des états de qubits)
Exemple
Soit un registre donné et un registre de résultats chacun à 1 qubit. La valeur initiale de chaque registre est

Exercice : calculer les états et
on effectue l'application de la porte de Hadamard sur 2 qubits