Mis on kvantprogrammeerimine?

Kvantprogrammeerimine on viis kvantprobleemide ja -algoritmide simuleerimiseks arvutiruumis, kasutades ühte mitmest selle ülesande jaoks loodud programmeerimiskeelest. Kuigi kvantprogrammeerimine tugineb arvutiprogrammeerimisele, on see tehtud pigem teadlase kui programmeerija vaatenurgast. Sel eesmärgil saab kasutada tavalisi programmeerimiskeeli, kuid need ei võta kergesti vastu kvantfüüsika käske, mistõttu võivad need olla sellel eesmärgil kohmakad. Algoritmide simuleerimiseks võib kuluda palju energiat, nii et seda keelt kasutav arvuti peaks olema piisavalt tugev, et simulatsiooni teha ilma kokkujooksmisteta.

Teadlased ja teadlased kasutavad probleemide lahendamiseks ja reaalsete rakenduste jaoks tavaliselt kvantalgoritme, kuid probleemide lahendamine paberil või kalkulaatori abil ei ole sageli nii kaasahaarav kui simulatsioon. Kvantprogrammeerimisega saab kasutaja sisestada algoritmi ja arvuti näitab täpselt, mis juhtub väärtuste kasutamisel reaalses maailmas. See võib aidata katsetel ja füüsikal põhinevate toodete loomisel.

Väliselt võib kvantprogrammeerimine tunduda nagu mis tahes muu arvutiprogrammeerimiskeel, kuid on mõned erinevused, mis täiustavad seda kvantfüüsika jaoks. Näiteks on käsud, mida teistes keeltes tavaliselt ei näe ja mis aitavad kasutajatel kvantalgoritme sisestada. Erinevalt teistest keeltest, mis võivad panna programme tegema või panna arvuti tegema palju erinevaid toiminguid, saab keel moodustada ainult simulatsioone. Mõned programmeerimisel kasutatavad tavalised sildid on muudetud, et need vastaksid paremini kvantfüüsikas kasutatavatele siltidele ja fraasidele.

Enne kvantprogrammeerimist tulid programmeerimiskeeled, mis võisid seda rolli osaliselt täita, kuid oli palju probleeme, mis takistasid nende populaarsust. Esiteks ei olnud keeled kvantalgoritmide jaoks optimeeritud. Teine oluline erinevus on see, et mõõtmised ja väärtused pidid olema arvutimõõtmised, nagu bitid ja pikslid, mis osutusid kohmakaks.

Mõned väikesed ja põhilised kvantalgoritmid nõuavad simuleerimiseks väga vähe energiat, kuid enamik kvantprogrammeerimisega tehtud simulatsioone vajavad rohkem energiat ja toodavad rohkem soojust, kui enamik tavalisi arvuteid talub. See tähendab, et tavaliselt on vaja servereid, et aidata algoritmi töödelda ilma arvuti kokkujooksmist põhjustamata. Arvuti võib vajada ka täiustatud jahutust, et see ei kuumeneks üle, kuigi see on enamasti vajalik inimestele, kes simuleerivad pidevalt väga arenenud algoritme.