OpenQASM (англ. Open Quantum Assembly Language - мова квантового асемблера з відкритим кодом, вимовляється open kazm) - це [en] для інструкцій квантового комп'ютера. Мова вперше була описана у статті, опублікованій у липні 2017 року, а зразкова реалізація вихідного коду була випущена як частина набору програмного забезпечення Quantum Information Software (Qiskit) для використання з хмарною платформою квантових обчислень IBM Q Experience. Мова має якості, подібні до традиційних мов опису апаратного забезпечення, таких як Verilog.
OpenQASM | |
---|---|
Розробник | d |
Останній реліз | 3.0 (5 листопада 2020)[1] |
Ліцензія | d[2] |
Репозиторій вихідного коду | github.com/QISKit/openqasm |
Вебсайт | openqasm.com |
OpenQASM визначає свою версію на початку вихідного файлу як дійсне число, як у декларації:
OPENQASM 2.0;
Версія оригінальних опублікованих реалізацій OpenQASM (наприклад, Qiskit, інфра) - це OpenQASM 3.0.
Приклади
Далі подано приклад вихідного коду OpenQASM з офіційної бібліотеки. Програма додає два чотирирозрядних числа.
// 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];
Примітки
- Release 3.0 — 2020.
- https://api.github.com/repos/QISKit/openqasm
- Cross, Andrew W.; Bishop, Lev S.; Smolin, John A.; Gambetta, Jay M. Open Quantum Assembly Language. arXiv:1707.03429.
- , International Business Machines, 4 липня 2017, архів оригіналу за 2 квітня 2017, процитовано 6 липня 2017
- openqasm/adder.qasm at master · QISKit/openqasm · GitHub.
Джерела
- OpenQASM [ 6 грудня 2019 у Wayback Machine.] on GitHub
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
OpenQASM angl Open Quantum Assembly Language mova kvantovogo asemblera z vidkritim kodom vimovlyayetsya open kazm ce en dlya instrukcij kvantovogo komp yutera Mova vpershe bula opisana u statti opublikovanij u lipni 2017 roku a zrazkova realizaciya vihidnogo kodu bula vipushena yak chastina naboru programnogo zabezpechennya Quantum Information Software Qiskit dlya vikoristannya z hmarnoyu platformoyu kvantovih obchislen IBM Q Experience Mova maye yakosti podibni do tradicijnih mov opisu aparatnogo zabezpechennya takih yak Verilog OpenQASMRozrobnikdOstannij reliz3 0 5 listopada 2020 1 Licenziyad 2 Repozitorij vihidnogo kodugithub com QISKit openqasmVebsajtopenqasm com OpenQASM viznachaye svoyu versiyu na pochatku vihidnogo fajlu yak dijsne chislo yak u deklaraciyi OPENQASM 2 0 Versiya originalnih opublikovanih realizacij OpenQASM napriklad Qiskit infra ce OpenQASM 3 0 PrikladiDali podano priklad vihidnogo kodu OpenQASM z oficijnoyi biblioteki Programa dodaye dva chotirirozryadnih chisla 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 gt ans 0 measure b 1 gt ans 1 measure b 2 gt ans 2 measure b 3 gt ans 3 measure cout 0 gt ans 4 PrimitkiRelease 3 0 2020 https api github com repos QISKit openqasm Cross Andrew W Bishop Lev S Smolin John A Gambetta Jay M Open Quantum Assembly Language arXiv 1707 03429 International Business Machines 4 lipnya 2017 arhiv originalu za 2 kvitnya 2017 procitovano 6 lipnya 2017 openqasm adder qasm at master QISKit openqasm GitHub DzherelaOpenQASM 6 grudnya 2019 u Wayback Machine on GitHub