Skoro znamy już reguły świata kwantowego, czas na elementarz programisty kwantowego: czym dokładnie jest kubit, co robią bramki i jak czyta się obwód kwantowy — odpowiednik programu.
Kubit — bit z „pokrętłem”
Stany bazowe kubitu oznacza się |0⟩ i |1⟩ (czyt. „ket zero”, „ket jeden” — to tylko notacja). Ogólny stan kubitu to mieszanka: α·|0⟩ + β·|1⟩, gdzie α i β są wagami (amplitudami). Prawdopodobieństwo zmierzenia zera wynosi α², a jedynki β² — dlatego wagi muszą spełniać α² + β² = 1. To jedyny „wzór” w całym kursie.
Wygodna wizualizacja: sfera Blocha. Wyobraź sobie globus — biegun północny to |0⟩, południowy to |1⟩, a stan kubitu to strzałka wskazująca dowolny punkt na powierzchni. Bramki kwantowe po prostu obracają tę strzałkę. Bit klasyczny zna tylko dwa bieguny; kubit ma do dyspozycji cały globus.
Bramki — operacje na kubitach
Bramka kwantowa to odwracalna operacja zmieniająca stan kubitów — odpowiednik instrukcji procesora. Najważniejsze z nich:
| Bramka | Działa na | Co robi |
|---|---|---|
| X (NOT) | 1 kubit | zamienia |0⟩ ↔ |1⟩ — kwantowa negacja |
| H (Hadamard) | 1 kubit | tworzy superpozycję: z |0⟩ robi pół na pół |0⟩ i |1⟩ |
| Z | 1 kubit | odwraca fazę („znak”) składowej |1⟩ — niewidoczne w pojedynczym pomiarze, kluczowe dla interferencji |
| CNOT | 2 kubity | neguje drugi kubit tylko wtedy, gdy pierwszy jest |1⟩ — podstawowe narzędzie splątania |
| Pomiar | 1 kubit | odczytuje 0 lub 1 i kończy życie superpozycji |
Co ciekawe, wystarczy niewielki zestaw bramek (np. H, T i CNOT), by zbudować dowolne obliczenie kwantowe — tak jak z bramek NAND można zbudować cały klasyczny procesor.
Obwód — partytura dla kubitów
Obwód kwantowy (ang. quantum circuit) to zapis programu: każda pozioma linia to jeden kubit, czas płynie od lewej do prawej, a symbole na liniach to bramki. Czyta się go jak partyturę — każdy kubit to osobny instrument, a kolumny to kolejne takty.
q0: ──[H]──●──[pomiar]──
│
q1: ──────[X]──[pomiar]──
Ten trzytaktowy obwód to „Hello World” obliczeń kwantowych — tworzy stan Bella, czyli parę maksymalnie splątanych kubitów:
- Bramka H wprowadza pierwszy kubit w superpozycję pół na pół.
- Bramka CNOT (kropka ● to kubit sterujący, [X] to cel) splątuje oba kubity.
- Pomiar obu kubitów zwraca albo „00”, albo „11” — każde z prawdopodobieństwem 50%, ale nigdy „01” ani „10”. Wyniki są doskonale skorelowane: oto splątanie w akcji.
Co dalej?
Teoria za nami. W następnej lekcji zbudujemy dokładnie ten obwód w Pythonie i uruchomimy go — najpierw na symulatorze, potem na prawdziwym komputerze kwantowym IBM. Przejdź do lekcji Qiskit — pierwsze kroki.