Kvanttiohjelmointi

Kvanttiohjelmointi on kvanttitietokoneelle tarkoitettuja korkean tason ohjelmointikieliä, jotka käyttävät kvanttialgoritmeja. Ohjelmointikielten suurin ero on niiden kyky käyttää kubitteja laskennassa.
Ohjelmointikielet ovat tällä hetkellä tutkimus- ja kehitysvaiheessa. Kvanttitietokoneita on toistaiseksi saatavilla lähinnä laboratoriossa ja kaupallisesti vain D-wave yritys valmistaa niitä ja hinta on tavallisen ohjelmoijan saavuttamattomissa.
Tämän takia ohjelmia simuloidaan lähinnä binääritietokoneilla. Tämän lähentymistavan heikkous on se, että monien kvanttialgoritmien vaikeus kasvaa eksponentiaalisesti laskettaessa binääritietokoneilla, joten simulaatioilla ei voida kokeilla kvanttialgoritmien kaikkia ominaisuuksia.
Kvanttiohjelmointikielet voidaan jaotella kahteen osioon, imperatiivisiin kvanttiohjelmointikieliin ja funktionaalisiin ohjelmointikieliin. Esimerkkeinä ensimmäisestä ovat esimerkkinä ohjelmointikielet QCL[1] ja LanQ[2]. Toisesta taas QPL[3] ja QML[4].
Kvanttitietokoneiden ohjelmoinnissa on varauduttava niiden rajoitteisiin kuten epävakauteen ja virhealttiuteen.[5] Tietokoneissa käytettävät kvanttialgoritmit soveltavat lineaarialgebraa ja todennäköisyyslaskentaa.[5]
Lähteet[muokkaa | muokkaa wikitekstiä]
- ↑ Omer, Bernhard: The QCL Programming Language ac.at. Viitattu 20.10.2015. (englanniksi)
- ↑ Mlnařík, Hynek: LanQ – a quantum imperative programming language ac.uk. Viitattu 20.10.2015. (englanniksi)
- ↑ Selinger, Peter: Towards a quantum programming language, Mathematical Structures in Computer Science 14(4):527-586, 2004. dal.ca. Viitattu 20.10.2015. (englanniksi)
- ↑ 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)
- ↑ 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[muokkaa | muokkaa wikitekstiä]
Oppikirjoja (englanninkielistä)[muokkaa | muokkaa wikitekstiä]
- Hidary, Jack D.: Quantum Computing: An Applied Approach. 2. painos. Springer, 2021. ISBN 978-3-030-83273-5 ja ISBN 9783030239220 (E-kirja). Finna.fi-tietokanta. doi:10.1007/978-3-030-83274-2. (englanniksi)
- Serrano, Manuel A.; Pérez-Castillo, Ricardo ja Piattini, Mario (toim.): Quantum Software Engineering. Springer Cham, 2022. ISBN 978-3-031-05326-9 (pehmeäkantinen), ISBN 978-3-031-05323-8 (kovakantinen) ja ISBN 978-3-031-05324-5 (E-kirja). doi:10.1007/978-3-031-05324-5. (englanniksi)
- Johnston, Eric R.; Harrigan Nic ja Gimeno-Segovia, Mercedes: Programming Quantum Computers: Essential Algorithms and Code Samples. 1. painos. Sebastopol, Kalifornia: O'Reilly Media, 2019. ISBN 978-1-492-03968-6. Finna.fi-tietokanta. (englanniksi)
- Ganguly, Srinjoy & Cambier, Thomas: Quantum Computing with Silq Programming: Get up and running with quantum computing with the simplicity of this new high-level programming language. 1. painos. Packt Publishing, 2021. ISBN 978-1-80056-966-9. Finna.fi-tietokanta. (englanniksi)
- Mingsheng, Ying: Foundations of quantum programming. Morgan Kaufmann; Elsevier, 2016. ISBN 978-0-12-802306-8. doi:10.1016/C2014-0-02660-3. (englanniksi)
- Kurgalinm, Sergei & Borzunov, Sergei: Concise Guide to Quantum Computing: Algorithms, Exercises, and Implementations. Springer Cham, 2021. ISSN: 1868-0941 & E-ISSN: 1868-095X. ISBN 978-3-030-65054-4 (pehmeäkantinen) & ISBN 978-3-030-65052-0 (E-kirja). Finna.fi-tietokanta. doi:10.1007/978-3-030-65052-0. (englanniksi)
- Bolívar, Nelson (toim.): Handbook of Quantum Computation. Arcler Press, 2018. ISBN 978-1-77361-101-3. Finna.fi-tietokanta. (englanniksi)
- Weaver, James & Harkins, Francis: Qiskit Pocket Guide: Quantum Development with Qiskit. 1. painos. O'Reilly Media, 2022. ISBN 9781098112479. (englanniksi)
- Loredo, Robert: Learn Quantum Computing with Python and IBM Quantum: Write your own practical quantum programs with Python. 2. painos. Packt Publishing, 2024. ISBN 9781803244808. (englanniksi)
- Marturano, Pierpaolo: Quantum Computing: A Developer's Guide. De Gruyter, 2024. ISBN 978-3-11-063675-8. (englanniksi)
Tutkimusta & raportteja[muokkaa | muokkaa wikitekstiä]
- 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).
Yleiset |
Kvanttitietokone • Kubitti • Kvantti-informaatio • Kvanttiohjelmointi • Kvanttietokoneiden aikajana |
---|---|
Kvanttiviestintä |
Kvanttisalaus • Kvanttiteleportaatio • Supertiheä koodi • Kvanttivahvistinasema |
Kvanttialgoritmit |
Shorin algoritmi • Kvanttifourier’n muunnos • Groverin algoritmi • Deutsch–Jozsa-algoritmi • Simonin ongelma |
Kvanttilaskennan monimutkaisuusteoria | |
Kvanttitietokoneen komponentit |
Kvanttipiiri (Kvanttiportti) • Topologinen kvanttitietokone • Adiabaattinen kvanttitietokone |
Dekoherenssin ennaltaehkäisy | |
Fyysiset toteutustavat |