Kvantprogrammeringsspråk är programmeringsspråk som tillåter att uttrycka kvantalgoritmer med konstruktioner på hög nivå. Deras mål är inte bara att skapa ett verktyg för programmerare, utan att tillhandahålla ett sätt för forskare att göra det lättare att förstå hur kvantberäkning fungerar .
Befintliga kvantprogrammeringsspråk: QPL [1] [2] , QCL [3] [4] , Haskell-liknande QML [5] , Quipper [6] , Q# [7] , Q [8] , qGCL [8] , cQPL [8] .
Kvantdatorsimuleringsbibliotek (kvantvirtuella maskiner, virtuell kvantmaskin ): en:libquantum , qlib .
IBM har släppt en utvecklarverktygssats som heter Qiskit. Och nästa år lovar IBM att erbjuda verktyg som kommer att göra det enklare för programmerare att skapa mjukvara som innehåller både kvantberäkningar och traditionella beräkningselement i ett och samma program. Sedan, med start 2023, planerar IBM att erbjuda sina kunder bibliotek med förbyggda kvantalgoritmer som programmerare kan använda genom ett enkelt molnbaserat API . Detta kommer att göra det möjligt för kvantdatorprogramvara att utvecklas på programmeringsspråk som redan är kända för utvecklare utan att behöva lära sig ett nytt språk. IBM sa att de vill att företagsprogrammerare ska "kunna utforska kvantberäkningsmodeller på egen hand utan att behöva tänka på kvantfysik." Och senast 2025, enligt IBM, kommer det att kunna erbjuda verktyg för kvantberäkning, med hjälp av vilka programmerare som inte längre behöver tänka på vilken kvantdator (eftersom vissa använder supraledare , andra använder fotoner , och ytterligare andra är byggda på fällor) .för joner ) kommer koden att köras eller till och med vilken del av programmet som kommer att exekveras på ett kvantsystem, och inte på en traditionell server [9] .
QCL, Quantum computing language är en av de första implementeringarna av kvantprogrammeringsspråket. Nära C-språket och klassiska datatyper. Låter dig blanda klassisk och kvantkod i en källfil.
Baskvantdatatypen är qureg (kvantregister). Det kan representeras som en array av kvantbitar (kvantbitar).
qreg x1[2]; // två-qubit kvantregister x1 qregx2[2]; // två-qubit kvantregister x2 H(xl); // Hadamard operation på x1 H(x2[1]); // Hadamard-operation på den första qubiten i register x2Eftersom qcl-tolken använder qlib-simuleringsbiblioteket är det möjligt att observera det interna tillståndet för en kvantdator under exekvering:
qcl>dump : STATUS: 4 / 32 qubits tilldelade, 28 / 32 qubits gratis 0,35355 |0> + 0,35355 |1> + 0,35355 |2> + 0,35355 |3> + 0,35355 |8> + 0,35355 |9> + 0,35355 |10> + 0,35355 |11>kvantinformatik | |||||||||
---|---|---|---|---|---|---|---|---|---|
Allmänna begrepp |
| ||||||||
kvantkommunikation |
| ||||||||
Kvantalgoritmer |
| ||||||||
Kvantkomplexitetsteori |
| ||||||||
Quantum Computing Models |
| ||||||||
Förebyggande av dekoherens |
| ||||||||
Fysiska implementeringar |
|