CHAPITRE 5
LANGAGES DE PROGRAMMATION
QUANTIQUES
43
5.1 Comment définir la programmation quantique ?
La programmation quantique est un regroupement de langage de
programmation permettant une expression d'algorithmes quantiques en utilisant
des structures de haut niveau.
Le but des langages quantiques n'est pas tant de fournir un
outil pour les programmeurs, mais surtout de proposer des outils pour les
chercheurs afin de mieux comprendre comment les ordinateurs quantiques
fonctionnent et comment raisonner formellement sur les problèmes
quantiques. Dans cette section nous allons présenter un ensemble de
langages de programmation quantiques qui permettent l'implémentation
d'algorithmes quantiques. En utilisant des qubits, et fonctionnant sur des
ordinateurs quantiques, (exécuter des opérations en manipulant
des qubits).
5.2 Les langages impératifs
Omer [Omer, 2000], [Omer, 1998] a développé le
langage QCL (Quantum Computing Language), le premier vrai langage de
programmation quantique, avec une syntaxe inspirée principalement par C.
Il a également mis en place un simulateur pour la langue. QCL contient
un langage de programmation classique plein comme un sous-langage, et offre une
gamme de fonctionnalités utiles de programmation quantique de haut
niveau comme la gestion de la mémoire et de calcul automatique des
versions conditionnelles des opérateurs.
Bettelli et al. (2003) définissent un langage de haut
niveau basé sur C++ et une collection d'opé-rateurs primitives de
bas niveau, les primitives de bas niveau sont basés sur le modèle
QRAM (Quantum Random Access Machine Knill (1996)) mais sont destinés
à être indépendants de l'architecture autant que possible.
Ils donnent une certaine quantité de détails d'un système
de compilation, et ont mis en oeuvre leur langage sous la forme d'une
bibliothèque C++.
Sanders et Zuliani (2000) et Zuliani (2001) définissent
le langage qGCL, qui est basé sur un langage contrôle-commande.
QGCL hérite du monde contrôle-commande une sémantique en
termes
44
chapitre5 : Langages de programmation quantiques
de deux transformateurs de prédicats, et un calcul de
raffinement. Une partie de l'accent de ce travail est sur la dérivation
des algorithmes quantiques. Zuliani (2004, 2005b) a étudié la
programmation avec le non-déterminisme et les états mixtes dans
le contexte de qGCL.
Tafliovich (2004) défini un langage de programmation
quantique basé sur une programmation probabiliste prédicative. Le
langage lui-même est impératif, et un aspect essentiel est une
connexion étroite entre les programmes et les spécifications,
avec un accent sur la mise en oeuvre de raffinement. Nous allons dans la suite
de cette section présenter le langage QCL plus en détail.
|