Limbile de programare cuantică sunt limbaje de programare care permit exprimarea algoritmilor cuantici folosind constructe de nivel înalt. Scopul lor nu este doar de a crea un instrument pentru programatori, ci de a oferi cercetătorilor un mijloc de a facilita înțelegerea modului în care funcționează calculul cuantic .
Limbaje de programare cuantică existente: QPL [1] [2] , QCL [3] [4] , Haskell-like QML [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .
Biblioteci de simulare computerizată cuantică (mașini virtuale cuantice, mașină virtuală cuantică ): en:libquantum , qlib .
IBM a lansat un set de instrumente pentru dezvoltatori numit Qiskit. Iar anul viitor, IBM promite să ofere instrumente care vor facilita programatorilor să creeze software care să includă atât calculul cuantic, cât și elementele de calcul tradiționale într-un singur program. Apoi, începând cu 2023, IBM intenționează să ofere clienților săi biblioteci de algoritmi cuantici pre-construiți pe care programatorii le pot folosi printr-un simplu API bazat pe cloud . Acest lucru va permite ca software-ul de calculator cuantic să fie dezvoltat în limbaje de programare deja cunoscute dezvoltatorilor, fără a fi nevoie să învețe un nou limbaj. IBM a spus că dorește ca programatorii corporativi „să poată explora singuri modele de calcul cuantic, fără a trebui să se gândească la fizica cuantică”. Și până în 2025, conform IBM, va putea oferi instrumente pentru calculul cuantic, folosindu-se programatorii care nu vor mai trebui să se gândească la ce computer cuantic (pentru că unii folosesc supraconductori , alții folosesc fotoni , iar alții sunt construiti pe capcane) .pentru ioni ) codul va rula sau chiar care parte a programului va fi executată pe un sistem cuantic, și nu pe un server tradițional [9] .
QCL, limbajul de calcul cuantic este una dintre primele implementări ale limbajului de programare cuantică. Aproape de limbajul C și de tipurile de date clasice. Vă permite să amestecați codul clasic și cuantic într-un singur fișier sursă.
Tipul de date cuantice de bază este qureg (registru cuantic). Poate fi reprezentat ca o matrice de qubiți (biți cuantici).
qreg x1[2]; // registru cuantic de doi qubiți x1 qregx2[2]; // registru cuantic de doi qubiți x2 H(x1); // Operație Hadamard pe x1 H(x2[1]); // Operație Hadamard pe primul qubit al registrului x2Deoarece interpretul qcl folosește biblioteca de simulare qlib, este posibil să se observe starea internă a unui computer cuantic în timpul execuției:
qcl>dump : STARE: 4 / 32 de qubiți alocați, 28 / 32 de qubiți liberi 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>informatica cuantica | |||||||||
---|---|---|---|---|---|---|---|---|---|
Concepte generale |
| ||||||||
comunicații cuantice |
| ||||||||
Algoritmi cuantici |
| ||||||||
Teoria complexității cuantice |
| ||||||||
Modele de calcul cuantic |
| ||||||||
Prevenirea decoerenței |
| ||||||||
Implementări fizice |
|