Ero sivun ”Kvanttiohjelmointi” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[katsottu versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
→‎Kvanttiohjelmoinnista: lisätty luetteloon yksi kirja.
Merkkaus:  2017 source edit 
Korjattu väite siitä että kvanttitietokoneita voisi ohjelmoida pilvipalveluiden avulla. PIlvipalvelulla voi simuloida kvanttilaskentaa, mutta niissä laskentaa suorittamassa ei ole kvanttitietokone.
Merkkaukset: Tämä muokkaus on kumottu Visuaalinen muokkaus
Rivi 3: Rivi 3:
'''Kvanttiohjelmointi''' on prosessi, jossa suunnitellaan tai kootaan käskysarjoja, joita kutsutaan [[Kvanttipiiri|kvanttipiireiksi]]. Prosessissa käytetään [[Kvanttiportti|portteja]], kytkimiä ja [[Operaattori (matematiikka)|operaattoreita]], joiden avulla manipuloidaan fysikaalista kvanttisysteemiä halutun lopputuloksen tai tietyn kokeen tulosten saavuttamiseksi.
'''Kvanttiohjelmointi''' on prosessi, jossa suunnitellaan tai kootaan käskysarjoja, joita kutsutaan [[Kvanttipiiri|kvanttipiireiksi]]. Prosessissa käytetään [[Kvanttiportti|portteja]], kytkimiä ja [[Operaattori (matematiikka)|operaattoreita]], joiden avulla manipuloidaan fysikaalista kvanttisysteemiä halutun lopputuloksen tai tietyn kokeen tulosten saavuttamiseksi.


[[Kvanttitietokone|Kvanttitietokoneita]] käytetään enimmäkseen erilaisten [[:en:Cloud-based quantum computing|pilvipalveluiden]] kautta<ref name="meh"/>. Tämänkaltaisia pilvipalveluihin kytkettyjä kvanttitietokoneita tarjoaa mm. IBM:n [[:en:Qiskit|Qiskit]]-ohjelmointiympäristö, jossa käytetään pääosin [[Python (ohjelmointikieli)|Python]]-ohjelmointikieltä. Samankaltaisia palveluita myydään mm. Microsoftin [[Microsoft Azure|Azure]]-pilvipalvelussa, jossa voi käyttää [[:en:Q_Sharp|Q#]]-ohjelmointikieltä<ref name="meh"/>. Muita kilpailevia palveluita ovat mm. Amazonin Braket ja Googlen [[:en:Cirq|Cirq]]<ref name="meh">{{Kirjaviite|Tekijä=Mehta, Nihal|Nimeke=Quantum Computing: Program Next-Gen Computers for Hard, Real-World Applications|Vuosi=2020|Sivut=6, 10, 384 ja 354|Julkaisija=Pragmatic Bookshelf|Isbn=978-1-68050-720-1 (nidottu) & {{ISBN|978-1-68050-810-9}} (E-kirja)|Kieli={{en}}|www=https://pragprog.com/titles/nmquantum/quantum-computing/|www-teksti=Kustantajan verkkosivut}}</ref>.
[[Kvanttitietokone|Kvanttitietokoneita]] voidaan simuloida erilaisten [[:en:Cloud-based quantum computing|pilvipalveluiden]] kautta<ref name="meh"/>. Tämänkaltaisia kvanttilaskentaa simuloivia pilvipalveluita tarjoaa mm. IBM:n [[:en:Qiskit|Qiskit]]-ohjelmointiympäristö, jossa käytetään pääosin [[Python (ohjelmointikieli)|Python]]-ohjelmointikieltä. Samankaltaisia palveluita myydään mm. Microsoftin [[Microsoft Azure|Azure]]-pilvipalvelussa, jossa voi käyttää [[:en:Q_Sharp|Q#]]-ohjelmointikieltä<ref name="meh"/>. Muita kilpailevia palveluita ovat mm. Amazonin Braket ja Googlen [[:en:Cirq|Cirq]]<ref name="meh">{{Kirjaviite|Tekijä=Mehta, Nihal|Nimeke=Quantum Computing: Program Next-Gen Computers for Hard, Real-World Applications|Vuosi=2020|Sivut=6, 10, 384 ja 354|Julkaisija=Pragmatic Bookshelf|Isbn=978-1-68050-720-1 (nidottu) & {{ISBN|978-1-68050-810-9}} (E-kirja)|Kieli={{en}}|www=https://pragprog.com/titles/nmquantum/quantum-computing/|www-teksti=Kustantajan verkkosivut}}</ref>.


Yksi vaihtoehto on [[simulointi|simuloida]] ohjelmia binääritietokoneilla. Tämän [[Universaali kvanttisimulaattori|kvanttisimulaattoriksi]] kutsutun lähestymistavan heikkous on se, että simuloitujen [[Kubitti|kubittimäärien]] kasvaessa ohjelman simulointiin vaadittava aika kasvaa [[Eksponentiaalinen kasvu|eksponentiaalisesti]] klassisilla tietokoneilla.
Yksi vaihtoehto on [[simulointi|simuloida]] ohjelmia binääritietokoneilla. Tämän [[Universaali kvanttisimulaattori|kvanttisimulaattoriksi]] kutsutun lähestymistavan heikkous on se, että simuloitujen [[Kubitti|kubittimäärien]] kasvaessa ohjelman simulointiin vaadittava aika kasvaa [[Eksponentiaalinen kasvu|eksponentiaalisesti]] klassisilla tietokoneilla.

Versio 20. toukokuuta 2024 kello 14.25

IQM-yrityksen kvanttitietokone Espoossa.

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 voidaan simuloida erilaisten pilvipalveluiden kautta[1]. Tämänkaltaisia kvanttilaskentaa simuloivia pilvipalveluita 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ä[1]. Muita kilpailevia palveluita ovat mm. Amazonin Braket ja Googlen Cirq[1].

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[2] ja LanQ[3], toisesta taas QPL[4] ja QML[5].

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

Lähteet

  1. a b c Mehta, Nihal: Quantum Computing: Program Next-Gen Computers for Hard, Real-World Applications, s. 6, 10, 384 ja 354. Pragmatic Bookshelf, 2020. ISBN 978-1-68050-720-1 (nidottu) &  ISBN 978-1-68050-810-9 (E-kirja). Kustantajan verkkosivut. (englanniksi)
  2. Omer, Bernhard: The QCL Programming Language ac.at. Viitattu 20.10.2015. (englanniksi)
  3. Mlnařík, Hynek: LanQ – a quantum imperative programming language ac.uk. Viitattu 20.10.2015. (englanniksi)
  4. Selinger, Peter: Towards a quantum programming language, Mathematical Structures in Computer Science 14(4):527-586, 2004. dal.ca. Viitattu 20.10.2015. (englanniksi)
  5. Altenkirch, T., Belavkin, J., Grattage, J., Green, A., Sabry, A. ja Vizzotto, J. K.: QML: A Functional Quantum Programming Language ac.uk. Arkistoitu 10.7.2006. Viitattu 20.10.2015. (englanniksi)
  6. a b 'Quantum computer algorithms are linear algebra, probabilities. This is not something that we do a good job of teaching our kids' theregister.com. 1.10.2021. Viitattu 7.10.2021. (englanniksi)

Kirjallisuutta

Oppikirjoja (englanninkielistä)

Kvanttiohjelmistotuotanto

Kvanttiohjelmoinnista

Tutkimusta & raportteja

  • Metsäpuro, Heikki: Kvanttiohjelmointi ja opetus: Kvanttiohjelmointi: opetus: opetustarjonta ja ohjelmoija. Tampereen yliopisto, 2023. Kandidaatin tutkielma (PDF).
  • Haranko, Karri et al.: Kvanttitietokoneiden ohjelmointi ja käyttö. Kandidaatin tutkielma. Aalto-yliopisto, 2016. Finna.fi-tietokanta.
  • Liimatainen, Janne: Kvanttikoneohjelmointi. Jyväskylän yliopisto, 2016. Kandidaatin tutkielma (PDF).
  • Talvivaara, Jarmo & Hatakka, Olli: Lisäarvoa tuottavien kvanttilaskentapalveluiden kartoitus ja esimerkkejä eri toimialueilla. Tutkimusraportti. Karelia-ammattikorkeakoulu, 2023. Finna.fi-tietokanta (PDF).
  • Heinonen, Henri: Katsaus kvanttilaskentateknologiaan ja sen sovelluksiin. Tutkimusraportti. Jyväskylän yliopisto, 2021. ISBN 978-951-39-8533-2 (painettu kirja) &  ISBN 978-951-39-8534-9 (E-kirja). Raportin verkkoversio (PDF).
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.