Ajouter un commentaire

Q# et Quantum Development Kit Preview : la programmation quantique dans Visual Studio !

Par:
fredericmazue

mar, 12/12/2017 - 15:17

En septembre dernier, lors de sa conférence Ignite, Microsoft annonçait l'arrivée prochaine d'un langage maison de programmation quantique et son intégration dans Visual Studio. Aujourd'hui la promesse est tenue avec Quantum Development Kit, une extension pour Visual Studio.

Microsoft vient d'annoncer la disponibilité de cet outil, actuellement en préversion, et même si vous n'avez pas encore un ordinateur quantique sur votre poste de travail, vous pouvez approcher ce qui est le Saint Graal actuel de l'informatique avec le simulateur quantique de ce kit.

Quantum Development Kit peut être téléchargé ici.

Ce simulateur quantique permet de simuler 30 qubits. Parallèlement, Microsoft propose de travailler avec un simulateur quantique de 40 qubits sur son cloud Azure. Pour simuler 30 qubits, 32 Go de mémoire sont requis sur un ordinateur classique et chaque qubit supplémentaire double la quantité de mémoire nécessaire...

Lors de son annonce de septembre, Microsoft n'avait pas donné d'informations quant au langage de programmation quantique en cours de préparation. Des rumeurs évoquaient des noms comme Q++ ou Q#. Ce sera finalement Q#, un langage spécialement développé pour exprimer des algorithmes quantiques. En Q#, le développeur quantique écrit des sous-programmes quantiques qui s'exécutent sur un processeur quantique dans le cadre et sous le contrôle d'un programme hôte en langage classique. Ce langage classique est similaire à C#.

Outre le simulateur et le langage de programmation quantique, le kit vient avec une bibliothèque standard qui satisfait à la fois les besoins du langage classique de contrôle et des algorithmes quantiques.

Un site de Microsoft propose de la documentation et une initiation à la programmation quantique. Un peu de documentation en la matière n'est pas du superflu... :-)

Mais au fait qu'est-ce donc qu'un ordinateur quantique ? C'est un ordinateur dont les bits que nous connaissons dans les microprocesseurs de nos antiquités actuelles :-) sont remplacés par des qubits.

Un bit classique a 2 états : 0 ou 1. Pour un qubit c'est tout autre chose... On lit bien souvent dans les articles de vulgarisation que les qubits sont des sortes de super bits à 3 états 0, 1, ou 0 et 1 superposés. Mais en fait les choses sont beaucoup plus complexes, c'est le cas de le dire :-)

Car s'il y a bien une superposition d'états dans un qubit, cette superposition d'états est une superposition non pas comme nous la comprenons intuitivement - deux choses l'une sur l'autre - mais comme une superposition au sens mécanique quantique du terme :-) Dans un qubit la superposition de ces deux états est décrite par une combinaison linéaire des états :

a * |0> + b |1>

où a et b sont deux nombres complexes tels que a au carré plus b au carré égale 1.

Lorsqu'on lit un qubit, on récupère soit 0 soit 1, mais avec les carrés des valeurs absolues de a et b comme probabilités d'état :-) Dans nos bons vieux microprocesseurs à la papa Cro-Magnon, lorsqu'on lit un bit, on est sûr de son état et de ce qu'on lit : 0 ou 1. En informatique, on obtient une probabilité d'état... Une probabilité modifiée qui plus est :-)

Car pour agrémenter encore un peu les choses, il faut savoir que la lecture du qubit modifie son état - le fige, ou le projette dans l'état mesuré - en vertu d'une loi de la mécanique quantique qui veut que l'observation influe sur le système observé. Ce qui implique qu'un qubit ne peut être dupliqué, puisque pour ce faire, il faudrait le lire, donc le modifier :-) Mais par contre il peut être téléporté au sens de téléportation quantique du terme :-)

La téléportation quantique  consistant à transférer l’état quantique d’un système vers un autre système similaire et séparé spatialement du premier. Comme nous ne sommes pas (pas encore...) dans la série Star trek, il ne s'agit donc pas de transfert de matière ni d'énergie. Le terme de téléportation quantique est utilisé pour souligner le fait que le processus est destructif : à l'issue de la téléportation, le premier système ne sera plus dans le même état qu'initialement... :-)

Bonne programmation quantique ! :-)

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
     J  W     W  DDD   TTTTTT  K  K 
J W W D D TT K K
J W W W D D TT KK
J J W W W D D TT K K
JJJ W W DDD TT K K