OpenQASM

Un article de Wikipédia, l'encyclopédie libre.

OpenQASM
Dernière version 3.0 ()[1]
3.0.0 ()[2]Voir et modifier les données sur Wikidata
Licence Licence Apache version 2.0[3]Voir et modifier les données sur Wikidata
Site web openqasm.comVoir et modifier les données sur Wikidata

OpenQASM (Open Quantum Assembly Language), traduction de langage libre de développement quantique ; est un type de langage intermédiaire conçu pour les instructions en informatique quantique.

Présentation[modifier | modifier le code]

Le langage est créé et publié en 2017 dans un article sur Arxiv : Open Quantum Assembly Language de Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta [4]

Une implémentation de code source de référence fut publiée dans le cadre du logiciel quantique d'IBM Qiskit. Ceci aura servi pour la plate-forme d'informatique quantique sur cloud IBM Q Experience [5].

OpenQASM est un langage de description de matériel mais en version informatique quantique.

Exemple[modifier | modifier le code]

Voici un exemple de code source d'OpenQASM issu de sa bibliothèque officielle.

Le programme ajoute deux nombres de quatre bits ensemble.

// quantum ripple-carry adder from Cuccaro et al, quant-ph/0410184
OPENQASM 2.0;
include "qelib1.inc";
gate majority a,b,c 
{ 
  cx c,b; 
  cx c,a; 
  ccx a,b,c; 
}
gate unmaj a,b,c 
{ 
  ccx a,b,c; 
  cx c,a; 
  cx a,b; 
}
qreg cin[1];
qreg a[4];
qreg b[4];
qreg cout[1];
creg ans[5];
// set input states
x a[0]; // a = 0001
x b;    // b = 1111
// add a to b, storing result in b
majority cin[0],b[0],a[0];
majority a[0],b[1],a[1];
majority a[1],b[2],a[2];
majority a[2],b[3],a[3];
cx a[3],cout[0];
unmaj a[2],b[3],a[3];
unmaj a[1],b[2],a[2];
unmaj a[0],b[1],a[1];
unmaj cin[0],b[0],a[0];
measure b[0] -> ans[0];
measure b[1] -> ans[1];
measure b[2] -> ans[2];
measure b[3] -> ans[3];
measure cout[0] -> ans[4];

Notes et références[modifier | modifier le code]

  1. a et b « Release 3.0 », (consulté le )
  2. a et b « Release 3.0.0 », (consulté le )
  3. « https://api.github.com/repos/QISKit/openqasm » (consulté le )
  4. "Abstract" de Open Quantum Assembly Language de Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta sur ArXiv
  5. Informations sur le site Github

Articles connexes[modifier | modifier le code]