OpenQASM

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

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

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

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

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « OpenQASM » (voir la liste des auteurs).
  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

  • icône décorative Portail des entreprises
  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique