Kvanttiohjelmointikielet ovat ohjelmointikieliä , jotka mahdollistavat kvanttialgoritmien ilmaisemisen korkean tason rakenteilla. Heidän tavoitteenaan ei ole vain luoda työkalu ohjelmoijille, vaan tarjota tutkijoille keino helpottaa kvanttilaskennan toiminnan ymmärtämistä .
Olemassa olevat kvanttiohjelmointikielet: QPL [1] [2] , QCL [3] [4] , Haskellin kaltainen QML [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .
Kvanttitietokonesimulaatiokirjastot (kvanttivirtuaalikoneet, Quantum-virtuaalikone ): en:libquantum , qlib .
IBM on julkaissut kehittäjän työkalupakin nimeltä Qiskit. Ja ensi vuonna IBM lupaa tarjota työkaluja, joiden avulla ohjelmoijien on helpompi luoda ohjelmistoja, jotka sisältävät sekä kvanttilaskentaa että perinteisiä laskentaelementtejä yhdessä ohjelmassa. Sitten vuodesta 2023 alkaen IBM aikoo tarjota asiakkailleen valmiiksi rakennettujen kvanttialgoritmien kirjastoja, joita ohjelmoijat voivat käyttää yksinkertaisen pilvipohjaisen API : n kautta . Tämä mahdollistaa kvanttitietokoneohjelmistojen kehittämisen kehittäjien jo tuntemilla ohjelmointikielillä ilman tarvetta opetella uutta kieltä. IBM sanoi, että se haluaa yritysohjelmoijien "voivan tutkia kvanttilaskentamalleja itsenäisesti ilman, että heidän tarvitsee ajatella kvanttifysiikkaa". Ja vuoteen 2025 mennessä IBM:n mukaan se pystyy tarjoamaan kvanttilaskentaan työkaluja, joiden avulla ohjelmoijien ei enää tarvitse miettiä mitä kvanttitietokonetta (koska jotkut käyttävät suprajohtimia , toiset fotoneja ja toiset on rakennettu ansoihin) . ioneille ) koodi suoritetaan tai jopa mikä ohjelman osa suoritetaan kvanttijärjestelmässä, ei perinteisessä palvelimessa [9] .
QCL, Quantum computing Language on yksi ensimmäisistä kvanttiohjelmointikielen toteutuksista. Lähellä C-kieltä ja klassisia tietotyyppejä. Mahdollistaa klassisen ja kvanttikoodin sekoittamisen yhdessä lähdetiedostossa.
Peruskvanttitietotyyppi on qureg (kvanttirekisteri). Se voidaan esittää kubittien (kvanttibittien) joukkona.
qreg x1[2]; // kahden qubitin kvanttirekisteri x1 qregx2[2]; // kahden qubitin kvanttirekisteri x2 H(x1); // Hadamard-operaatio x1:llä H(x2[1]); // Hadamard-operaatio rekisterin x2 ensimmäisellä qubitilläKoska qcl-tulkki käyttää qlib-simulaatiokirjastoa, on mahdollista tarkkailla kvanttitietokoneen sisäistä tilaa suorituksen aikana:
qcl> dump : TILA: 4/32 kvbittiä varattu, 28/32 kubittia vapaana 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>kvanttiinformatiikka | |||||||||
---|---|---|---|---|---|---|---|---|---|
Yleiset käsitteet |
| ||||||||
kvanttiviestintä |
| ||||||||
Kvanttialgoritmit |
| ||||||||
Kvanttikompleksiteoria |
| ||||||||
Kvanttilaskentamallit |
| ||||||||
Epäkoherenssin ehkäisy |
| ||||||||
Fyysiset toteutukset |
|