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[1]. 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ä[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
[muokkaa | muokkaa wikitekstiä]- ↑ 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-810-9 (E-kirja) ISBN 978-1-68050-720-1 Kustantajan verkkosivut. (englanniksi)
- ↑ 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 (englanniksi)
[muokkaa | muokkaa wikitekstiä]Kvanttiohjelmistotuotanto
[muokkaa | muokkaa wikitekstiä]- Mingsheng, Ying: Foundations of Quantum Programming. (Toinen, uudistettu laitos) Morgan Kaufmann; Elsevier, 2024. ISBN 978-0-443-15943-5 (E-kirja) ISBN 978-0-443-15942-8 Finna.fi-tietokanta. (englanniksi)
- Serrano, Manuel A. & Pérez-Castillo, Ricardo & Piattini, Mario (toim.): Quantum Software Engineering. Springer Cham, 2022. ISBN 978-3-031-05323-8 (kovakantinen), ISBN 978-3-031-05324-5 (E-kirja) doi:10.1007/978-3-031-05324-5 ISBN 978-3-031-05326-9 Finna.fi-tietokanta. (englanniksi)
- Exman, Iaakov — Pérez-Castillo, Ricardo — Piattini, Mario — Felderer, Michael (toim.): Quantum Software: Aspects of Theory and System Design. (Open Access) Springer Cham, 2024. ISBN 978-3-031-64136-7 (E-kirja), ISBN 978-3-031-64138-1 (nidottu) doi:10.1007/978-3-031-64136-7 ISBN 978-3-031-64135-0 Teoksen verkkoversio (PDF). (englanniksi)
Kvanttiohjelmoinnista
[muokkaa | muokkaa wikitekstiä]- Hidary, Jack D.: Quantum Computing: An Applied Approach. (2. painos) Springer, 2021. ISBN 9783030239220 (E-kirja) doi:10.1007/978-3-030-83274-2 ISBN 978-3-030-83273-5 Finna.fi-tietokanta. (englanniksi)
- Johnston, Eric R. & Harrigan, Nic & Gimeno-Segovia, Mercedes: Programming Quantum Computers: Essential Algorithms and Code Samples. (1. painos) Sebastopol, Kalifornia: O'Reilly Media, 2019. ISBN 978-1-4920-3965-5 (E-kirja) ISBN 978-1-492-03968-6 Finna.fi-tietokanta. (englanniksi)
- Sharkey, Keeper & Chancé, Alain: Quantum Chemistry and Computing for the Curious: Illustrated with Python and Qiskit® code. Packt, 2022. ISBN 978-1-80324-390-0 Finna.fi-tietokanta. (englanniksi)
- Hundt, Robert: Quantum Computing for Programmers. (Toinen, uudistettu painos) Cambridge: Cambridge University Press, 2022. ISBN 978-1-009-10320-6 (E-kirja) doi:10.1017/9781009099974 ISBN 978-1-009-09817-5 Kustantajan verkkosivut. (englanniksi)
- Mehta, Nihal: Quantum Computing: Program Next-Gen Computers for Hard, Real-World Applications. Pragmatic Bookshelf, 2020. ISBN 978-1-68050-810-9 (E-kirja) ISBN 978-1-68050-720-1 Kustantajan verkkosivut. (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)
- Kurgalin, 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-65052-0 (E-kirja) doi:10.1007/978-3-030-65052-0 ISBN 978-3-030-65054-4 Finna.fi-tietokanta. (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 Finna.fi-tietokanta. (englanniksi)
- Loredo, Robert: Learn Quantum Computing with Python and IBM Quantum: Write your own practical quantum programs with Python. (2., uudistettu 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-8534-9 (E-kirja) ISBN 978-951-39-8533-2 Raportin verkkoversio (PDF).
Yleiset | |||||||||
---|---|---|---|---|---|---|---|---|---|
Kvanttiviestintä | |||||||||
Kvanttialgoritmit | |||||||||
Kvanttilaskennan monimutkaisuusteoria | |||||||||
Kvanttilaskennan mallit | |||||||||
Kvanttisuorittimien suorituskykyindikaattorit | |||||||||
Dekoherenssin ennaltaehkäisy | |||||||||
Fyysiset toteutustavat |
|