OpenQASM
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 OPENQASM2.0; include"qelib1.inc"; gatemajoritya,b,c { cxc,b; cxc,a; ccxa,b,c; } gateunmaja,b,c { ccxa,b,c; cxc,a; cxa,b; } qregcin[1]; qrega[4]; qregb[4]; qregcout[1]; cregans[5]; // set input states xa[0];// a = 0001 xb;// b = 1111 // add a to b, storing result in b majoritycin[0],b[0],a[0]; majoritya[0],b[1],a[1]; majoritya[1],b[2],a[2]; majoritya[2],b[3],a[3]; cxa[3],cout[0]; unmaja[2],b[3],a[3]; unmaja[1],b[2],a[2]; unmaja[0],b[1],a[1]; unmajcin[0],b[0],a[0]; measureb[0]->ans[0]; measureb[1]->ans[1]; measureb[2]->ans[2]; measureb[3]->ans[3]; measurecout[0]->ans[4];
Notes et références
[modifier | modifier le code ]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « OpenQASM » (voir la liste des auteurs).
- ↑ a et b « Release 3.0 », (consulté le )
- ↑ a et b « Release 3.0.0 », (consulté le )
- ↑ « https://api.github.com/repos/QISKit/openqasm » (consulté le )
- ↑ "Abstract" de Open Quantum Assembly Language de Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta sur ArXiv
- ↑ Informations sur le site Github