A kvantumprogramozási nyelvek olyan programozási nyelvek, amelyek lehetővé teszik kvantum-algoritmusok kifejezését magas szintű konstrukciók segítségével. Nemcsak az a céljuk, hogy egy eszközt hozzanak létre a programozók számára, hanem olyan eszközt is biztosítsanak a kutatóknak, amellyel könnyebben megérthetik a kvantumszámítás működését .
Meglévő kvantumprogramozási nyelvek: QPL [1] [2] , QCL [3] [4] , Haskell-szerű QML [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .
Kvantumszámítógépes szimulációs könyvtárak (kvantum virtuális gépek, Quantum virtuális gépek ): en:libquantum , qlib .
Az IBM kiadott egy Qiskit nevű fejlesztői eszközkészletet. Jövőre pedig az IBM azt ígéri, hogy olyan eszközöket kínál, amelyek megkönnyítik a programozók számára a kvantumszámítási és hagyományos számítási elemeket egy programban egyaránt tartalmazó szoftverek készítését. Ezután 2023-tól az IBM azt tervezi, hogy ügyfelei számára előre elkészített kvantum algoritmusok könyvtárait kínálja, amelyeket a programozók egy egyszerű felhő alapú API - n keresztül használhatnak . Ez lehetővé teszi a kvantumszámítógépes szoftverek fejlesztését a fejlesztők által már ismert programozási nyelveken anélkül, hogy új nyelvet kellene megtanulni. Az IBM azt szeretné elérni, hogy a vállalati programozók "önmagukban is felfedezhessék a kvantumszámítási modelleket anélkül, hogy a kvantumfizikára kellene gondolniuk". Az IBM szerint 2025-re pedig olyan eszközöket tud kínálni a kvantumszámításhoz, amelyek segítségével a programozóknak már nem kell azon gondolkodniuk, hogy melyik kvantumszámítógépen (mert egyesek szupravezetőket használnak , mások fotonokat , mások pedig csapdákra épülnek) ionoknál ) a kód futni fog, vagy akár a program mely része kvantumrendszeren fut le, nem pedig hagyományos szerveren [9] .
A QCL, a kvantumszámítási nyelv a kvantumprogramozási nyelv egyik első implementációja. Közel a C nyelvhez és a klasszikus adattípusokhoz. Lehetővé teszi a klasszikus és a kvantumkód keverését egy forrásfájlban.
Az alap kvantumadattípus a qureg (kvantumregiszter). Ez qubitek ( kvantumbitek ) tömbjeként ábrázolható .
qreg x1[2]; // két qubites kvantumregiszter x1 qregx2[2]; // két qubites kvantumregiszter x2 H(x1); // Hadamard művelet x1-en H(x2[1]); // Hadamard művelet az x2 regiszter első qubitjénMivel a qcl értelmező a qlib szimulációs könyvtárat használja, a végrehajtás során megfigyelhető a kvantumszámítógép belső állapota:
qcl>dump : ÁLLAPOT: 4/32 qubit lefoglalva, 28/32 qubit szabad 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>kvantuminformatika | |||||||||
---|---|---|---|---|---|---|---|---|---|
Általános fogalmak |
| ||||||||
kvantumkommunikáció |
| ||||||||
Kvantum algoritmusok |
| ||||||||
Kvantumkomplexitás elmélet |
| ||||||||
Kvantum számítástechnikai modellek |
| ||||||||
Dekoherencia megelőzés |
| ||||||||
Fizikai megvalósítások |
|