Qiskit - Qiskit
![]() | |
![]() | |
Vývojáři | IBM Research Komunita Qiskit |
---|---|
První vydání | 7. března 2017[1] | .
Stabilní uvolnění | 0.22.0 / 6. října 2020[2] |
Úložiště | ![]() |
Napsáno | Krajta, Rychlý, JavaScript |
Operační systém | Cross-platform |
Typ | Kvantové výpočty |
Licence | Licence Apache 2.0[3] |
webová stránka | qiskit |
Qiskit je open-source rámec pro kvantové výpočty. Poskytuje nástroje pro vytváření a manipulaci kvantové programy a provozovat je na prototypových kvantových zařízeních IBM Q Experience nebo na simulátorech na místním počítači. Z toho vyplývá obvodový model pro univerzální kvantový výpočet, a lze jej použít pro všechny kvantový hardware (v současné době podporuje supravodivé qubity a uvězněné ionty[4]), který následuje tento model.
Qiskit založil IBM Research umožnit vývoj softwaru pro jejich cloudové kvantové výpočty servis, IBM Q Experience.[5][6] Příspěvky také poskytují externí podporovatelé, obvykle z akademických institucí.[7]
Primární verze Qiskit používá Krajta programovací jazyk. Verze pro Rychlý[8] a JavaScript [9] byly původně prozkoumány, i když vývoj těchto verzí se zastavil.
Řada Notebooky Jupyter jsou poskytnuty s příklady používaných kvantových výpočtů.[10] Mezi příklady patří zdrojový kód vědeckých studií, které používají Qiskit,[11] a také soubor cvičení, která mají lidem pomoci naučit se základy kvantového programování. Učebnice open source založená na Qiskit je k dispozici jako univerzitní kvantové algoritmy nebo jako doplněk kurzu kvantových výpočtů.[12]
Součásti
Qiskit poskytuje schopnost vyvíjet kvantový software jak na internetu strojový kód úroveň něčeho OpenQASM a na abstraktních úrovních vhodných pro koncové uživatele bez znalosti kvantové výpočetní techniky. Tuto funkčnost poskytují následující odlišné komponenty.[13]
Terra
Qiskit Terra poskytuje nástroje k vytváření kvantové obvody na nebo blízko úrovně kvantové strojový kód.[14] Umožňuje procesy, které běží na kvantovém hardwaru, explicitně zkonstruovat kvantové brány. Poskytuje také nástroje umožňující optimalizaci kvantových obvodů pro konkrétní zařízení a také správu dávek úloh a jejich spouštění na kvantových zařízeních a simulátorech se vzdáleným přístupem.
Následující příklad ukazuje jednoduchý příklad Qiskit Terra. V tomto je vytvořen kvantový obvod pro dva qubits, který se skládá z kvantové brány nutné k vytvoření a Stav Bell. Kvantový obvod pak končí kvantová měření, které extrahují a bit z každého qubitu.
z qiskit import QuantumCircuit, Aer, vykonatqc = QuantumCircuit(2, 2)qc.h(0)qc.cx(0, 1)qc.opatření([0,1], [0,1])
Jakmile je vytvořen kvantový obvod, může být spuštěn na backendu (buď kvantový hardware nebo simulátor). V následujícím příkladu se používá místní simulátor.
backend = Aer.get_backend(„qasm_simulator“)job_sim = vykonat(qc, backend)sim_result = job_sim.výsledek()tisk(sim_result.get_counts(qc))
Konečné tiskové prohlášení zde zobrazí výsledky vrácené back-endem. Toto je slovník v Pythonu, který popisuje bitové řetězce získané z více běhů kvantového obvodu. V kvantovém obvodu použitém v tomto příkladu jsou bitové řetězce '00'
a '11'
by měly být jedinými možnými výsledky a měly by se vyskytovat se stejnou pravděpodobností. Úplné výsledky proto obvykle mají vzorky rozdělené přibližně rovnoměrně mezi tyto dva, například {'00':519, '11':505}
.
Experimenty prováděné na kvantovém hardwaru pomocí Qiskit Terra byly použity v mnoha výzkumných dokumentech,[15] například v testech kvantové korekce chyb[16],[17] generace zapletení[18] a simulace dynamiky daleko od rovnováhy[19].
Aqua
Qiskit Aqua poskytuje nástroje, které lze použít bez výslovného kvantového programování požadovaného samotným uživatelem.[20] V současné době podporuje aplikace v chemie, AI, optimalizace a finance. Uživatelé mohou poskytovat problémy a přijímat výsledky definované pomocí standardních nástrojů v těchto doménách, například PySCF pro chemii. Qiskit Aqua poté implementuje odpovídající kvantový algoritmus.
Aer
V blízké budoucnosti bude vývoj kvantového softwaru do značné míry záviset na simulaci malých kvantových zařízení. Pro Qiskit to poskytuje komponenta Aer. To poskytuje simulátory hostované místně na zařízení uživatele a také HPC zdroje dostupné prostřednictvím cloudu.[21] Simulátory mohou také simulovat účinky šumu pro jednoduché a sofistikované hlukové modely.[22]
Ignis
Ignis je komponenta, která obsahuje nástroje pro charakterizaci šumu v krátkodobých zařízeních a také umožňuje provádět výpočty za přítomnosti šumu. To zahrnuje nástroje pro srovnávání krátkodobých zařízení, zmírňování chyb a opravy chyb.[23]
Viz také
Reference
- ^ Jay M. Gambetta; Andrew Cross (27. března 2018). „Ohlédnutí se za rokem Qiskit“. Střední. Citováno 24. září 2019.
- ^ „Vydání - Qiskit“.
- ^ Licence
- ^ „Qiskit - psát jednou, cílit na více architektur“. IBM Research Blog. 2019-11-05. Citováno 2019-12-20.
- ^ Magee, Tamlim (24. srpna 2018). „Co je Qiskit, otevřený zdrojový rámec kvantové výpočetní techniky IBM“. Computerworld UK. Citováno 11. prosince 2018.
- ^ Hemsoth, Nicole (7. srpna 2018). „Klíč k vývoji QISKit pro IBM Quantum Engagement“. Další platforma. Citováno 11. prosince 2018.
- ^ „Stránka Qiskit Github“.
- ^ „Qiskit rychle“. GitHub. Citováno 24. září 2019.
- ^ „Qiskit (Quantum Information Science Kit) pro JavaScript“. GitHub. Citováno 24. září 2019.
- ^ „Sbírka notebooků Jupyter, která ukazuje, jak používat Qiskit synchronizovaný s IBM Q Experience“. GitHub. Citováno 24. září 2019.
- ^ „Oslava komunity IBM Q Experience a jejich výzkumu“. IBM. Redakční tým výzkumu IBM. 8. března 2018. Citováno 24. září 2019.
- ^ „Learn Quantum Computing using Qiskit“. Citováno 20. prosince 2019.
- ^ Javadi-Abhari, Ali; Gambetta, Jay M. (13. července 2018). „Qiskit a jeho základní prvky“. Střední. Citováno 10. ledna 2019.
- ^ „Qiskit Terra“. Qiskit. Archivovány od originál 10. října 2019. Citováno 24. září 2019.
- ^ „Dokumenty Společenství“. IBM Q Experience.
- ^ Wootton, James R .; Loss, Daniel (2018). Msgstr "Opakovací kód 15 qubitů". Fyzický přehled A. 97 (5). arXiv:1709.00990. doi:10.1103 / PhysRevA.97.052313. ISSN 2469-9926.
- ^ Roffe, Joschka; Headley, David; Kancléř, Nicholas; Jezdec, Dominic; Kendon, Viv (2018). "Ochrana kvantových pamětí pomocí koherentních kódů kontroly parity". Kvantová věda a technologie. 3 (3): 035010. arXiv:1709.01866. doi:10.1088 / 2058-9565 / aac64e. ISSN 2058-9565.
- ^ Wang, Yuanhao; Li, Ying; Yin, Zhang-qi; Zeng, Bei (2018). „16bitový univerzální kvantový počítač IBM lze plně zaplést“. npj Kvantové informace. 4 (1). doi:10.1038 / s41534-018-0095-x. ISSN 2056-6387.
- ^ Zhukov, A. A .; Remizov, S. V .; Pogosov, W. V .; Lozovik, Yu. E. (2018). "Algoritmická simulace dynamiky daleko od rovnováhy pomocí kvantového počítače". Zpracování kvantových informací. 17 (9). arXiv:1807.10149. doi:10.1007 / s11128-018-2002-r. ISSN 1570-0755.
- ^ „Web Qiskit Aqua“. Archivovány od originál dne 10. 10. 2019. Citováno 2018-11-05.
- ^ „Otevřený vysoce výkonný simulátor pro kvantové obvody“. IBM. Redakční tým výzkumu IBM. 1. května 2018. Citováno 24. září 2019.
- ^ Wood, Christopher J. (19. prosince 2018). „Představujeme Qiskit Aer: Vysoce výkonný rámec simulátoru pro kvantové obvody“. Střední. Citováno 24. září 2019.
- ^ „Ignis poskytuje nástroje pro kvantové ověření hardwaru, charakterizaci šumu a opravu chyb“. GitHub. Citováno 24. září 2019.