FR 2946167 A1 20101203 FR 0953544 A 20090528 PROCEDE ET OUTIL DE MANIPULATION DES DONNEES QUANTIQUES La présente invention concerne un procédé et un dispositif de manipulation des données quantiques. Depuis le début des années 1980 des physiciens sont capables de manipuler et d'observer des objets quantiques élémentaires individuels tels que des photons, atomes ions etc. Cette possibilité de manipuler et d'observer des objets quantiques élémentaires est à l'origine de l'information quantique où ces objets quantiques élémentaires permettront de construire les bits quantiques (dénommés dans ce qui suit qubits). Un qubit est l'état quantique qui représente la plus petite unité de stockage d'information quantique et se compose d'une superposition de deux états de base, notés ici 10> et Il>. Selon le support physique du qubit ces deux états de base peuvent correspondre, par exemple, à deux niveaux d'énergie différents, ou à deux directions de polarisation différentes. Un état qubit est constitué d'une superposition quantique linéaire de ces deux états. Si l'on note {10>,11>} une base d'un espace vectoriel H on écrit que le qubit est dans l'état : IP>=a10>+R11> (1) les coefficients a et 3 étant des nombres complexes appelés amplitudes de probabilité vérifiant lal2 + 11312 = 1. La probabilité de mesurer l'état 10> est lal2 tandis que celle de mesurer l'état 11> est IRI 2. Dans un qubit, une information doit pouvoir être inscrite, conservée ou modifiée de manière contrôlée par un operateur et/ou par couplage ou non à d'autres qubits, puis lue. L'inscription est la préparation du qubit dans une superposition cohérente quelconque. a 10>+ 3 11> de ses deux états de base. Le contrôle cohérent de l'état quantique du qubit est le contrôle de l'évolution au cours du temps des amplitudes de probabilités a et 3. 1 Les dispositifs de qubits peuvent avoir de très nombreux supports physiques: atomes ou ions contrôlés optiquement ou électromagnétiquement, photons polarisés, spins nucléaires contrôlés électromagnétiquement, dispositifs électroniques intégrés notamment supraconducteurs à jonctions Josephson, ou semiconducteurs à gaz d'électrons bidimensionnels, etc. En mécanique quantique, l'état d'un système est représenté par un point dans un espace vectoriel hilbertien (un espace de Hilbert) et le calcul quantique manipule des vecteurs dans un espace de Hilbert. Un qubit correspond à un espace de Hilbert de dimension 2. Un calculateur quantique ou ordinateur quantique, repose sur des propriétés quantiques de la matière : superposition et intrication d'états quantiques. Une grandeur physique peut être mesurée grâce à un opérateur hermitien de 15 l'espace de Hilbert. Cette mesure projette le vecteur d'état sur une des valeurs propres. L'espace des états d'un système composite 14)12> est le produit tensoriel des espaces individuels H1 et H2 : 14'12> = I4'1> I4'2> (2) Le premier qubit 'P1 vit dans un espace de Hilbert H1 dont une base orthonormée {101>,111>}, et le second qubit 4)2 vit dans un espace de Hilbert H2 dont une base 25 orthonormée {102>,112>} L'état du premier qubit est noté par 1Y1> = a1 101>+ R1 I11>, et L'état du second qubit est noté par 14)2> = a2 102>+ 32 112> 14)12> = I4)1> ,a> 14)2> = a a1 a2101 02> + a1 132101 t $ 1 2> + R1 a1 I 1 1 02> + 131 [32111 9 1 2> (3) 20 30 2 Le système quantique résultant du produit tensoriel est donc un espace vectoriel de dimension 4. L'évolution d'un système isolé est représentée par une matrice de transformation unitaire : I4)(0)> -* I'P(t)> = U(t,0) I4)(0)> (4) Le schéma d'un calcul quantique est illustré sur la Figure 1. n qu-bits qn sont préparés dans l'état 10> ou 11> au temps t=to. Le vecteur d'état initial appartient à un espace de Hilbert à 2n dimensions, HOOn . Les n qubits subissent ensuite une On évolution quantique décrite par un opérateur unitaire U(t,to) agissant dans H Une fois l'évolution quantique achevée, une mesure est effectuée au temps t sur les qu-bits afin d'obtenir le résultat du calcul. L'opération quantique la plus générale est une transformation unitaire dans l'espace de Hilbert de dimension 2n des n qu-bits HOn :la porte logique la plus On générale est une matrice 2nx2n opérant dans H Le domaine des calculateurs quantique est en émergence. De tels systèmes trouvent des applications dans les domaines de sécurité, cryptographie, finance et calculs scientifiques, etc. Il existe plusieurs langages de programmation pour la manipulation de circuits quantiques. Cependant les langages de programmation classiques manquent de structures de données et d'opérateurs pour représenter les données quantiques. Les algorithmes quantiques élaborés par les scientifiques utilisent une représentation mêlant circuits et développements mathématiques comme illustré à la Figure 2A. L'état des qubits est parfois représenté graphiquement, mais uniquement dans le cas des qubits individuels (dimension 2). La � sphère de Bloch � B illustré à la Figure 2B permet notamment de montrer les amplitudes complexes des vecteurs de base 10> et 11> 3 Cependant aucune représentation en dimension � n � (n>2) n'est proposée actuellement pour l'état des systèmes quantiques. De plus l'état intermédiaire des qubits n'est jamais représenté : seules les entrées et les sorties sont matérialisées. La conception des algorithmes se fait � sur papier �, puis est éventuellement implémentée dans des outils de vérification. Il existe déjà quelques logiciels de calcul quantique. La plupart d'entre eux présentent les circuits sous la forme d'objets graphiques disponibles dans une interface classique. Cependant, outre le fait que les fenêtres de paramétrage sont peu pratiques, certains problèmes présentés comme "ergonomiques" (multiplication des objets, impossibilité de tout faire tenir dans un écran) révèlent un problème de fond sur la modélisation des principes mis en oeuvre. Certain outils existent sous forme de langage à compiler. Toutefois il est nécessaire de créer des librairies à chaque nouvel algorithme, et il n'est pas possible d'exécuter les programmes générés sous forme graphique. L'invention dans au moins un mode de réalisation, a pour objectif de pallier ces différents inconvénients de l'état de la technique et d'apporter des améliorations. Un premier aspect de l'invention propose ainsi un outil de manipulation des 25 données quantiques sur un affichage, dans lequel un qubit est modélisé par un objet graphique de qubit composé de deux plans superposés, un premier plan correspondant à un état de base 10> du qubit et un second plan correspondant à un état de base 11> du qubit ; au moins une partie de chaque plan étant visible sur l'écran, et l'objet graphique du qubit étant manipulable par moyen d'un dispositif de 30 pointage de telle manière qu'au contact de l' icône graphique représentant le dispositif de pointage avec un des plans, l'amplitude de l'état de base correspondant au plan contacté peut être visualisé, par exemple sous forme de vecteur de l'amplitude complexe correspondante. 4 L'opacité du plan peut correspondre au carré du module de l'amplitude de l'état de base correspondant au plan. La couleur du plan peut correspondre à l'état de base. Un opérateur quantique peut être représenté par un objet graphique d'opérateur manipulable par le dispositif de pointage, et le rapprochement de l'objet graphique d'opérateur et l'objet graphique de qubit jusqu' à une distance relative prédéterminée peut déclencher l'opération correspondant à l'opérateur représenté par l'objet graphique d'opérateur sur le qubit, le résultat de l'opération étant affiché sur l'affichage sous forme d'un objet graphique de résultat. Le rapprochement par moyen du dispositif de pointage d'un premier objet graphique de qubit correspondant à un premier qubit et un second objet graphique de qubit correspondant à un second qubit jusqu' à une distance relative prédéterminée peut déclencher une opération de produit tensoriel du premier et second qubits, le résultat de produit tensoriel étant affiché sur l'écran sous forme d'un objet graphique de produit tensoriel à quatre plans superposés. Un objet graphique de mesure globale peut représenter un outil de mesure globale pour mesurer l'état globale d'un système quantique et le rapprochement de l'objet graphique de mesure globale et un objet graphique représentant un système quantique composé d'au moins un qubit peut permettre de mesurer l'état globale du système quantique. Un objet graphique de mesure partielle peut représenter un outil de mesure partielle pour mesurer l'état d'un qubit d'un système quantique et le rapprochement de l'objet graphique de mesure partielle et un objet graphique représentant un qubit du système quantique peut permettre de mesurer l'état partielle du qubit du système quantique. Un deuxième aspect de l'invention propose un procédé de modélisation d'un calcul quantique, le procédé comprenant les étapes suivantes : modélisation d'un qubit par un objet graphique de qubit composé de deux plans superposés, un premier plan correspondant à un état de base 10> du qubit et un second plan 5 correspondant à un état de base I1> du qubit, au moins une partie de chaque plan étant visible sur l'affichage ; et manipulation de l'objet graphique de qubit par moyen d'un dispositif de pointage de telle manière qu'au contact du icône graphique représentant le dispositif de pointage avec un des plans, l'amplitude de l'état de base peut être visualisé. Un opérateur quantique peut être représenté par un objet graphique d'opérateur manipulable par le dispositif de pointage, et le procédé peut comprendre en outre un rapprochement de l'objet graphique d'opérateur et l'objet graphique de qubit jusqu' à une distance relative prédéterminée pour déclencher une opération correspondant à l'opérateur représenté par l'objet graphique d'opérateur sur le qubit ; et un affichage du résultat de l'opération sous forme d'un objet graphique de résultat sur l'affichage. Le procédé peut comprendre en outre le rapprochement par moyen du dispositif de pointage d'un premier objet graphique de qubit correspondant à un premier qubit et un second objet graphique de qubit correspondant à un second qubit jusqu' à une distance relative prédéterminée pour déclencher une opération de produit tensoriel du premier et second qubits, et l'affichage du résultat de produit tensoriel sur l'affichage ou l'écran sous forme d'un objet graphique de produit tensoriel à quatre plans superposés. Un objet graphique de mesure globale peut représenter un outil de mesure globale pour mesurer l'état globale d'un système quantique et le procédé peut comprendre en outre un rapprochement de l'objet graphique de mesure globale et un objet graphique représentant un système quantique composé d'au moins un qubit pour mesurer l'état globale du système quantique. Un objet graphique de mesure partielle peut représenter un outil de mesure partielle pour mesurer l'état d'un qubit d'un système quantique et le procédé peut comprendre en outre un rapprochement de l'objet graphique de mesure partielle et un objet graphique représentant un qubit du système quantique pour mesurer l'état partielle du qubit du système quantique. 6 L'outil permet de représenter l'état des systèmes quantiques en dimension n 2, de visualiser les amplitudes complexes et de suivre à tout moment l'évolution des états dans leur espace. De plus, l'outil permet une manipulation libres des opérateurs et mesures. L'outil de manipulation peut être présenté sur un écran sous forme d'une interface d'utilisateur graphique. Le dispositif de pointage peut être utilisé pour déplacer l'icône graphique sur l'affichage. Les valeurs peuvent être visualisés ou obtenues avec or sans cliquer un bouton du dispositif de pointage. Dans le cas d'un écran tactile le dispositif de pointeur peut être un doigt or un stylet. Chaque aspect de la présente invention propose un programme informatique pour la mise en oeuvre du procédé correspondant décrit ci-avant. Un tel programme peut être téléchargeable via un réseau de télécommunication et/ou stocké dans une mémoire d'un dispositif de traitement et/ou stocké sur un support mémoire destiné à coopérer avec un dispositif de traitement. Description des figures D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels : - la figure 1 illustre schématiquement le principe d'un calcul quantique ; - la figure 2A illustre des représentations connues des calculs quantiques ; - la figure 2B est une représentation d'un qu-bit par une sphère de Bloch ; - la figure 3A montre des objets graphiques représentant des qubits selon un mode de réalisation de l'invention ; - la figure 3B montre la manipulation d'un qubit pour présenter les sous-vecteurs du qubit selon un mode de réalisation de l'invention ; - la figure 4A illustre schématiquement l'opération pour effectuer un produit tensoriel selon un mode de réalisation de l'invention ; - la figure 4B montre une représentation d'un produit tensoriel selon un mode 7 de réalisation de l'invention ; - la figure 4C montre la visualisation des plans d'un produit tensoriel selon un mode de réalisation de l'invention ; - la figure 5A montre des représentations des opérateurs selon un mode de réalisation de l'invention - la figure 5B montre des représentations alternatives des opérateurs selon un mode de réalisation de l'invention - la figure 5C illustre schématiquement l'opération pour effectuer une opération sur un qubit selon un mode de réalisation de l'invention - la figure 6 illustre schématiquement l'opération pour changer la base d'un qubit selon un mode de réalisation de l'invention ; - les figures 7A à 7C illustrent les représentations d'une mesure globale et une mesure partielle selon un mode de réalisation de l'invention ; - Les figures 8A à 8K illustrent schématiquement les opérations qui peuvent être effectuées par l'outil de manipulation des données quantiques selon un mode de réalisation de l'invention ; - La figure 9 illustre schématiquement le circuit quantique pour effectuer l'algorithme Deutsch Jozsa ; - Les figures 10A et 10 B présentent l'outil de manipulation pour manipuler les données quantiques pour effectuer un algorithme Deutsch Jozsa selon un mode de réalisation de l'invention. Description Détaillée Des modes de réalisation de l'invention seront décrits par la suite. Les qubits La figure 3A illustre une représentation d'un qu-bit selon un premier mode de réalisation de l'invention. Le qubit est représenté par un objet graphique 11 composé de deux plans ou couches superposés 111 et 112. Chaque vecteur de base 10> et 11> du qubit est figuré par un plan 111 et 112, qui est sous une forme carrée. Celui-ci fait également office de plan complexe qui permet donc de représenter les coefficients complexes. 8 La couleur du plan 111 ou 112 correspond à l'état de base du qubit û dans cet exemple le rouge est réservé à l'état de base 10> et le vert à l'état de base Il>. L'opacité du plan est proportionnelle au carré du module de l'amplitude la12 or IR12 Lorsque l'amplitude est nulle, le plan est matérialisé par un cadre d'une couleur, par exemple bleu. Le plan dans ce cas peut être transparent. Ainsi un qubit dans un état 10> (a=1, 3=0) est illustré sur la figure 3A(i), un qubit dans un état 11> (a=0, 3=1) est illustré sur la figure 3A(ii), et un qubit dans un état superposé quelconque est illustré sur la figure 3A(iii), (a#0,13#0) Dans l'exemple montré le plan au premier plan 111 correspond à l'état de base a 10> et le plan arrière 112 correspond à l'état de base 3 11> L'état du qubit peut être lu en utilisant un pointeur 1, tel que par exemple un 15 pointeur, contrôlé par un dispositif de pointage tel qu'un souris, sur l'affichage graphique. Au contact du pointeur 1 sur chacun des plans 111 ou 112 individuellement comme illustré à la figure 3B, cela projette temporairement le vecteur correspondant sur chaque sous-espace, afin de mieux lire les valeurs des amplitudes associées. Ainsi au contact du pointeur 1 au premier plan 111 l'état de 20 base 10> est projeté au premier plan pour que l'état puisse être lu. Et au contact du pointeur 1 au plan arrière 112 l'état de base 11> est projeté au premier plan pour que l'état 11> puisse être visualisé. La longueur et la direction d'une aiguille 113 affichée sur chaque plan 25 correspond à l'amplitude de a ou 3 L'aiguille 113 et l'opacité du plan donne des informations relative à l'état de base correspondant. Lorsque le pointeur 1 sort de l'objet graphique 11, l'état revient à sa configuration de départ. Le produit tensoriel Les qubits sont manipulables avec le pointeur 1. Par moyen du pointeur l'objet graphique représentant un qubit peut être saisi et déplacé sur l'écran de l'interface 30 9 graphique, par exemple par une manipe de type � drag et drop � (glisser et deposer). En se référant à la figure 4A si on approche l'objet graphique 11 représentant un premier qubit I4)1> suffisamment près d'un autre objet graphique 12 représentant un deuxième qubit I4)2> pour que la distance séparant les deux objets graphiques 11 et 12 soit moins d'une distance prédéterminée (de l'ordre de quelques mm ou pixels), un calcul tensoriel I4)1> I4)2> pour obtenir un système quantique I4)12> 41 se matérialise aussitôt. Le résultat du calcul tensoriel est montré sur la figure 4B. Le système quantique 41 résultant est composé de quatre plans superposés 411, 412, 413 et 414 représentant un espace vectoriel de dimension 4. Chaque plan du système quantique 41 est composé de deux états qubit. Les couleurs des plans respectent les combinaisons des vecteurs initiaux. Au contact du pointeur 1 sur chacun des plans de l'objet graphique 41 représentant le produit tensoriel comme illustré à la figure 4C , cela projette temporairement le vecteur (le plan correspondant) sur chaque sous-espace au premier plan comme décrit ci-dessus. Les opérateurs Les opérateurs qui agissent sur les qubits sont représentés par ses objets graphiques d'opérateur. Des exemples d'opérations qui peuvent être effectuées sur les qubits incluent une transformation Hadamard, une transformation Fourier (DFT) une porte CNOT etc comme illustrés à la figure 5A. Bien entendu n'importe quel operateur connu par l'homme du métier dans le domaine des calculs quantiques peut être représenté. Les opérateurs peuvent être personnalisés et paramétrable : ce sont des matrices dont il suffit de donner le nom et les coefficients. Lors de l'affichage, il est là encore possible de basculer d'une représentation à l'autre en mettant le pointeur 1 en contact avec l'objet graphique représentant l'opérateur comme illustré à la Figure 5B. 10 Les opérateurs sont eux aussi manipulables à l'écran. Par moyen du pointeur 1 comme illustré à la figure 5C il suffit d'approcher un opérateur 21 d'un qubit 11 pour faire évoluer le qubit 11, si les dimensions des matrices coïncident. Bien entendu le qubit 11 peut être déplacé pour approcher de l'opérateur 21, ou le qubit 11 et l'opérateur 21 peuvent être déplacé tous les deux pour s'approcher. Il suffit que la distance relative entre le qubit 11 et l'opérateur 21 soit moins d'une distance prédéterminée pour déclencher l'opération décrit par l'opérateur en question. Changement de base Dans certains algorithmes quantiques, il est nécessaire de changer la base, par exemple de la faire tourner de pi/4, comme par exemple le protocole BB84. Un outil de l'invention permet de le faire, s'inspirant des transformations proposées par les logiciels de retouche graphique. Comme illustré à la Figure 6 on fait tourner par moyen du pointeur 1 l'objet graphique 11 du qubit par un angle de par exemple 45°. Le calcul des amplitudes du vecteur exprimé dans la nouvelle base se fait à la volée, modifiant dynamiquement les opacités des plans 111 et 112 du qubit 11. Mesure Deux outils de mesure d'un système quantique sont proposés par l'invention, l'un qui permet de mesurer l'état global du système, l'autre qui permet de faire des mesures qubit par qubit, ce qui est nécessaire par exemple dans le cas de la téléportation quantique. En effet, la téléportation quantique tire profit de l'intrication de qubits qui interagissent ensuite avec les qubits dont l'état est à transmettre. Le protocole mis en oeuvre permet d'échanger de l'information en ne procédant qu'à des mesures partielles. On se réfère maintenant aux figures 7A et 7B sur lesquelles sont illustrés un exemple d'un objet graphique 31 pour effectuer une mesure générale et un objet graphique 32 pour effectuer une mesure partielle. Il est toujours possible de changer la base dans laquelle se fait la mesure en faisant tourner l'objet graphique mesure 31 ou 32 par moyen du pointeur comme illustré à la figure 7B et expliqué ci-dessus. 11 Là encore, il suffit d'approcher l'objet graphique � mesure � 31 d'un qbit 11 comme illustré à la figure 7C pour que l'état-résultat se matérialise. Le résultat est affiché sur l'écran dès que l'objet graphique mesure 31 est relâché à proximité du qubit 11. Ce dernier est tiré de manière aléatoire en fonction des amplitudes. On se réfère maintenant à la figure 8A à 8K pour illustrer un exemple d'utilisation de l'outil de manipulation des données quantiques. La figure 8A montre les objets graphiques pour représenter un premier qubit 11 un deuxième qubit 12, un operateur 21, une mesure globale 31 et une mesure partielle 32. 10 Dans la figure 8B l'objet graphique d'operateur 21 est approché du deuxième qubit 12 pour faire évoluer l'état quantique du qubit 12. Lorsque la distance entre le qubit 12 et l'opérateur 21 est moins d'une distance prédéterminée l'opération de l'operateur 21 sur le qubit 21 s'effectue. Dans cet exemple l'opérateur 21 s'agit d'un 15 opérateur pour effectuer une transformation de Hadamard H : La transformation de Hadamard permet d'obtenir une superposition uniforme des 2n vecteurs de base. 1110) -1 Au vecteur 10> elle associe le vecteur: 20 25 Et au vecteur 11 > le vecteur : Le résultat de l'opération de la transformation d'Hadamard sur le qubit 12, c'est-à-dire le qubit évolué, s'affiche sur l'écran à l'autre coté de l'opérateur du qubit 12 sous forme d'un troisième objet graphique qubit 13 comme illustré à la figure 8C. 12 En mettant le pointeur 1 en contact avec une partie d'un plan 131 ou 132 de l'objet graphique de qubit 13 le plan s'affiche à l'écran au premier plan pour que les valeurs des amplitudes puissent être visualisés comme illustré à la Figure 3B. L'objet graphique 11 représentant le premier qubit 11 est approché du troisième qubit 13 par le dispositif de pointage comme illustré à la Figure 8D û le premier qubit 11 est placé au dessus du qubit 13. Lorsque la distance entre le premier qubit 11 et le troisième qubit 13 est inférieure à une distance prédéterminée un calcul tensoriel entre le premier qubit 11 et le troisième qubit 13 se déclenche. Le calcul tensoriel correspond au calcul I4)13> = I4)1> I4)3> d'où Yi >correspond au qubit 11 et 4)3> correspond au qubit 13 Le résultat du calcul tensoriel effectué s'affiche sur l'écran sous la forme d'un espace vectoriel 41de dimension 4 composé du quatre plans 411, 412, 413 et 414 de deux qubits interconnectés comme illustré à la figure 8E. Les Figures 8F et 8G montrent le cas lorsque le premier qubit 11 est placé en dessous du troisième qubit 13 pour effectuer un calcul tensoriel. Le calcul tensoriel se déclenche. Le calcul tensoriel correspond au calcul 14)31> = I4P3> I4P1 > d'où Yi >correspond au qubit 11 et 4)3> correspond au qubit 13. Le résultat du calcul tensoriel effectué s'affiche sur l'écran sous la forme d'un espace vectoriel 42 de dimension 4 composé du quatre plans 421 , 422, 423, 424 de deux qubits interconnectés comme illustré à la figure 8G. Les figures 8F et 8G montrent ce qui se passe si on approche le qbit 11 par- dessous le qubit 13, autrement dit si on calcule I4)1> I4)3> au lieu de I4)3>* > : le produit tensoriel n'est pas commutatif, comme le montre le résultat de la figure 8G Pour mesurer l'état global du système quantique 42 l'objet graphique pour la mesure globale 31 est approché par moyen du pointeur 1 du système quantique 42 comme illustré à la figure 8H. L'entrée de l'outil de mesure globale 31 est placé à côté du système quantique 42. Lorsque la distance entre la mesure globale 31 et le système quantique 42 est moins d'une distance prédéterminée une mesure du système quantique est effectuée et l'état résultant est affiché sur l'écran à la sortie de 13 la mesure globale 31 sous forme d'un système des qubits 51 comme illustré à la figure 81. Pour mesurer l'état partiel qubit par qubit du système quantique 42 l'objet graphique pour la mesure partielle 32 est approché, par moyen du pointeur, du système quantique 42 comme illustré à la figure 8J . Lorsque la mesure partielle 32 touche un plan du système 42 une mesure du qubit associé au qubit à la région du contact est effectuée et l'état résultant est affiché sur l'écran à la sortie de la mesure partielle 32 sous forme d'un qubit 52 comme illustré à la figure 8K. On se réfère maintenant aux figures 9 à 10 pour illustrer un exemple d'utilisation de l'outil de manipulation des données quantiques pour effectuer un algorithme quantique û l'algorithme de Deutsch-Jozsa L'algorithme Deutsch-Jozsa est un algorithme quantique qui permet de déterminer si une fonction f , prenant en argument n bits, est constante ou équilibrée (c'est à dire. elle prend le même nombre de fois la valeur 0 et 1). Le but est de tester la condition f(0) = f(1) ; Cela est équivalent à vérifier f (0) (? f(_1'). Si cela vaut zéro alors f est constante, sinon f est équilibrée. On dispose d'un registre de deux qubits dans l'état 1e. On y applique l'opérateur d'Hadamard. On applique ensuite une implémentation quantique (oracle) de la fonction f : 1 Remarquons que : o) 14 Le registre vaut donc : " yf (0) - . " 2 . L'opérateur d'Hadamard est applique au premier qubit : Lorsque la fonction est constante : )t (0) rffl) n . et par conséquent le premier qubit vaut �10>, sinon : f �)� .f (1) et le premier qubit vaut �Il> Il suffit alors de mesurer le premier qubit pour déterminer si la fonction f est constante ou équilibrée Un circuit quantique de l'algorithme de Deutsch-Jozsa est présenté sur la 15 figure 9. Nous commençons avec le n+1 bit dans l'etat i Les premier n bits sont tous dans l'état 10)et le dernier bit dans l'état f' l). Nous appliquons ensuite la transformation d'Hadamard à chaque qubit, pour obtenir : )f(0) i,, ( 1)f�l i (10\ f (0 ' ! - I 10 20 15 L'outil de manipulation de données quantiques selon des modes de réalisation de l'invention permet d'effectuer l'algorithme Deutsch-Jozsa comme illustré à la figure 10. D'abord le nombre n de qubits est sélectionné. Dans l'exemple présenté le nombre de qubits sélectionné est 3. Ces 3 qubits 102 sont tous présenté chacun sous forme d'un objet graphique dans l'état 10> le qubit n+1 103 est présenté sous forme d'un objet graphique dans l'état 11>. Un opérateur de transformation d'Hadamard HO3 104 avec trois entrées est choisi parmi des opérateurs proposés par l'outil. L'opérateur 104 est approché des objets graphiques représentant les trois qubits 103. Lorsque la distance entre l'opérateur 104 et les 3 qubits est moins d'une distance prédéterminée l'opération de transformation d'Hadamard sur les trois qubits 102 se déclenche. Le résultat de l'opération s'affiche sur l'écran sous forme d'un objet graphique de sous-résultat 141 à la sortie de l'opérateur 104. Un opérateur de transformation d'Hadamard H 105 est sélectionné pour opérer sur le qubit 103. L'opérateur de transformation d'Hadamard H 105 est approché du qubit 103 pour déclencher l'opération. Le résultat de l'opération s'affiche sur l'écran à la sortie de l'opérateur 105 sous forme d'un objet graphique 142 représentant un qubit de sous-résultat. Une fonction f(x) est choisie parmi plusieurs fonctions proposées. L'objet graphique 106 représentant la fonction est approché des objets graphiques 141 et 142 représentants les résultats des opérations sur les quatre qubits. Quand la distance entre la fonction 106 et les objets graphiques sous-résultat est inférieure à une distance prédéterminée l'opération de la fonction106 sur le système quantique se déclenche. Le résultat de l'opération de la fonction s'affiche sur l'écran à la sortie de la fonction sous forme d'un objet graphique 107. Un opérateur 108 de transformation d'Hadamard HO3 est sélectionné et approché du système quantique 107 issu de la fonction 106. Le système quantique résultant est affiché sur l'écran sous forme d'un objet graphique de résultat 107. Pour effectuer une mesure partielle sur le système quantique 109 résultant un objet graphique 132 représentant un outil de mesure est approché des sous vecteurs du système quantique 109 résultant pour afficher le résultat des mesures sur l'écran. Une bascule permet de visualiser les éléments sous forme graphique ou sous forme langage fonctionnel. Les résultats des mesures effectuées permettent de déterminer immédiatement si la fonction est constante ou non. Les éléments peuvent être visualisés sous forme fonctionnelle comme illustré à la figure 10B. Les extraits de programme d'ordinateur pour chaque module sont présentés dans l'annexe 1. On peut basculer d'un mode à l'autre. Le résultat final peut être exporté sous format Tex, par exemple. L'outil de manipulation d'au moins un mode de réalisation peut être utilisé pour contrôler un dispositif de type ordinateur quantique pour implémenter les calculs quantiques comme par exemple : ^ Un ordinateur quantique photonique exploitant l'effet Kerr non linéaire ; ^ Les cavités optiques résonantes ; ^ Les cavités micro-ondes résonantes ; ^ Les pièges à ions ; ^ La RMN ; ^ Les jonctions Josephson ^ Les points quantiques ^ Les atomes provenant d'un condensat de Bose-Einstein piégés dans un réseau optique Les opérations de modélisation et de manipulation décrites plus haut pourraient effectuées à l'aide d'un programme d'ordinateur chargé et exécuté par des moyens informatiques tel qu'un processeur d'un ordinateur. Les opérations de modélisation et manipulation pourraient être réalisées par le même module ou bien à l'aide de modules distincts d'un système. Le pointeur ou l'icône graphique de pointage peut être contrôlé par un dispositif de pointage tel qu'une souris, un accéléromètre ou un détecteur gyroscopique par exemple, ou par une touche sur un écran tactile. Les actions de 17 manipulation du pointeur peuvent comprendre les manipes de type � drag and drop � (glisser déposer), cliquer, touche prolongé etc. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation ci- dessus décrits et représentés, à partir desquels on pourra prévoir d'autres modes et d'autres formes de réalisation, sans pour autant sortir du cadre de l'invention. En variantes par exemple on pourrait bien sûr envisager que les objets graphiques aient des formes ou des couleurs différents. 18 Annexe 1 AA var n:integer // Number of qubits AB var fFonction:ClassicFunction // classic function with the domain : {0,1}*n and image A_ var Hadamard: Matrix Hadamard = new Matrix; Hadamard = 1/sqrt(2) [[1,1],[1,-1]]; B // Array of qubits 1O> var tab_qbits:Array; // call to the function that build the array. tab_gbits=buildArrayQbtO(n); function buildArrayQbtO(var m: integer):Array{ var i:integer; var tab_retour:Array= new Array(); 25 for(i=0;i QB_Iast = gbit(1); 35 D // qubit base 2^n var q_transforme:qubit; // call to the function that build the Hadamard^n 40 q_transforme=HadamardN(tab_qbits); function HadamardN(var m:Array):qubit{ var i:integer; var q_retour:qbit= Mult(Hadamard,m[0]); 45 for(i=1;i G // qbit base 2^n var q_final_result : qbit; // call to the function that compute Hadamard*n 30 q_final_result=HadamardN2(q_resultat_f); function HadamardN2(var q:qbit):qbit{ var i,k :integer; var iAmp:Number; 35 var iCoef, iInnerProd:Number; var q_retour, q_total:qbit; var tab_qbits2:array; var vSyml, vSym2:Symbol; 40 // creation of the total vector tab_qbits2 = buildArrayQbtO(n); q_total= QFT(tab_qbits2); parallel_for(i=0; i H // read the result var q_conclusion:qbit; q_conclusion = mesure(q_final_result); 21 REVENDICATIONS1. Un dispositif de manipulation des données quantiques sur un affichage, dans lequel : un qubit est modélisé par un objet graphique de qubit composé de deux plans superposés, un premier plan correspondant à un état de base 10> du qubit et un second plan correspondant à un état de base I1> du qubit ; au moins une partie de chaque plan étant visible sur l'affichage, et l'objet graphique de qubit étant manipulable par moyen d'un dispositif de pointage de telle manière qu'au contact de l'icône graphique représentant le dispositif de pointage avec un des plans, une valeur relative à l'amplitude de l'état de base correspondant au plan contacté peut être obtenue. 2. Un dispositif selon la revendication 1 dans lequel l'opacité du plan correspond au carré du module de l'amplitude de l'état de base correspondant au plan. 3. Un dispositif selon la revendication 1 ou 2 dans lequel la couleur du plan 20 correspond à l'état de base. 4. Un dispositif selon l'une quelconque des revendications précédentes dans lequel un opérateur quantique est représenté par un objet graphique d'opérateur manipulable par le dispositif de pointage, et dans lequel le rapprochement de l'objet 25 graphique d'opérateur et l'objet graphique de qubit jusqu' à une distance relative prédéterminée déclenche l'opération correspondant à l'opérateur représenté par l'objet graphique d'opérateur sur le qubit, le résultat de l'opération étant affiché sur l'affichage sous forme d'un objet graphique de résultat. 30 5. Un dispositif selon l'une quelconque des revendications précédentes dans lequel le rapprochement par moyen du dispositif de pointage d'un premier objet graphique de qubit correspondant à un premier qubit et un second objet graphique de qubit correspondant à un second qubit jusqu' à une distance relative prédéterminée déclenche une opération de produit tensoriel du premier et second 22qubits, le résultat de produit tensoriel étant affiché sur l'écran sous forme d'un objet graphique de produit tensoriel à quatre plans superposés. 6. Un dispositif selon l'une quelconque des revendications précédentes dans lequel un objet graphique de mesure globale représente un outil de mesure globale pour mesurer l'état globale d'un système quantique et le rapprochement de l'objet graphique de mesure globale et un objet graphique représentant un système quantique composé d'au moins un qubit permet de mesurer l'état globale du système quantique. 7. Un dispositif selon l'une quelconque des revendications précédentes dans lequel un objet graphique de mesure partielle représente un outil de mesure partielle pour mesurer l'état d'un qubit d'un système quantique et le rapprochement de l'objet graphique de mesure partielle et un objet graphique représentant un qubit du système quantique permet de mesurer l'état partielle du qubit du système quantique. 8. Un procédé de modélisation d'un calcul quantique, le procédé comprenant les étapes suivantes : modélisation d'un qubit par un objet graphique de qubit composé de deux plans superposés, un premier plan correspondant à un état de base 10> du qubit et un second plan correspondant à un état de base I1> du qubit, au moins une partie de chaque plan étant visible sur l'affichage ; et manipulation de l'objet graphique de qubit par moyen d'un dispositif de pointage de telle manière qu'au contact du icône graphique représentant le dispositif 25 de pointage avec un des plans, l'amplitude de l'état de base peut être visualisé. 9. Un procédé selon la revendication 8 dans lequel un opérateur quantique est représenté par un objet graphique d'opérateur manipulable par le dispositif de pointage, le procédé comprenant en outre 30 rapprochement de l'objet graphique d'opérateur et l'objet graphique de qubit jusqu' à une distance relative prédéterminée pour déclencher une opération correspondant à l'opérateur représenté par l'objet graphique d'opérateur sur le qubit ; et 23l'affichage du résultat de l'opération sous forme d'un objet graphique de résultat sur l'affichage. 10. Programme informatique pour la mise en oeuvre de l'outil de manipulation selon l'une des revendications 1 à 7, ou du procédé selon la revendication 8 ou 9, stocké sur un support mémoire destiné à coopérer avec un dispositif de traitement 24