Kvanttiohjelmointi

Kvanttiohjelmointi on prosessi, jossa suunnitellaan tai kootaan käskysarjoja, joita kutsutaan kvanttipiireiksi. Prosessissa käytetään portteja, kytkimiä ja operaattoreita, joiden avulla manipuloidaan fysikaalista kvanttisysteemiä halutun lopputuloksen tai tietyn kokeen tulosten saavuttamiseksi.

Kvanttitietokoneita käytetään enimmäkseen erilaisten pilvipalveluiden kautta. Tämänkaltaisia pilvipalveluihin kytkettyjä kvanttitietokoneita tarjoaa mm. IBM:n Qiskit-ohjelmointiympäristö, jossa käytetään pääosin Python-ohjelmointikieltä. Samankaltaisia palveluita myydään mm. Microsoftin Azure-pilvipalvelussa, jossa voi käyttää Q#-ohjelmointikieltä. Muita kilpailevia palveluita ovat mm. Amazonin Braket ja Googlen Cirq. 

Yksi vaihtoehto on simuloida ohjelmia binääritietokoneilla. Tämän kvanttisimulaattoriksi kutsutun lähestymistavan heikkous on se, että simuloitujen kubittimäärien kasvaessa ohjelman simulointiin vaadittava aika kasvaa eksponentiaalisesti klassisilla tietokoneilla.

Kvanttiohjelmointikielet voidaan jaotella kahteen osioon, imperatiivisiin ohjelmointikieliin ja funktionaalisiin ohjelmointikieliin. Esimerkkeinä ensimmäisestä ovat ohjelmointikielet QCL ja LanQ, toisesta taas QPL ja QML.

Kvanttitietokoneiden ohjelmoinnissa on varauduttava niiden rajoitteisiin, kuten epävakauteen ja virhealttiuteen. Tietokoneissa käytettävät kvanttialgoritmit soveltavat lineaarialgebraa ja todennäköisyyslaskentaa.

 Lähteet 

 Kirjallisuutta  
Oppikirjoja (englanniksi)  
 Kvanttiohjelmistotuotanto 




 Kvanttiohjelmoinnista 










Tutkimusta & raportteja 







Luokka:Kvantti-informaatiotiede
Ohjelmointi