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é Circuit a spouštět je na kvantovém hardwaru.
Co umí?
Vizualizace stavů Qubit
Sleduj, jak změny v tvém Circuit 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é Circuit 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 Circuit 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é Circuit 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 Circuit. Přetahuj tyto Gate a další operace na grafický editor Circuit. Různé typy Gate jsou barevně rozlišeny. Například klasické Gate jsou tmavě modré, fázové Gate jsou světle modré a neunitární operace jsou šedé.
Chceš-li se dozvědět více o dostupných Gate 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ý Circuit. Kód OpenQASM lze upravovat; kód Qiskit je pouze ke čtení.
-
Grafický editor Circuit – Zde sestavuješ Circuit. Přetahuj Gate a další operace na vodorovné „dráty" Qubit, které tvoří tvůj kvantový registr.
Chceš-li odebrat Gate z drátu, vyber Gate a klikni na ikonu koše.
Chceš-li upravit parametry a nastavení Gate, která to podporují, vyber Gate 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í Gate 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 Circuit. Více informací najdeš v části Prohlídka Circuit 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 Circuit během jeho sestavování. Používají jednorázový simulátor stavového vektoru, který se liší od QPU zadaného v nastavení „Spustit Circuit". Vizualizace ignorují veškeré operace měření, které přidáš. Přihlas se a klikni na Spustit Circuit, aby ses dostal/a k výsledkům ze zadaného Backend.
Více informací najdeš v části Vizualizace.
Sestavování, úpravy a prohlídka kvantových Circuit
Chceš-li s Circuit pokračovat později, nezapomeň si před ukončením aktuální relace Composeru stáhnout soubor Circuit 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 Circuit znovu pracovat, přejdi do nabídky Soubor, vyber „Nahrát soubor .qasm", vyhledej soubor Circuit 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 Circuit na kvantovém počítači nebo vizualizovat Circuit s více než čtyřmi Qubit, 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ý Circuit. Můžeš buď vytvořit nový Circuit, nebo nahrát soubor .qasm a pokračovat v práci s Circuit, který jsi již vytvořil/a.
-
Pojmenuj svůj Circuit kliknutím na text Untitled circuit a zadáním názvu pro Circuit. 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 Circuit 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 Circuit, můžeš buď přetahovat operace myší, nebo zadat kód OpenQASM do editoru kódu.
2. Sestav Circuit 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 Circuit. Pro kompaktnější zobrazení Circuit 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 Circuit 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 jeden Gate.
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 Hadamardův Gate na q1 a Gate CX. Hadamardův Gate na q0 vybrán není.
Vyber Kopírovat z kontextového menu, abys skupinu zkopíroval/a.
Pro vložení skupiny operací klikni pravým tlačítkem na Circuit 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 Circuit i v katalogu operací zobrazena jako jediný rámeček.
Novou operaci teď můžeš přetahovat po celém Circuit. Upozorňujeme, že operace je uložena k tomuto Circuit a neobjeví se v katalogu operací pro ostatní Circuit.
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 Gate 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í Gate. 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 Circuit.
Smazáním vlastní operace přímo z Circuit 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 Circuit 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 Qubit.
Přidání podmínky
Chceš-li přidat podmínku k Gate, přetáhni operaci if na Gate a nastav parametry v panelu Upravit operaci, který se automaticky otevře. Také můžeš dvakrát kliknout na Gate, čí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áří Gate, 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 Gate, 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 Gate a výběrem ikony Upravit operaci (nebo dvojklikem na Gate) 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 Circuit
Chceš-li vizualizovat stav všech Qubit v libovolném bodě Circuit, přetáhni ikonu fázového disku z katalogu operací a umísti ji kamkoli v Circuit. 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 Qubit v daném bodě Circuit. Přidání fázových disků Circuit 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 Circuit
Chceš-li exportovat obrázek Circuit, vyber Soubor → Exportovat obrázek Circuit. 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. Build your circuit with OpenQASM code
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 Gate 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 Gate | (viz text článku) |
opaque name(params) qargs; | Deklarace neprůhledného Gate | (viz text článku) |
// comment text | Komentář řádku textu | // oops! |
U(theta,phi,lambda) qubit|qreg; | Aplikace vestavěného Gate pro jeden Qubit (viz [b]) | U(pi/2,2*pi/3,0) q[0]; |
CX qubit|qreg,qubit|qreg; | Aplikace vestavěného Gate 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 Gate | 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 | |
|---|---|
| Gate, které mají být zahrnuty do vlastní operace: | |
| Kód nové operace: | |
| Nová operace v grafickém editoru: |
4. Inspect your circuit, step-by-step
Režim Inspect odhaluje vnitřní fungování Circuit, které vytváříš. Simuluje Circuit 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 Circuit 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í Circuit 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 Circuit, 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 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ý Circuit a jeho pohled pravděpodobností:
Circuit 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ý Circuit a jeho Q-sféru, která reprezentuje stav, jenž Circuit 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ý Circuit a jeho pohled stavového vektoru:
Circuit 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 .
Composer operations glossary
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 Qubit ve kvantovém Circuit. Kvantové operace zahrnují kvantové Gate, 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í Circuit 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.
Classical gates
Gate NOT
Gate NOT, také známá jako Gate Pauli X, převrátí stav na a naopak. Gate 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. |
Gate CNOT
Gate řízené-NOT, také známá jako Gate ří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, tato brána vytváří provázanost.
Všechny unitární Circuit lze rozložit na jednoqubitové brány a Gate CNOT. Protože provedení dvoququbitové Gate CNOT na skutečném hardwaru trvá mnohem déle než provedení jednoqubitových bran, bývá cena Circuit někdy měřena počtem Gate 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. |
Gate Toffoli
Gate Toffoli, také známá jako Gate 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 .
Gate 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. |
Gate SWAP
Gate 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. |
Gate identity
Gate 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]; |
Phase gates
Gate T
Gate T je ekvivalentní RZ pro úhel . Kvantové počítače odolné vůči chybám budou kompilovat všechny kvantové programy pouze na Gate T a jeho inverz, spolu s Cliffordovými Gate.
| 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 Gate. |
Gate S
Gate 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 Gate. |
Gate Z
Pauliho Gate 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 Gate. |
Gate
Také znám jako Tdg nebo T-dagger gate.
Inverz Gate 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 Gate. |
Gate
Také znám jako Sdg nebo S-dagger gate.
Inverz Gate 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 Gate. |
Phase gate
Phase gate (dříve označovaný jako U1 gate) aplikuje fázi na stav . Pro určité hodnoty je ekvivalentní jiným Gate. 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 Gate. |
V IBM Quantum Composer je výchozí hodnota theta rovna .
Gate RZ
Gate RZ implementuje . Na Blochově sféře tento Gate 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 Gate. |
V IBM Quantum Composer je výchozí hodnota angle rovna . Tato hodnota je tedy použita ve vizualizaci q-sphere.
Non-unitary operators and modifiers
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 Gates 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ří Gate, 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 Gate a přidej tak řídicí prvek. Nad a pod Gate 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 Gate.
Chceš-li řídicí prvek odebrat, klikni pravým tlačítkem myši na Gate 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 Gates. 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; |
Hadamard gate
Gate H
Gate 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 Gates a přidáš Hadamardovu bránu, stane se z ní univerzální sada Gates 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. |
Quantum gates
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 Gate.
| 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. |

