Kvantové programování

Kvantové programovací jazyky  jsou programovací jazyky, které umožňují vyjádřit kvantové algoritmy pomocí konstrukcí na vysoké úrovni. Jejich cílem není pouze vytvořit nástroj pro programátory, ale poskytnout výzkumníkům prostředky, které jim usnadní pochopení toho, jak funguje kvantové počítání .

Stávající kvantové programovací jazyky: QPL [1] [2] , QCL [3] [4] , Haskell-like QML [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .

Kvantové počítačové simulační knihovny (kvantové virtuální stroje, Quantum virtual machine ): en:libquantum , qlib .

Zjednodušení vývoje softwaru pro kvantové výpočty

IBM vydala sadu nástrojů pro vývojáře s názvem Qiskit. A příští rok IBM slibuje, že nabídne nástroje, které programátorům usnadní tvorbu softwaru, který v jednom programu zahrnuje jak kvantové výpočty, tak tradiční výpočetní prvky. Poté, počínaje rokem 2023, IBM plánuje nabídnout svým zákazníkům knihovny předem sestavených kvantových algoritmů, které mohou programátoři používat prostřednictvím jednoduchého cloudového API . To umožní vývoj kvantového počítačového softwaru v programovacích jazycích, které vývojáři již znají, aniž by se museli učit nový jazyk. IBM uvedla, že chce, aby firemní programátoři „mohli sami zkoumat kvantové výpočetní modely, aniž by museli přemýšlet o kvantové fyzice“. A do roku 2025 bude podle IBM schopna nabízet nástroje pro kvantové výpočty, pomocí kterých už programátoři nebudou muset přemýšlet o kterém kvantovém počítači (protože některé používají supravodiče , jiné fotony a další jsou postaveny na pastích) pro ionty ) kód poběží nebo dokonce která část programu bude spuštěna na kvantovém systému a ne na tradičním serveru [9] .

Příklad kódu QCL

QCL, Quantum computing language  je jednou z prvních implementací kvantového programovacího jazyka. Blízko jazyku C a klasickým datovým typům. Umožňuje smíchat klasický a kvantový kód v jednom zdrojovém souboru.

Základním kvantovým datovým typem je qureg (kvantový registr). Může být reprezentován jako pole qubitů (kvantových bitů).

qreg x1[2]; // dvouqubitový kvantový registr x1 qregx2[2]; // dvouqubitový kvantový registr x2 H(xl); // Operace Hadamard na x1 H(x2[l]); // Hadamardova operace na prvním qubitu registru x2

Protože interpret qcl používá simulační knihovnu qlib, je možné během provádění sledovat vnitřní stav kvantového počítače:

qcl>skládka  : STÁT: 4 / 32 qubitů přiděleno, 28 / 32 qubitů zdarma 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>

Poznámky

  1. Petr Selinger. Matematické struktury v informatice . - 2004 Cambridge University Press, 2004. - V. 14, no. 4. - S. 527-586.
  2. Petr Selinger. Směrem ke kvantovému programovacímu jazyku . Získáno 16. března 2019. Archivováno z originálu 30. dubna 2016.
  3. Bernhard Omer. Programovací jazyk QCL . Získáno 16. března 2019. Archivováno z originálu dne 8. října 2003.
  4. QCL - Programovací jazyk pro kvantové počítače . tuwien.ac.at . Získáno 20. července 2017. Archivováno z originálu dne 8. října 2003.
  5. QML: Funkční kvantový programovací jazyk . Staženo: 26. září 2007.
  6. Quipper: škálovatelný kvantový programovací jazyk Archivováno 15. ledna 2018 na Wayback Machine /PLDI '13 Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation Pages 333-342
  7. Archivovaná kopie . Staženo 14. ledna 2018. Archivováno z originálu 14. ledna 2018.
  8. ↑ 1 2 3 Kvantový programovací jazyk . Quantiki (6. prosince 2015). Staženo 14. ledna 2018. Archivováno z originálu 22. července 2018.
  9. IBM představila plán na zjednodušení vývoje softwaru pro kvantové výpočty  (ruština)  ? . ServerNews.ru (8. února 2021). Získáno 11. ledna 2022. Archivováno z originálu dne 22. ledna 2022.

Odkazy