WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modèles formels pour l'informatique quantique

( Télécharger le fichier original )
par Sami Ben Ahmed
Université Abess Laghrour KHENCHELA - Master 2 en Informatique 2013
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

5.2.1 Quantum Computing Language (QCL)

2.1. Quantum Computing Language (QCL) QCL est le langage quantique le plus connu, un des premiers, et sa syntaxe ressemble au langage C. Avec QCL [Omer, 1998] il est possible de combiner langage quantique et classique dans le même code source. Le type de donnée de base est : qureg (registre de qubits). Sur ces registres, les opérations élémentaires peuvent être effectuées : initialisation, transformations unitaires et mesures...

5.2.1.1 Syntaxe de QCL [Omer, 2000] [Omer, 2009] - Expressions

45

chapitre5 : Langages de programmation quantiques

- Statements

- Définitions

Exemple

quregx1 [2]; // Registre quantique à 2 qubits

quregx2 [2]; // Registre quantique à 2 qubits

H (x1); // Opération d'Hadamard sur x1

H (x2 [1]); // Opération d'Hadamard sur le premier qubit de x2

- Avec une librairie qulib, on peut observer l'état : qcl > dump

: STATE : 4/32 qubits allocated , 28/32 qubits free

46

chapitre5 : Langages de programmation quantiques

0.35355|0) + 0.35355|1) + 0.35355|2)

+0.35355|3) + 0.35355|8) + 0.35355|9)

+0.35355|10) + 0.35355|11)

- Mais surtout, on peut définir des fonctions :

Operator diffuse (quregq) {

H (q) ; // Transformation d'Hadamard

Not (q) ; // L'inverse de q

CPhase (pi, q) ; //Rotation si q=111...

!Not (q) ; // Annuler l'inversion

!H (q) ; // Annuler Transformation d'Hadamard

5.3 Langages Fonctionnels et Lambda-Calcul

Maymin (1996) définit deux extensions du A - calcul avec appel par-valeur. Le premier, un A - calcul probabiliste (A' - calcul), intègre des distributions de termes, ce qui permet des fonctions pour retourner des résultats aléatoires. Le second, un A-calcul quantique (Aq -calcul),qui va plus loin en permettant aux termes d'être représentés négativement dans les distributions, donc il ya la possibilité d'une interférence destructive lorsque les distributions sont combinés. Dans les deux cas, il est possible d'associer des coefficients numériques avec les termes dans une distribution, mais il est possible que les termes soient répétés. Dans le Aq - calcul, cela signifie qu'il est impossible d'exprimer des phases relatives d'autres que 180 degrés. Cela ressemble à une limitation significative, bien que Maymin montre que Aq - calcul est capable de résoudre efficacement les problèmes NP - complet, et dans un autre document (1997) soutient que Aq - calcul permet de simuler efficacement les automates cellulaires unidimensionnels partitionnés quantique, qui sont équivalentes à une machines de Turing quantique. Il semble que Aq - calcul peut être strictement plus expressive que le calcul quantique physiquement réalisable.

Van Tonder (2004) définit un A - calcul quantique, Aq, avec une sémantique opérationnelle et une théorie équationnelle. C'est un langage pour le calcul quantique pur : la mesure n'est pas envisagée. Il analyse la non-reproductibilité de l'état quantique en termes de logique linéaire et donne une définition inductive des termes Aq bien formés qui est, essentiellement, une forme simplifiée d'un système de type linéaire.

Valiron (2004) et Selinger et Valiron (2005, 2006) définissent un langage de programmation fonctionnelle d'ordre supérieur basé sur l'idée de contrôle classique et données quantiques. Le langage est basée sur l'appel par valeur du A-calcul, et comprend à la fois des données classiques

47

chapitre5 : Langages de programmation quantiques

et quantiques. La sémantique est opérationnel, bien que l'extension de Selinger (2004) donne une sémantique dénotationnelle, l'ordre supérieur est un objectif, et il ya un système de type basé sur la logique linéaire pour le contrôle de l'état quantique. Ils démontrent la préservation de type et les propriétés de sécurité de type, comme prévu pour les langages fonctionnels typés, et présentent un algorithme d'inférence de type.

Toujours dans l'extension du travail de Valiron (2004), Perdrix (2005) définit un système de type qui reflète l'intrication des parties de l'état quantique. L'idée est d'enrichir le type de l'environnement avec une relation d'équivalence sur les variables quantiques, ce qui représente une approximation de la relation d'intrication.

Arrighi et Dowek (2004, 2005) définissent un À - calcul linéaire algébrique dans lequel toutes les fonctions sont des opérateurs linéaires sur les espaces vectoriels. Bien que la modélisation de calcul quantique est un objectif majeur de leur travail, ils développent leurs théorie quelque peu indépendamment des spécificités de la mécanique quantique afin d'obtenir une vue plus générale de la signification de la linéarité. Une caractéristique notable de ce travail est l'identification d'une correspondance entre la notation pattern-matching familière de la programmation fonctionnelle et la notation algébrique linéaire définissant les opérateurs linéaires par leur effet sur les vecteurs de base.

Altenkirch et Grattage (2005a; 2005b) définissent un langage du premier ordre de la programmation fonctionnelle, QML, dont le contrôle, ainsi que les données peuvent être quantique. La sémantique de QML est exprimée en termes de théorie des catégories, ce qui fournit une base pour une sémantique dénotationnelle en termes de super opérateurs et une traduction dans les circuits quantiques. Le système de type de QML est basé sur la logique linéaire, mais se concentre sur l'élimination de l'affaiblissement (rejets l'état quantique) plutôt que de la contraction (duplication de l'état quantique), en effet, la contraction est autorisé mais elle est interprété comme le partage plutôt que la copie. Un autre objectif du système de type est de contrôler la décohérence, et cela est pris en charge par l'introduction d'un jugement et règles dérivation d'orthogonalité des états d'espaces. Dans la poursuite des travaux avec Vizzotto et Sabry (. Altenkirch et al 2006), les auteurs développent une théorie équationnelle complet pour le fragment pur de QML; cela donne aussi un algorithme de normalisation pour QML.

Danos et al. (2004) étudient le modèle unidirectionnel de calcul quantique, et développent une notation pour les composants clés de ce modèle : l'intrication, la mesure et correction local. Cette notation est basée sur les modèles. La principale contribution de cet article est de définir un calcul d'équations avec plus de modèles, ce qui conduit à un algorithme par lequel n'importe

48

chapitre5 : Langages de programmation quantiques

quel modèle peut être transformé en une forme standard comprenant intrication suivie par mesure suivie par une correction. Danos et Kashefi (2005) décrivent des conditions suffisantes pour les modèles de mesure à 'exécuter de façon déterministe. Danos et al. (2005) développent un calcul similaire de mesures à deux qubits, ce qui est pertinent d'utiliser la téléportation comme une primitive pour le calcul quantique.

(2004) Le travail de M. Selinger a été très influent dans le développement des langages fonctionnels pour le calcul quantique. Il définit un langage fonctionnel de premier ordre avec un système de type statique, en prenant l'approche des données quantiques et le contrôle classique. L'aspect le plus important de ce travail est la sémantique dénotationnelle. Celui-ci utilise le mécanisme standard d'ordres partiels complets et les fonctions continues [?], mais dans le cadre des espaces vectoriels et super opérateurs; une caractéristique essentielle est le traitement de partialité découlant de la non-récurrence de terminaison ou de boucles. Edalat (2004) a aussi étudié la sémantique des états partiels en informatique quantique. Dans la suite nous allons représenter à titre d'exemples les langages QML et Quipper.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle