Přestože jsou kvantové počítače stále v začátcích, komunita kolem nich je veliká a otevřená. Nabízí nejenom kurzy a vývojové nástroje, ale také simulátory kvantových počítačů a dokonce možnost vzdáleně se připojit ke skutečnému kvantovému počítači a spustit na něm program.
Nároky na studium programování kvantových počítačů jsou podstatně vyšší než u těch klasických: U klasických je možné začít doslova u předškoláků, zatímco tady je potřeba zvládnout základní matematiku a také alespoň základy kvantové fyziky. Z matematiky je třeba znát přinejmenším pravděpodobnost, komplexní čísla a lineární algebru (počítání s vektory a maticemi), hodí se matematický aparát pro kvantovou fyziku. Podmínkou je také angličtina, protože většina dokumentace a materiálů je publikována právě anglicky.
Kvantovými počítači se zabývá i fyzik Artur Ekert, který působí na Oxfordu a přednáší tam o kvantových počítačích. Na YouTube má kanál Artur Ekert, kde se věnuje přednáškám o principech kvantových počítačů a algoritmů, a to hlavně na teoretické úrovni – tedy vykládá principy bez ohledu na fyzickou implementaci kvantových počítačů.
Ekert říká, že „informace je fyzická, její zpracování odpovídá fyzikálním zákonům - a tedy každý, kdo se zabývá počítačovou vědou, je vlastně fyzik, i když to obvykle nerad slyší“. Zvláště u kvantových počítačů se k fyzice musí přihlížet více, než je u klasických počítačů běžné, takže znalost kvantové fyziky je značnou výhodou. Tady je potřeba pochopit základy, protože kvantové algoritmy se navrhují specificky tak, aby využívaly výpočetní výhody, které nabízí kvantová fyzika. Problém s kvantovými algoritmy je v tom, že kvantové jevy nejsou intuitivní. Kvantová fyzika přitom stanovuje pravidla, která ovlivňují matematický aparát, ze kterého se potom budují kvantové algoritmy.
Pokud vás zajímá obecnější přehled a jasné a jednoduché vysvětlování „o co tu vlastně jde“, představuje výborný zdroj Anastasia Marchenkova, která se zabývá vývojem kvantových procesorů u firmy Bleximo.
Protože kvantové počítače nejsou běžně dostupné, je vhodné při studiu používat kvantový simulátor, tedy program, který na klasickém počítači simuluje chování kvantového počítače. Protože jsou kvantové počítače obecně silnější než ty klasické, není simulace jejich vhodnou náhradou, ale pro výuku a vývoj kvantových algoritmů je vyhovující.
Řada simulátorů i kurzů kvantových počítačů je zdarma, protože jde stále o poněkud okrajový obor, který se teprve snaží prosadit. Tvůrci kvantových počítačů hledají nové talenty a spojence. Díky tomu si může kvantové programovací jazyky a simulátory vyzkoušet každý, i když se nabízené prostředky a služby u jednotlivých firem liší.
IBM Research nabízí přístup k jazyku Qiskit, což je open source balíček jazyka a vývojových nástrojů, které lze získat zdarma na Githubu. Je založen na Pythonu a dovoluje snadné experimenty s kvantovou simulací. Součástí jsou návody na instalaci, ale také benchmarkovací software Benchpress, který měří výkonnost simulace. Výukové kurzy Qiskitu se dají najít na webu Coursera (Practical Quantum Computing with IBM Qiskit for Beginners) a Udemy (Quantum Computing with Qiskit Ultimate Masterclass).
Qiskit doplňuje také na Pythonu založený jazyk OpenQASM 3 (Open Quantum Assembly Language), který popisuje kvantové obvody na nižší úrovni a dovoluje i nižší operace, jako je kalibrace a kontrola nad časováním operací.
Google nabízí svůj kvantový simulátor Qsim, který je také open source. Tento simulátor dokáže podle Google simulovat až 30 qubitů na klasickém PC a až 40 qubitů pomocí Google Cloud. Ke stažení je na Githubu, k dispozici jsou také tutorialy, které se ale týkají přímo jazyka a tedy předpokládají, že už znáte základní koncepty kvantových počítačů.
Microsoft Research nabízí vlastní jazyk Q# (Q Sharp), který byl vydán jako součást Microsoft Quantum Development Kit. Je navržen jako rozšíření populárních jazyků C#, Python a F# pro Visual Studio. Podobně jako jiné zde uvedené jazyky je navržen hlavně k výuce a nepočítá se s ním pro nasazení v reálných aplikacích. Dokumentace je dostupná na Azure Quantum, příklady a kurzy jsou na Githubu v sekci Quantum Katas.
Rozsáhlý seznam dalších kvantových simulátorů uvedl například Quantum Insider.
Podpora pro výuku kvantového programování je štědrá a široká, ale ve většině případů už předpokládá, že umíte klasické programování a jste seznámeni s klasickými jazyky a vývojovými prostředími, jako je Python. Pokud hledáte jednodušší kurz, tak ten ve spolupráci s Microsoftem a Alphabet nabízí například Brilliant ve formě kurzu Quantum Computing. Požadavky kurzu jsou zcela minimální, pouze „základní chápání lineární algebry ve formě matic 2x2 a volitelně základy počítačové vědy“.

Michal Rybka
Michal Rybka je publicista a nadšenec s 20 lety zkušeností v IT a gamingu. Je kurátorem AlzaMuzea a YouTube kanálu AlzaTech. Napsal několik fantasy a sci-fi povídek, které vyšly v knižní podobě, a pravidelně pokrývá páteční obsah na internetovém magazínu PCTuning.