IBM Quantum Composer
Co to je?
IBM Quantum® Composer je grafický kvantový programovací nástroj, který ti umožňuje přetahovat operace myší, sestavovat kvantové obvody a spouštět je na kvantovém hardwaru.
Co umí?
Vizualizace stavů qubit
Sleduj, jak změny v tvém obvodu ovlivňují stav qubitů – zobrazeno jako interaktivní q-sféra nebo histogramy ukazující pravděpodobnosti měření nebo simulace stavového vektoru.
Spuštění na kvantovém hardwaru
Spouštěj své obvody na skutečném kvantovém hardwaru, abys pochopil/a vliv šumu zařízení.
Automatické generování kódu
Místo ručního psaní kódu automaticky generuj kód v OpenQASM nebo Pythonu, který se chová stejně jako obvod vytvořený v Composeru.
Prohlídka rozhraní
IBM Quantum Composer nabízí přizpůsobitelnou sadu nástrojů, které ti umožňují sestavovat, vizualizovat a spouštět kvantové obvody na kvantových procesorech (QPU). Pomocí nabídky „Další možnosti" v každém okně získáš přístup k dalším nástrojům a akcím.
-
Katalog operací – Toto jsou stavební kameny kvantových obvodů. Přetahuj tato hradla a další operace na grafický editor obvodu. Různé typy hradel jsou barevně rozlišeny. Například klasická hradla jsou tmavě modrá, fázová hradla jsou světle modrá a neunitární operace jsou šedé.
Chceš-li se dozvědět více o dostupných hradlech a operacích, klikni pravým tlačítkem na operaci a vyber Info, kde si přečteš její definici.
-
Editor kódu – Pomocí nabídky Zobrazení otevři nebo zavři editor kódu, ve kterém si můžeš prohlédnout kód OpenQASM nebo Qiskit pro daný obvod. Kód OpenQASM lze upravovat; kód Qiskit je pouze ke čtení.
-
Grafický editor obvodu – Zde sestavuješ obvod. Přetahuj hradla a další operace na vodorovné „dráty" qubit, které tvoří tvůj kvantový registr.
Chceš-li odebrat hradlo z drátu, vyber hradlo a klikni na ikonu koše.
Chceš-li upravit parametry a nastavení hradla, která to podporují, vyber hradlo v grafickém editoru a klikni na Upravit.
-
Panel nástrojů – Přistupuj k často používaným nástrojům pro vrácení a opakování akcí, změnu zarovnání hradel a přepnutí do režimu prohlížení. V režimu prohlížení uvidíš krokové zobrazení stavů qubitů v průběhu výpočtu obvodu. Více informací najdeš v části Prohlídka obvodu krok za krokem.
-
Fázové disky – Fáze stavového vektoru qubit v komplexní rovině je znázorněna čárou, která se táhne od středu diagramu k okraji šedého disku (otáčejícího se proti směru hodinových ručiček kolem středového bodu).
Pomocí nabídky Zobrazení lze fázové disky zobrazit nebo skrýt.
-
Vizualizace – Vizualizace charakterizují tvůj obvod během jeho sestavování. Používají jednorázový simulátor stavového vektoru, který se liší od QPU zadaného v nastavení „Spustit obvod". Vizualizace ignorují veškeré operace měření, které přidáš. Přihlas se a klikni na Spustit obvod, aby ses dostal/a k výsledkům ze zadaného backendu.
Více informací najdeš v části Vizualizace.
Sestavování, úpravy a prohlídka kvantových obvodů
Chceš-li s obvodem pokračovat později, nezapomeň si před ukončením aktuální relace Composeru stáhnout soubor obvodu a uložit ho lokálně. Použij odkaz „Uložit soubor" v pravém horním rohu nebo přejdi do nabídky Soubor a vyber „Uložit soubor". Až budeš chtít s obvodem znovu pracovat, přejdi do nabídky Soubor, vyber „Nahrát soubor .qasm", vyhledej soubor obvodu na svém lokálním disku a klikni na Otevřít.
1. Otevři IBM Quantum Composer
- (Volitelné) Pokud nejsi přihlášen/a k IBM Quantum, vyber Přihlásit se v pravém horním rohu. Poté se můžeš přihlásit nebo Vytvořit účet IBM Cloud.
Pokud se nepřihlásíš, vizualizace automaticky zobrazují simulované výsledky pro až čtyři qubit. Chceš-li spustit obvod na kvantovém počítači nebo vizualizovat obvod s více než čtyřmi qubity, musíš se přihlásit.
-
Otevři IBM Quantum Composer kliknutím na odkaz na navigační stránce Learning. Pracovní plocha zobrazí nepojmenovaný prázdný obvod. Můžeš buď vytvořit nový obvod, nebo nahrát soubor .qasm a pokračovat v práci s obvodem, který jsi již vytvořil/a.
-
Pojmenuj svůj obvod kliknutím na text Untitled circuit a zadáním názvu pro obvod. Kliknutím na zaškrtnutí název uložíš.
-
(Volitelné) Přizpůsob si pracovní plochu:
- Pomocí nabídky Zobrazení přepni z výchozího motivu na monochromatický. Také si můžeš vybrat, které panely chceš na pracovní ploše zobrazit, a pomocí nabídky v pravém rohu libovolného panelu získáš přístup k dalším možnostem přizpůsobení. Možnosti zobrazení nebo skrytí fázových disků, volba zarovnání qubitů v obvodu a obnovení výchozí pracovní plochy jsou také k dispozici v nabídce Zobrazení.
- Přepínej mezi tmavým a světlým motivem pracovní plochy v pravém dolním rohu zápatí.
Chceš-li sestavit obvod, můžeš buď přetahovat operace myší, nebo zadat kód OpenQASM do editoru kódu.
2. Sestav obvod přetahováním myší
Katalog operací
Přetahuj operace z katalogu operací na kvantové a klasické registry. Klikni na ikonu vyhledávání a zadej výraz do vyhledávacího pole, abys rychle našel/la operaci.
Katalog operací sbalíš nebo rozbalíš kliknutím na ikonu v pravém horním rohu panelu operací. Kliknutím na vedlejší ikonu přepneš mezi zobrazením katalogu jako mřížky nebo seznamu.
Klikni pravým tlačítkem na ikonu operace a vyber Info, abys si zobrazil/a definici operace spolu s odkazem na QASM.
Pro vrácení nebo opakování akcí použij zahnuté šipky na panelu nástrojů.
Zarovnání
Vyber volné zarovnání, chceš-li umístit operace kamkoli na obvodu. Pro kompaktnější zobrazení obvodu zvol levé zarovnání. Chceš-li vidět pořadí, ve kterém se budou operace provádět, zvol zarovnání na vrstvy – to použije levé zarovnání a přidá oddělovače sloupců označující pořadí provádění, zleva doprava a shora dolů.
Jakmile jsou operace na obvodu umístěny, můžeš je stále přetahovat na nová místa.
Kopírování a vkládání
Klikni na operaci a pomocí ikon v kontextovém menu ji zkopíruj a vlož.
Výběr více operací
Můžeš vybrat více operací najednou a zkopírovat je, přetáhnout na nové místo nebo je seskupit do vlastní unitární operace, která se zobrazí v katalogu operací a funguje jako jedno hradlo.
Chceš-li vybrat více operací, umísti kurzor těsně za jednu z operací, poté klikni a táhni přes oblast, kterou chceš vybrat. Podržením Shift a kliknutím na jednotlivé operace je vybeš nebo odznamaš. Přerušovaná čára ohraničuje skupinu vybíraných operací a každá operace, která je skutečně součástí výběru, je zvýrazněna modrou barvou.
Například na následujícím obrázku jsou vybrány Hadamardovo hradlo na q1 a hradlo CX. Hadamardovo hradlo na q0 vybráno není.
Vyber Kopírovat z kontextového menu, abys skupinu zkopíroval/a.
Pro vložení skupiny operací klikni pravým tlačítkem na obvod a vyber Vložit.
Sestav vlastní operaci pomocí funkce seskupení
Chceš-li seskupit několik operací dohromady a uložit je jako vlastní operaci, nejprve vyber operace popsaným způsobem a poté z kontextového menu vyber Seskupit. Zobrazí se výzva k pojmenování vlastní operace, nebo můžeš přijmout výchozí název. Klikni na OK a vlastní operace bude v obvodu i v katalogu operací zobrazena jako jediný rámeček.
Novou operaci teď můžeš přetahovat po celém obvodu. Upozorňujeme, že operace je uložena k tomuto obvodu a neobjeví se v katalogu operací pro ostatní obvody.
Vlastní operaci lze také sestavit přímo v editoru kódu OpenQASM; více informací najdeš v části Vytvoření vlastní operace v OpenQASM.
Rozeskupení vlastní nebo předdefinované operace
Chceš-li rozeskupit hradla uvnitř vlastní nebo předdefinované operace, klikni na operaci v Composeru a z kontextového menu vyber Rozeskupit. Jednotlivé operace pak můžeš přesouvat samostatně. Při rozeskupení operace se každý prvek bývalé skupiny provede samostatně, což může znamenat, že se provedou v jiném pořadí než při seskupení.
Rozbalení definice operace
Chceš-li zobrazit operace tvořící vlastní nebo předdefinovanou operaci bez jejich rozeskupení, klikni v kontextovém menu na Rozbalit definici a zobrazí se definující hradla. Kliknutím na ikonu znovu definici sbalíš.
Přejmenování nebo smazání vlastní operace
Chceš-li přejmenovat nebo smazat vlastní operaci, klikni na ni pravým tlačítkem v katalogu operací a vyber Přejmenovat nebo Smazat. Smazáním vlastní operace z katalogu operací se odstraní i všechny její výskyty v obvodu.
Smazáním vlastní operace přímo z obvodu se neodstraní z katalogu operací; vlastní operaci lze z katalogu smazat pouze kliknutím pravým tlačítkem a výběrem Smazat.
Přidání nebo odebrání registrů
Chceš-li přidat nebo odebrat kvantové nebo klasické registry, klikni na Upravit → Správa registrů. Můžeš zvýšit nebo snížit počet qubitů nebo bitů v obvodu a přejmenovat registry. Klikni na OK pro uložení změn. Také můžeš jednoduše kliknout na název registru (např. q[0]) a pomocí možností v kontextovém menu rychle přidat nebo smazat registry nebo qubity.
Přidání podmínky
Chceš-li přidat podmínku k hradlu, přetáhni operaci if na hradlo a nastav parametry v panelu Upravit operaci, který se automaticky otevře. Také můžeš dvakrát kliknout na hradlo, čímž se panel Upravit operaci otevře, a podmínkové parametry nastavit tímto způsobem.
Přidání řídicího modifikátoru
Řídicí modifikátor vytváří hradlo, jehož původní operace je nyní podmíněna stavem řídicího qubit. Více informací získáš kliknutím pravým tlačítkem na symbol řídicího modifikátoru v katalogu operací a výběrem Info.
Přetáhni řídicí modifikátor na hradlo, abys k němu přidal/a řízení. Na řídicím qubit se zobrazí tečka a čára ho spojí s cílovým qubit. Chceš-li změnit, který qubit je řídicí nebo cílový, klikni na hradlo a výběrem ikony Upravit operaci (nebo dvojklikem na hradlo) otevři panel Upravit operaci, kde zadáš parametry. Z panelu Upravit operaci také můžeš odebrat řízení z qubit kliknutím na x vedle názvu qubit.
Vizualizace fázovými disky v celém obvodu
Chceš-li vizualizovat stav všech qubitů v libovolném bodě obvodu, přetáhni ikonu fázového disku z katalogu operací a umísti ji kamkoli v obvodu. Přidá se sloupec bariérových operací a sloupec fázových disků (jedna bariérová operace a jeden fázový disk na qubit). Najeď kurzorem na každý fázový disk, abys přečetl/a stav qubitu v daném bodě obvodu. Přidání fázových disků obvod nijak nezmění; jsou pouze vizualizačním nástrojem.
Více o vizualizaci fázovými disky si přečteš zde.
Export obrázku obvodu
Chceš-li exportovat obrázek obvodu, vyber Soubor → Exportovat obrázek obvodu. Otevře se okno možností exportu, kde si zvolíš motiv (světlý, tmavý, bílý na černém nebo černý na bílém), formát (.svg nebo .png) a zda chceš použít zalamování řádků. Po výběru možností klikni na Exportovat.
3. Sestav obvod pomocí kódu OpenQASM
IBM Quantum Composer aktuálně podporuje OpenQASM 2.0.
- Chceš-li otevřít editor kódu, klikni na Zobrazení → Panely → Editor kódu.
- Odkazy na hradla a další operace v OpenQASM najdeš v glosáři operací Composeru.
- Můžeš definovat vlastní operace; viz Vytvoření vlastní operace v OpenQASM.
- Více informací o používání jazyka OpenQASM, včetně ukázkových řádků kódu, najdeš v průvodci Úvod do OpenQASM nebo v původním výzkumném článku Open Quantum Assembly Language. Tabulka příkazů jazyka OpenQASM z tohoto článku je reprodukována níže. Gramatiku OpenQASM najdeš v Příloze A článku.
| Příkaz | Popis | Příklad |
|---|---|---|
OPENQASM 2.0; | Označuje soubor ve formátu OpenQASM (viz [a]) | OPENQASM 2.0; |
qreg name[size]; | Deklarace pojmenovaného registru qubitů | qreg q[5]; |
creg name[size]; | Deklarace pojmenovaného registru bitů | creg c[5]; |
include "filename"; | Otevření a zpracování jiného zdrojového souboru | include "qelib1.inc"; |
gate name(params) qargs | Deklarace unitárního hradla | (viz text článku) |
opaque name(params) qargs; | Deklarace neprůhledného hradla | (viz text článku) |
// comment text | Komentář řádku textu | // oops! |
U(theta,phi,lambda) qubit|qreg; | Aplikace vestavěného hradla pro jeden qubit (viz [b]) | U(pi/2,2*pi/3,0) q[0]; |
CX qubit|qreg,qubit|qreg; | Aplikace vestavěného hradla CNOT | CX q[0],q[1]; |
measure qubit|qreg -> bit|creg; | Provedení měření v bázi | measure q -> c; |
reset qubit|qreg; | Příprava qubitu do stavu | reset q[0]; |
gatename(params) qargs; | Aplikace uživatelsky definovaného unitárního hradla | crz(pi/2) q[1],q[0]; |
if(creg==int) qop; | Podmíněná aplikace kvantové operace | if(c==5) CX q[0],q[1]; |
barrier qargs; | Zákaz transformací přes tento zdrojový řádek | barrier q[0],q[1]; |
[a] Toto musí být první řádek souboru, který není komentářem.
[b] Parametry theta, phi a lambda jsou zadávány jako parametrické výrazy; více informací najdeš na straně 5 článku a v Příloze A.
Vytvoření vlastní operace v OpenQASM
V editoru kódu můžeš definovat nové unitární operace (příklad viz obrázek níže). Operace se aplikují příkazem name(params) qargs; stejně jako vestavěné operace. Závorky jsou volitelné, pokud operace nemá žádné parametry.
Chceš-li definovat vlastní operaci, zadej ji v editoru kódu OpenQASM v tomto formátu: gatename(params) qargs;. Pokud klikneš na +Přidat v seznamu operací, zobrazí se výzva k zadání názvu vlastní operace, kterou pak můžeš sestavit v editoru kódu.
Jakmile svou vlastní operaci definuješ, přetáhni ji do grafického editoru a pomocí ikony úprav dolaď její parametry.
| Příklad vlastní operace | |
|---|---|
| Hradla, která mají být zahrnuta do vlastní operace: | |
| Kód nové operace: | |
| Nová operace v grafickém editoru: |
4. Zkontroluj obvod krok za krokem
Režim Inspect odhaluje vnitřní fungování obvodu, který vytváříš. Simuluje obvod vrstvu po vrstvě, takže vidíš stav qubitů v průběhu výpočtu.
-
V nabídce Zobrazení vyber panely s vizualizacemi, které chceš použít.
-
Klikni na přepínač Inspect na panelu nástrojů. Po zapnutí režimu Inspect nelze přidávat další operace, dokud ho opět nevypneš.
-
Pokud jsi obvod sestavoval/a se zapnutým volným zarovnáním (Freeform alignment), věz, že režim Inspect automaticky zapne zarovnání doleva (Left alignment).
-
Pro postupné procházení vizualizacemi jednotlivých součástí obvodu používej tlačítka vpřed a zpět.
-
Chceš-li zkontrolovat pouze některé operace, klikni na ně – nad každou se zobrazí barevný překryv označující, že budou zahrnuty při spuštění v režimu Inspect. Chceš-li operaci odznačit, klikni na ni znovu a překryv zmizí.
-
Více informací o interpretaci vizualizací najdeš v části Vizualizace.
-
Chceš-li ukončit režim Inspect a vrátit se k úpravám obvodu, klikni na přepínač Inspect na panelu nástrojů.
Simulátor vytváří náhodnost generováním výsledků na základě semínka (seed). Semínko je počáteční hodnota zadaná do algoritmu, který generuje pseudonáhodná čísla. Číslo semínka zjistíš výběrem možnosti „Visualizations seed" z nabídky Upravit. Semínko si můžeš také nastavit sám/sama změnou hodnoty v příslušném poli.
Spuštění obvodů a zobrazení výsledků
Podle níže uvedených kroků spustíš kvantové obvody na QPU a zobrazíš výsledky.
Výběr nastavení úlohy
Klikni na Run circuit v pravém horním rohu. V okně, které se otevře, vyber dostupné QPU. Můžeš také zvolit instanci, která je spojena s plánem (například Open, Flex nebo Premium). Vybraná instance ovlivňuje, která QPU jsou ti k dispozici. Kliknutím na odkaz „View details" v tabulce QPU zobrazíš více informací o každém QPU.
Dále můžeš nastavit počet shotů (spuštění) svého obvodu, které Backend provede.
V tomto panelu můžeš volitelně pojmenovat úlohu a přidat štítky. Název obvodu se tím nezmění. Předvyplněný štítek „Composer" usnadňuje filtrování tabulky Workloads podle úloh z Composeru. Tento štítek můžeš odebrat.
Při spuštění obvodu je automaticky odeslán na nejméně vytížené QPU, pokud neurčíš konkrétní QPU v nastavení spuštění. Pokud spustíš stejný obvod znovu, výběr QPU se přednastaví na tvoji předchozí volbu.
Kliknutí na „Run on (QPU name)"
Průběh úlohy můžeš sledovat kliknutím na tlačítko „View jobs" v pravém horním rohu, které otevře stránku Workloads na IBM Quantum Platform.
Zobrazení výsledků
Po dokončení úlohy jsou podrobnosti aktualizovány v tabulce Workloads na IBM Quantum Platform.
Stránka s výsledky Jobs zobrazuje podrobnosti spuštění, diagramy původního a transpilovaného obvodu, histogram výsledků a záložky OpenQASM a Qiskit pro zobrazení původních i transpilovaných obvodů v OpenQASM nebo Qiskitu.
Obvody a histogram můžeš stáhnout kliknutím na nabídku v pravém horním rohu každého diagramu a výběrem formátu pro stažení (PNG, PDF nebo SVG; histogram navíc lze exportovat jako soubor CSV). OpenQASM obvody lze přímo otevřít v Composeru.
Vizualizace
Živé vizualizace v IBM Quantum Composer ti ukazují různé pohledy na to, jak kvantové obvody ovlivňují stav sady qubitů. Každý typ živé vizualizace je podrobně vysvětlen níže.
Živé vizualizace pocházejí ze simulátoru stavového vektoru s jedním shotem, který se liší od QPU zadaného v nastavení spuštění, jež může mít více shotů. Simulátor vytváří náhodnost generováním výsledků na základě seedu. Seed je počáteční hodnota zadaná do algoritmu, který generuje pseudonáhodná čísla. Číslo seedu zobrazíš výběrem „Visualizations seed" z nabídky Edit. Hodnotu seedu si také můžeš nastavit sám změnou hodnoty v poli.
Zobrazení vizualizací
Živé vizualizace jsou zobrazeny v oknech ve spodní části pracovního prostoru Composeru (s výjimkou fázového disku, který se zobrazuje na konci každého qubitového drátu). Ve spodní části pracovního prostoru můžeš zvolit libovolnou kombinaci vizualizací stavového vektoru, pravděpodobností a Q-sféry. Vizualizace vybereš nebo zrušíš výběrem v nabídce View.
Stahování vizualizací
Vizualizaci ve spodní části pracovního prostoru Composeru stáhneš kliknutím na nabídku „More options" v okně vizualizace. Vizualizace lze stáhnout jako SVG, PNG nebo CSV s podkladovými daty. Obrázky vizualizací histogramů pravděpodobnosti měření a stavového vektoru lze také stáhnout jako PDF.
Fázový disk
Stav jednoho qubitu lze vyjádřit jako
kde je pravděpodobnost, že qubit je ve stavu , a je kvantová fáze. je silně analogické klasickému pravděpodobnostnímu bitu. Pro je qubit ve stavu , pro je ve stavu a pro jde o směs 50/50. Tuto situaci nazýváme superpozicí, protože na rozdíl od klasických bitů může mít tato směs kvantovou fázi. Fázový disk tuto situaci vizualizuje.
Fázový disk na konci každého qubitu v IBM Quantum Composer udává lokální stav každého qubitu na konci výpočtu. Složky fázového disku jsou popsány níže.
Pravděpodobnost, že qubit je ve stavu
Pravděpodobnost, že qubit je ve stavu , je reprezentována modrým výplňovým diskem.
Kvantová fáze
Kvantová fáze stavu qubitu je dána přímkou, která se táhne od středu diagramu k okraji šedého disku (který se otáčí proti směru hodinových ručiček kolem středového bodu).
Příklad: fázové disky pro dva různé qubity

Dva příklady vizualizace fázového disku. První příklad je stav a druhý ukazuje stav s nenulovou relativní fází.
Souvislost s Blochovou sférou
Fázový disk, který obsahuje veškeré informace Blochovy sféry, je dvourozměrnou reprezentací qubitu. Převod na reprezentaci Blochovy sféry: , a .
N-qubitové stavy: maximum 15 qubitů
N-qubitový kvantový stav má tvar
kde je pravděpodobnost, že qubity jsou ve stavu s kvantovou fází vůči stavu . je pravděpodobnost, že qubity nejsou v základním stavu . Zde je jednoduché vidět, že pro N-qubitový kvantový stav existuje pravděpodobností a fází. Fázový disk nedokáže tento stav plně reprezentovat, protože N-qubitové fázové disky by obsahovaly pouze pravděpodobností a fází; je to proto, že většina stavů je provázaná a nelze je rozdělit na nezávislé jednoQubitové kvantové stavy. Abychom vyjádřili, že tato vizualizace neobsahuje úplné informace, zavádíme v fázovém disku redukovanou čistotu jako složku.
Redukovaná čistota stavu qubitu
Poloměr černého kroužku na fázovém disku představuje redukovanou čistotu stavu qubitu, která pro qubit v N-qubitovém stavu je dána výrazem . Redukovaná čistota jednoho qubitu je v rozsahu ; hodnota jedna znamená, že qubit není provázán s žádnou jinou stranou. Naproti tomu redukovaná čistota ukazuje, že qubit je ponechán v úplně smíšeném stavu a má určitou míru provázanosti se zbývajícími qubity, případně i s prostředím.
Pohled pravděpodobností
Limit 8 qubitů
Tento pohled vizualizuje pravděpodobnosti kvantového stavu jako sloupcový graf. Horizontální osa označuje stavy výpočetní báze. Vertikální osa měří pravděpodobnosti v procentech. V tomto pohledu nejsou kvantové fáze reprezentovány, jde tedy o neúplnou reprezentaci. Je však užitečný pro předpovídání výsledků, pokud je každý qubit změřen a hodnota uložena ve vlastním klasickém bitu.
Uvažuj následující kvantový obvod a jeho pohled pravděpodobností:
Obvod uvede dva qubity do stavu Stavy výpočetní báze jsou a Pravděpodobnost každého výpočetního stavu je 1/4.
Pohled Q-sféry
Limit 5 qubitů
Q-sféra reprezentuje stav systému jednoho nebo více qubitů tím, že každý stav výpočetní báze přiřadí bodu na povrchu sféry. V každém bodě je viditelný uzel. Poloměr každého uzlu je úměrný pravděpodobnosti () jeho báze, zatímco barva uzlu indikuje kvantovou fázi ().
Uzly jsou na Q-sféře uspořádány tak, že stav báze se samými nulami (např. se nachází na severním pólu a stav báze se samými jedničkami (např. ) na jižním pólu. Stavy báze se stejným počtem nul (nebo jedniček) leží na stejné zeměpisné šířce Q-sféry (např. ). Od severního pólu Q-sféry postupně směrem na jih má každá další zeměpisná šířka stavy báze s větším počtem jedniček; zeměpisná šířka stavu báze je určena jeho Hammingovou vzdáleností od nulového stavu. Q-sféra obsahuje úplné informace o kvantovém stavu v kompaktní reprezentaci.
Uvažuj následující kvantový obvod a jeho Q-sféru, která reprezentuje stav, jenž obvod vytváří:
Q-sféru můžeš otáčet tak, že ji vyberéš, podržíš a přetáhneš. Chceš-li vrátit Q-sféru do výchozí orientace, vyber tlačítko se šipkou zpět v pravém horním rohu Q-sféry.
Je důležité zdůraznit, že Q-sféra není totéž co Blochova sféra, a to ani pro jeden qubit. Stejně jako fázový disk dává Blochova sféra lokální pohled na kvantový stav, kde je každý qubit posuzován samostatně. Když se snažíme pochopit, jak se registry qubitů (víceQubitové stavy) chovají při aplikaci kvantových obvodů, je výstižnější zaujmout globální pohled a nahlížet na kvantový stav jako celek. Q-sféra poskytuje vizuální reprezentaci kvantového stavu, a tedy tento globální pohled. Proto by při zkoumání kvantových aplikací a algoritmů na malém počtu qubitů měla být Q-sféra primární metodou vizualizace.
Pohled stavového vektoru
Limit 6 qubitů
se běžně nazývá kvantová amplituda. Tento pohled vizualizuje kvantové amplitudy jako sloupcový graf. Horizontální osa označuje stavy výpočetní báze. Vertikální osa měří velikost amplitud () přidružených ke každému stavu výpočetní báze. Barva každého sloupce představuje kvantovou fázi ().
Uvažuj následující kvantový obvod a jeho pohled stavového vektoru:
Obvod uvede dva qubity do stavu . Stavy výpočetní báze jsou , , a . Velikosti amplitud jsou a kvantové fáze vůči základnímu stavu jsou pro a a pro .
Glosář operací Composeru
Tato stránka je referenční příručkou, která definuje různé klasické a kvantové operace, jež můžeš použít k manipulaci s qubity ve kvantovém obvodu. Kvantové operace zahrnují kvantová hradla, jako je Hadamardova brána, ale také operace, které nejsou kvantovými branami, jako je například operace měření.
Každý níže uvedený záznam poskytuje podrobnosti a referenci v OpenQASM pro danou operaci. Více informací najdeš v tématu Sestavení obvodu pomocí kódu OpenQASM.
Obrázek q-sphere v každém záznamu brány zobrazuje stav po tom, co brána působí na počáteční stav rovnoměrné superpozice , kde je počet qubit potřebných pro podporu dané brány. Více informací o této vizualizaci najdeš v tématu q-sphere.
V IBM Quantum Composer si můžeš definovat vlastní operaci. Pokyny najdeš v tématu Vytvoření vlastní operace v OpenQASM.
Barvy bran se v světlém a tmavém motivu mírně liší. Zde jsou zobrazeny barvy ze světlého motivu.
Kliknutím na kvantovou operaci níže zobrazíš její definici.
Klasická hradla
Hradlo NOT
Hradlo NOT, také známé jako hradlo Pauli X, převrátí stav na a naopak. Hradlo NOT je ekvivalentní RX pro úhel nebo výrazu 'HZH'.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
x q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co brána působí na počáteční stav rovnoměrné superpozice kde je počet qubit potřebných pro podporu dané brány. |
Hradlo CNOT
Hradlo řízené-NOT, také známé jako hradlo řízené-X (CX), působí na dvojici qubit, přičemž jeden slouží jako „řídící" a druhý jako „cílový". Provede operaci NOT na cílovém qubit vždy, když je řídící qubit ve stavu . Pokud je řídící qubit v superpozici, toto hradlo vytváří provázanost.
Všechny unitární obvody lze rozložit na jednoqubitové brány a hradlo CNOT. Protože provedení dvouqubitového hradla CNOT na skutečném hardwaru trvá mnohem déle než provedení jednoqubitových bran, bývá cena obvodu někdy měřena počtem hradel CNOT.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
cx q[0], q[1]; | Reprezentace q-sphere zobrazuje stav po tom, co brána působí na počáteční stav rovnoměrné superpozice kde je počet qubit potřebných pro podporu dané brány. |
Hradlo Toffoli
Hradlo Toffoli, také známé jako hradlo dvojitě řízené-NOT (CCX), má dva řídící qubit a jeden cílový. Operaci NOT na cílovém qubit provede pouze tehdy, jsou-li oba řídící qubit ve stavu .
Hradlo Toffoli spolu s Hadamardovou bránou tvoří univerzální sadu bran pro kvantové výpočty.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
ccx q[0], q[1], q[2]; | ![]() | Reprezentace q-sphere zobrazuje stav po tom, co brána působí na počáteční stav rovnoměrné superpozice kde je počet qubit potřebných pro podporu dané brány. |
Hradlo SWAP
Hradlo SWAP prohodí stavy dvou qubitů.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
swap q[0], q[1]; | Reprezentace q-sphere zobrazuje stav po tom, co brána působí na počáteční stav rovnoměrné superpozice kde je počet qubit potřebných pro podporu dané brány. |
Hradlo identity
Hradlo identity (někdy nazývané Id nebo brána I) je ve skutečnosti absence brány. Zajišťuje, že na qubit po dobu jedné jednotky času brány není aplikováno nic.
| Reference v Composer | Reference v Qasm |
|---|---|
id q[0]; |
Fázová hradla
Hradlo T
Hradlo T je ekvivalentní RZ pro úhel . Kvantové počítače odolné vůči chybám budou kompilovat všechny kvantové programy pouze na hradlo T a jeho inverz, spolu s Cliffordovými hradly.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
t q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
Hradlo S
Hradlo S aplikuje fázi na stav . Je ekvivalentní RZ pro úhel . Poznámka: S=P().
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
s q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
Hradlo Z
Pauliho hradlo Z působí jako identita na stav a násobí znaménko stavu hodnotou -1. Překlápí tedy stavy a . V bázi +/- hraje stejnou roli jako Gate NOT v bázi /.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
z q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
Hradlo
Také znám jako Tdg nebo T-dagger gate.
Inverz hradla T.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
tdg q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
Hradlo
Také znám jako Sdg nebo S-dagger gate.
Inverz hradla S.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
sdg q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
Fázové hradlo
Fázové hradlo (dříve označované jako hradlo U1) aplikuje fázi na stav . Pro určité hodnoty je ekvivalentní jiným hradlům. Například P()=Z, P(/)=S a P()=T. Až na globální fázi je ekvivalentní RZ().
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
p(theta) q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
V IBM Quantum Composer je výchozí hodnota theta rovna .
Hradlo RZ
Hradlo RZ implementuje . Na Blochově sféře toto hradlo odpovídá otočení stavu qubitu okolo osy z o daný úhel.
| Reference v Composer | Reference v OpenQASM | Q-sphere | Poznámka k reprezentacím q-sphere |
|---|---|---|---|
rz(angle) q[0]; | Reprezentace q-sphere zobrazuje stav po tom, co Gate působí na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu tohoto hradlo. |
V IBM Quantum Composer je výchozí hodnota angle rovna . Tato hodnota je tedy použita ve vizualizaci q-sphere.
Neunitární operátory a modifikátory
Operace reset
Operace reset vrátí qubit do stavu bez ohledu na jeho stav před aplikací operace. Není to reverzibilní operace.
| Reference v Composeru | Reference v OpenQASM |
|---|---|
reset q[0]; |
Měření
Měření ve standardní bázi, také známé jako z-báze nebo výpočetní báze. V kombinaci s hradly lze použít k implementaci libovolného druhu měření. Není to reverzibilní operace.
| Reference v Composeru | Reference v OpenQASM |
|---|---|
measure q[0]; |
Modifikátor řízení
Modifikátor řízení vytvoří hradlo, jehož původní operace je nyní podmíněna stavem řídicího qubitu. Pokud je řídicí qubit ve stavu , cílový qubit (nebo qubity) prochází zadanou unitární evolucí. Naopak, pokud je řídicí qubit ve stavu , žádná operace se neprovede. Pokud je řídicí qubit v superpozici, výsledná operace plyne z linearity.
Přetáhni modifikátor řízení na hradlo a přidej tak řídicí prvek. Nad a pod hradlem se na vodičích qubitů zobrazí tečky, které mohou být cíly řízení; kliknutím na jednu nebo více teček přiřaď cíl jednomu nebo více qubitům. Řídicí prvek lze také přidat kliknutím pravým tlačítkem myši na hradlo.
Chceš-li řídicí prvek odebrat, klikni pravým tlačítkem myši na hradlo a vyber možnost odebrání řízení.
| Reference v Composeru | Reference v OpenQASM |
|---|---|
c |
Operace barrier
Aby byl tvůj kvantový program efektivnější, kompilátor se bude snažit kombinovat hradla. Barrier je instrukce pro kompilátor, která těmto kombinacím zabraňuje. Navíc je užitečná pro vizualizace.
| Reference v Composeru | Reference v OpenQASM |
|---|---|
barrier q; |
Hadamardova brána
Hradlo H
Hradlo H, neboli Hadamardova brána, otočí stavy a do stavů a . Je užitečná pro vytváření superpozic. Pokud máš na klasickém počítači univerzální sadu hradel a přidáš Hadamardovu bránu, stane se z ní univerzální sada hradel pro kvantový počítač.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím q-sféry |
|---|---|---|---|
h q[0]; | Reprezentace q-sféry zobrazuje stav po aplikaci Gate na počáteční stav rovnoměrné superpozice kde je počet qubitů potřebných pro podporu Gate. |
Kvantová hradla
Brána
Také známá jako brána odmocnina NOT.
Tato brána implementuje odmocninu z X, . Dvojí aplikace této brány za sebou produkuje standardní bránu Pauli-X (brána NOT). Stejně jako Hadamardova brána vytváří rovnoměrný superpozicní stav, pokud je qubit ve stavu , ale s jinou relativní fází. Na některých hardwarech jde o nativní bránu, kterou lze implementovat pulsem nebo X90.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
sx q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
Brána
Také známá jako brána SXdg nebo odmocnina NOT-dagger.
Jde o inverzní operaci k bráně . Dvojí aplikace za sebou produkuje bránu Pauli-X (bránu NOT), protože brána NOT je svou vlastní inverzí. Stejně jako brána lze i tuto bránu použít k vytvoření rovnoměrného superpozicního stavu a na některých hardwarech je nativně implementována pomocí pulsu X90.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
sxdg q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
Brána Y
Brána Pauli Y je ekvivalentní Ry pro úhel . Je ekvivalentní aplikaci X a Z, až na globální fázový faktor.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
y q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
Brána RX
Brána RX implementuje . Na Blochově sféře tato brána odpovídá rotaci stavu qubitu kolem osy x o daný úhel.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
rx(angle) q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
V IBM Quantum Composeru je výchozí hodnota pro angle . Tento úhel se proto používá ve vizualizaci Q-sféry.
Brána RY
Brána RY implementuje . Na Blochově sféře tato brána odpovídá rotaci stavu qubitu kolem osy y o daný úhel a nezavádí komplexní amplitudy.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
ry(angle) q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
V IBM Quantum Composeru je výchozí hodnota pro angle . Tento úhel se proto používá ve vizualizaci Q-sféry níže.
Brána RXX
Brána RXX implementuje . Mølmer–Sørensenova brána, nativní brána v systémech s iontovými pastmi, může být vyjádřena jako součet bran RXX.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
rxx(angle) q[0], q[1]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
V IBM Quantum Composeru je výchozí hodnota pro angle .
Brána RZZ
Brána RZZ vyžaduje jediný parametr: úhel vyjádřený v radiánech. Tato brána je symetrická; prohození dvou qubitů, na které působí, nic nemění.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
rzz(angle) q[0], q[1]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
V IBM Quantum Composeru je výchozí hodnota pro angle .
Brána U
(Dříve nazývána brána U3) Tři parametry umožňují sestavit jakoukoli jednoqubitovou bránu. Má dobu trvání jedné jednotky doby hradla.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
u(theta, phi, lam) q[0]; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
V IBM Quantum Composeru je výchozí hodnota pro angle .
Brána RCCX
Zjednodušená Toffoliho brána, nazývaná také Margolisova brána.
Zjednodušená Toffoliho brána implementuje Toffoliho bránu až na relativní fáze. Tato implementace vyžaduje tři brány CX, což je minimální možný počet, jak je ukázáno v https://arxiv.org/abs/quant-ph/0312225. Zjednodušená Toffoliho brána není ekvivalentní Toffoliho bráně, ale lze ji použít na místech, kde je Toffoliho brána následně odkomputována.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
rccx a, b, c; | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |
Brána RC3X
Zjednodušená Toffoliho brána se třemi řídicími qubity.
Zjednodušená Toffoliho brána implementuje Toffoliho bránu až na relativní fáze. Zjednodušená Toffoliho brána není ekvivalentní Toffoliho bráně, ale lze ji použít na místech, kde je Toffoliho brána následně odkomputována.
| Reference v Composeru | Reference v OpenQASM | Q-sféra | Poznámka k reprezentacím na Q-sféře |
|---|---|---|---|
rc3x a, b, c, d; | ![]() | Reprezentace na Q-sféře znázorňuje stav po tom, co brána působí na počáteční rovnoměrný superpozicní stav kde je počet qubitů potřebných k podpoře brány. |

