První kroky ve světě kvantového počítání
- Obtížnost: Začátečník
- Využití QPU času: 11 s
Vítej, hackere! Jsme nadšeni, že tě máme na workshopu. Hlavním cílem tohoto úvodního praktického cvičení je připravit tě na tvoji kvantovou cestu: 1) provést tě instalací Qiskitu, 2) ukázat, jak si vytvořit účet IBM Cloud a připravit api_key a crn pro použití skutečného kvantového počítače, 3) vytvořit tvůj první kvantový Circuit, 4) vyřešit kviz o kvantových stavech a 5) spustit tvé obvody na skutečném kvantovém počítači a vykreslit výsledky.
1. Ze všeho nejdřív: Qiskit
Co je Qiskit
Qiskit SDK je vysoce výkonný softwarový zásobník vytvořený proto, aby pomohl vývojářům a výzkumníkům plně využít sílu kvantových počítačů v užitném měřítku i za jeho hranicemi. Jádrem je Qiskit SDK, open-source sada nástrojů pro vývoj softwaru určená pro práci s kvantovými počítači na úrovni rozšířených kvantových Circuits, operátorů a primitiv. Qiskit SDK umožňuje komukoli dosáhnout optimálního výkonu na skutečných kvantových počítačích v jejich preferovaném výpočetním prostředí.
Kromě SDK zahrnuje Qiskit také sadu vysoce výkonných nástrojů a služeb, jako je Qiskit Runtime Service, která umožňuje optimalizované výpočty na kvantových počítačích IBM prostřednictvím cloudu pomocí primitiv spravujících potlačení chyb. Dále služba Qiskit Transpiler, jež nabízí nejmodernější heuristické a AI metody zvyšující výkon při běžných úlohách optimalizace kvantových obvodů.
Qiskit functions, katalog IBM a služeb třetích stran, které usnadňují optimalizaci pracovních zátěží a využití Qiskitu pro průmyslové případy použití. Ať už jsi vývojář kvantového softwaru, kvantový experimentátor, výpočetní vědec, nebo jen hledáš, kde začít, modulární a flexibilní framework Qiskitu ti umožňuje pracovat na úrovni abstrakce, která nejlépe vyhovuje tvým potřebám.
Qiskit je navržen s důrazem na rozšiřitelnost a přizpůsobitelnost, takže z něj můžeš vytěžit špičkový výkon a řešit nové druhy problémů. Výkonná kódová základna znamená, že Qiskit SDK pracuje rychleji, spotřebovává méně paměti a přináší lepší výsledky než kdykoli předtím. Qiskit tě také uvádí do rozsáhlé komunity uživatelů a vývojářů, kteří tě rádi přivítají a pomohou ti zodpovědět tvoje otázky. Program Qiskit advocate, spuštěný poprvé v roce 2019, je globální komunitní iniciativa, která získává odborníky a nadšence kvantových výpočtů z celého světa. V průběhu let se z mnohých advokátů stali uznávaní lídři v kvantové komunitě. Chceš být dalším kvantovým lídrem? Neváhej se přihlásit – zde
Instalace Qiskitu
Nejprve ověř, zda verze Pythonu ve tvém prostředí splňuje podmínku python>=3.10, aby byla kompatibilní s nejnovější verzí Qiskitu, kterou budeme používat
from platform import python_version
print(python_version())
Pokud tomu tak není, můžeš Python aktualizovat pomocí preferovaného nástroje. Pokud si nejsi jistý/á, jak na to, zde jsou doporučené možnosti:
- MacOS: Homebrew
- Linux:
sudo apt-get update
Podrobný průvodce aktualizací Pythonu podle tvého operačního systému najdeš zde: How to update Python
Více informací najdeš na wiki QGSS (Qiskit Global Summer School) 2025: https://github.com/qiskit-community/qgss-2025/wiki/Jupyter-Notebook-Environment-(Local-and-Online)
Instalaci ov ěříš spuštěním buňky níže. Pokud proběhla správně, zobrazí se verze Qiskitu.
# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit
%pip install 'qiskit[visualization]'
%pip install qiskit-ibm-runtime
%pip install qiskit-aer
import qiskit
print(f"Qiskit version: {qiskit.__version__}")
Řešení problémů
Pokud předchozí buňka vyvolala chybu, můžeš Qiskit nainstalovat ve virtuálním prostředí (níže jsou dva navrhované způsoby). Pokud žádná chyba nenastala, tuto buňku přeskoč a pokračuj dál.
Navrhujeme dva různé způsoby, jak nastavit virtuální prostředí pro instalaci Qiskitu.
- Pomocí venv, jak je vysvětleno v průvodci instalací Qiskitu.
- Pomocí conda, jak je ukázáno v tomto videu Coding with Qiskit.
2. Nastavení účtu IBM Cloud
Abys mohl/a používat skutečný kvantový počítač, potřebuješ api key – hlavní vstupní lístek do cloudu – a crn – token, který ti zpřístupní tvé zdroje nastavením účtu.
Účet nastav takto:
- Přejdi na IBM Quantum® Platform.
- Přejdi do pravého horního rohu (jak je znázorněno na obrázku výše), vytvoř svůj API token a ulož ho na bezpečné místo.
- V následující buňce nahraď
deleteThisAndPasteYourAPIKeyHeresvým API klíčem. - Přejdi do levého dolního rohu (jak je znázorněno na obrázku výše) a vytvoř svou instanci. Ujisti se, že jsi zvolil/a plán open.
- Po vytvoření instance zkopíruj přidružený kód CRN. Možná bude nutné stránku obnovit, aby se instance zobrazila.
- V buňce níže nahraď
deleteThisAndPasteYourCRNHeresvým kódem CRN.
Více podrobností o nastavení účtu IBM Cloud® najdeš v tomto průvodci.
⚠️ Poznámka: Zacházej se svým API klíčem jako s bezpečným heslem. Více informací o používání API klíče v bezpečných i nedůvěryhodných prostředích najdeš v průvodci Cloud setup.
Navíc, pokud jsi členem/členkou partnerské sítě IBM pro univerzity, použij prosím institucionální e-mailovou adresu jako své IBM ID, abys získal/a partnerské výhody.
from qiskit_ibm_runtime import QiskitRuntimeService
# Save your API key and crn and have access to the quantum computers
your_api_key = "deleteThisAndPasteYourAPIKeyHere"
your_crn = "deleteThisAndPasteYourCRNHere"
QiskitRuntimeService.save_account(
channel="ibm_cloud",
token=your_api_key,
instance=your_crn,
overwrite=True
)
# Check that the account has been saved properly
service = QiskitRuntimeService()
service.saved_accounts()
# See backends you can use
service.backends()
3. Tvůj první kvantový Circuit
Kvantové obvody
Základní jednotkou Qiskitu je kvantový Circuit, což je série instrukcí, které kvantový počítač využívá k práci s kvantovými bity informace, nazývanými Qubity. Tyto Qubit mají speciální vlastnosti, díky nimž mohou kvantové počítače přistupovat k problémům odlišně než tvůj laptop nebo iPhone. Qiskit se jako technologie rychle rozvíjí – zatímco stále můžeš ručně navrhovat kvantové obvody a rozhodovat o způsobu jejich spuštění (a je mnoho dobrých důvodů to dělat), IBM Quantum ti také poskytuje nástroje, které celý proces zjednodušují. Pro účely výuky si vytvoříme velmi jednoduchý Circuit a spustíme ho na simulátoru.
Tímto přehledem projdeme rychle, protože kdybychom chtěli, mohli bychom strávit hodiny vysvětlováním základů kvantové informace a výpočtů. Ve skutečnosti to IBM Quantum již udělalo – vznikl psaný kurz i série videolekcí věnovaných tomuto tématu. Pokud potřebuješ osvěžit znalosti, mrkni na ně!
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_state_qsphere
from qiskit_aer import AerSimulator
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import SamplerV2 as Sampler
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit.transpiler import generate_preset_pass_manager
from qiskit.visualization import array_to_latex
from qiskit.visualization import plot_distribution
import numpy as np
from numpy import sqrt
Základní operace s Qubity a měření
Zápis jednoQubitových stavů
Začněme pohledem na jediný Qubit. Hlavní rozdíl oproti klasickému bitu, který může nabývat pouze hodnot 0 a 1, spočívá v tom, že kvantový bit neboli Qubit může být ve stavech , , ale také v jejich lineární kombinaci. Tato vlastnost se nazývá superpozice a umožňuje nám zapsat nejobecnější stav Qubitu takto:
Kdybychom změřili stav tohoto Qubitu, dostali bychom výsledek s pravděpodobností a výsledek s pravděpodobností . Jak vidíš, celková pravděpodobnost je , což znamená, že naměříme buď , nebo , a žádný jiný výsledek neexistuje.
Kromě si možná všimnout ještě dalšího parametru. Proměnná označuje relativní kvantovou fázi mezi stavy a . Jak zjistíme později, tato relativní fáze je poměrně důležitá. Prozatím stačí poznamenat, že kvantová fáze umožňuje interferenci mezi kvantovými stavy, díky níž můžeme psát kvantové algoritmy pro řešení konkrétních úloh.