OpenQASM - OpenQASM
tento článek příliš spoléhá na Reference na primární zdroje.Září 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Otevřete jazyk Quantum Assembly (OpenQASM; výrazný otevřít kazm[1]) je mezilehlé zastoupení pro kvantové instrukce. Jazyk byl poprvé popsán v dokumentu publikovaném v červenci 2017,[1] a implementace referenčního zdrojového kódu byla vydána jako součást IBM Softwarová sada pro kvantové informace (Qiskit ) pro použití s jejich IBM Q Experience cloudová kvantová výpočetní platforma.[2] Jazyk má podobné vlastnosti jako tradiční jazyky popisu hardwaru jako Verilog.
OpenQASM definuje svou verzi v záhlaví zdrojového souboru jako reálné číslo, jako v deklaraci:
OPENQASM 2.0;
Úroveň původních publikovaných implementací OpenQASM (např. Qiskit, infra) je OpenQASM 2.0. Úroveň specifikace 3.0 je aktuálně rozpracovaná a lze ji zobrazit na stránce OpenQASM úložiště zapnuto GitHub.
Příklady
Následuje příklad zdrojového kódu OpenQASM z oficiální knihovny. Program přidá dvě čtyřbitová čísla.[3]
// sčítač kvantového zvlnění od Cuccara a kol., quant-ph / 0410184OPENQASM 2.0;zahrnout "qelib1.inc";brána většina A,b,C { cx C,b; cx C,A; CCX A,b,C; }brána nemaj 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];kreg ans[5];// nastavení vstupních stavůX A[0]; // a = 0001X b; // b = 1111// přidat a do b, uložit výsledek do bvětšina cin[0],b[0],A[0];většina A[0],b[1],A[1];většina A[1],b[2],A[2];většina A[2],b[3],A[3];cx A[3],cout[0];nemaj A[2],b[3],A[3];nemaj A[1],b[2],A[2];nemaj A[0],b[1],A[1];nemaj cin[0],b[0],A[0];opatření b[0] -> ans[0];opatření b[1] -> ans[1];opatření b[2] -> ans[2];opatření b[3] -> ans[3];opatření cout[0] -> ans[4];
Reference
- ^ A b Cross, Andrew W .; Bishop, Lev S .; Smolin, John A .; Gambetta, Jay M. „Otevřený jazyk kvantového shromáždění“. arXiv:1707.03429.
- ^ qiskit-openqasm: Specifikace OpenQASM, International Business Machines, 2017-07-04, vyvoláno 2017-07-06
- ^ "openqasm / adder.qasm ve společnosti master · QISKit / openqasm · GitHub".
externí odkazy
- OpenQASM na GitHub