Transpileur quantique
La transpilation classique décrit la traduction d’un code écrit dans un certain langage de programmation vers un code écrit dans un autre langage. C'est un processus analogue à la compilation.
Dans le cadre de l'informatique quantique, la transpilation vise à s’assurer qu’un circuit quantique utilise uniquement les portes natives de la machine quantique sur laquelle il sera exécuté. La transpilation veille également à ce que les opérations impliquant plusieurs qubits soient assignées à des qubits physiquement connectés sur la puce quantique.
Étapes de transpilation
Décomposition des mesures
Les mesures sont effectuées dans une base donnée, telles que les bases X, Y ou Z, entre autres. La plupart des ordinateurs quantiques mesurent dans la base Z (base de calcul). Si une autre base est requise, des rotations doivent être ajoutées en fin de circuit pour ajuster la base de mesure.
Décomposition intermédiaire
Une première décomposition des opérations est nécessaire pour exécuter le circuit sur une machine quantique afin de limiter la quantité d’opérations différentes utilisées par le circuit. Par exemple, les opérations à plus de deux qubits doivent être décomposées en opérations à deux ou un qubits.
Placement
L'idée consiste à établir une association entre les fils du circuit quantique créé par l'utilisateur et les qubits physiques de la machine. Cette étape peut être réduite à un problème d' isomorphisme de sous-graphe.
Routage
Malgré l’étape de placement, il se peut que certaines opérations à deux qubits ne peuvent pas être correctement assignées à des coupleurs physiques disponibles sur la machine. Dans ce cas, des opérations de permutation sont utilisées pour rapprocher virtuellement les qubits concernés, et permettre leur connexion. Ces opérations de permutations sont, toutefois, très coûteuses, rendant essentiel un placement initial optimal afin de minimiser leur utilisation.
Optimisation
Les qubits accumulent des erreurs, et perdent leur cohérence au fil du temps. Pour limiter ces effets, le processus d'optimisation limite le nombre d'opérations appliquées sur chaque qubits à l'aide de différents algorithmes classiques. Par exemple, il supprime les opérations triviales et les opérations inverses, combine les rotations sur un même axe et, plus généralement, remplace des sections de circuits par des circuits équivalents, générant moins d’erreurs.
Décomposition en portes native
Chaque ordinateur quantique dispose d'un ensemble fini d'opérations de base (portes natives), à partir desquelles toutes les autres opérations peuvent être composées. Par exemple, MonarQ dispose d’un ensemble de 13 portes natives. La transpilation décompose, ainsi, toutes les opérations non-natives d’un circuit en opérations natives.
Utiliser le transpileur de Calcul Québec avec MonarQ
Calcul Québec a développé un transpileur permettant aux utilisateurs d’envoyer des circuits sur MonarQ de manière transparente, en utilisant les étapes de transpilation mentionnées plus haut. Ce transpileur est intégré à un Device PennyLane et est donc conçu pour être spécifiquement utilisé avec PennyLane. Pour débuter, voir la documentation.