Diagramy kvantových obvodů

Tento článek popisuje konvence pro diagramy kvantových obvodů. Jakmile pochopíte vizuální konvence, některé kvantové algoritmy jsou v diagramu obvodů srozumitelnější než v ekvivalentním znázornění napsané matice.

S Azure Quantum můžete odesílat kvantové obvody pomocí Qiskitu, Cirqu a také formátovaných okruhů specifických pro poskytovatele.

Tip

Podívejte se naquantum-viz.js, konfigurovatelný nástroj pro vykreslování kvantových obvodů. Knihovnu můžete integrovat quantum-viz.js (nebo qviz) do libovolného projektu. Jeho cílem je snadno konfigurovatelné a zároveň umožňovat složité interakce uživatelů, jako je přepínání mezi různými výsledky měření.

Konvence diagramu kvantových obvodů

V diagramu obvodů každá plná čára znázorňuje qubit, nebo obecněji qubitový registr. Podle konvence je horní řádek qubit register $0$ a zbytek se označí postupně.

Operace jsou reprezentovány kvantovými branami. Termín kvantová brána je obdobou klasických logických bran. Brány působící na jednom nebo více qubitových registrech se označují jako krabice. Například symbol

Symbol pro hadamardovou operaci působící na jednom qubitovém registru.

je operace Hadamard působící na jednom qubitovém registru.

V kvantovém okruhu teče čas zleva doprava. Kvantové brány jsou seřazeny v chronologickém pořadí s levou bránou, protože brána se poprvé aplikuje na qubity. Jinými slovy, pokud si zobrazíte, že dráty drží kvantový stav, přenesou kvantový stav jednotlivými branami v diagramu zleva doprava. To znamená, že působení kvantového okruhu

Diagram kvantových bran použitých zleva doprava v kvantovém obvodu

je CBA$ s jednotkovou maticí$.

Poznámka

Násobení matice se řídí opačnou konvencí: jako první se použije matice nejvíce vpravo. V diagramech kvantových obvodů se však jako první použije levá brána. Tento rozdíl může někdy vést k nejasnostem, takže je důležité si všimnout tohoto významného rozdílu mezi lineárním algebraickým zápisem a diagramy kvantových obvodů.

Příklad: Jednotná transformace

Představte si unitární transformaci $\text{ CNOT}_{01}(H\otimes 1)$. Tato sekvence hradla má pro kvantové výpočty zásadní význam, protože vytváří maximálně propletený dvou qubitový stav:

$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$

Operace s touto nebo větší složitostí jsou v kvantových algoritmech a opravách kvantových chyb všudypřítomné.

Diagram obvodu pro přípravu tohoto maximálně propleteného kvantového stavu je:

Diagram obvodu pro maximálně propletený stav se dvěma qubity

Symbol za Hadamardovou bránou představuje bránu CNOT, kde černý kruh označuje řídicí qubit a kříž uvnitř kruhu target označuje qubit. Tento kvantový obvod je znázorněn jako působící na dvou qubitech (nebo ekvivalentních dvou registrech, které se skládají z jednoho qubitu).

Vstupy a výstupy kvantových obvodů

Předchozí příklady měly přesně stejný počet vstupů vodičů (qubitů) do kvantové brány jako počet vodičů od kvantové brány. Zpočátku se může zdát rozumné, že kvantové obvody mohou mít více nebo méně výstupů než vstupy obecně. To je však nemožné, protože všechny kvantové operace, které jsou uloženy v měření, jsou unitární, a proto jsou reverzibilní. Pokud by neměly stejný počet výstupů jako vstupy, nebyly by reverzibilní, a tudíž nejsou jednotné, což je rozpor. Z tohoto důvodu musí mít každá krabice nakreslená v diagramu obvodů přesně stejný počet vodičů, které do ní vstupují jako z něj.

Diagramy okruhů s více qubity se řídí podobnými konvencemi jako diagramy s jedním qubitem. Jako objasňující příklad lze dvou qubitovou jednotkovou operaci $B$ definovat tak, aby byla $(H S\otimes X),$ takže ekvivalentní kvantový obvod je:

Diagram obvodu jednotkové operace se dvěma qubity

V závislosti na kontextu, ve kterém se okruh používá, můžete také zobrazit $$ akci s jedním registrem se dvěma qubity místo dvou qubitových registrů.

Asi nejužitečnější vlastností takových diagramů abstraktních obvodů je, že umožňují popsat složité kvantové algoritmy na vysoké úrovni, aniž by je bylo nutné kompilovat do základních bran. To znamená, že můžete získat přehled o toku dat pro velký kvantový algoritmus, aniž byste museli porozumět všem podrobnostem o tom, jak jednotlivé podprogramy v algoritmu fungují.

Řízené brány

Akce kvantově jednotlivě řízené brány s označením $\Lambda(G),$ kde hodnota jednoho qubitu řídí použití $G$, lze pochopit z následujícího příkladu vstupu stavu produktu:

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}\alpha\ket{\psi}\ket{{0}=+ G \beta\ket{{1}\ket{\psi}$

To znamená, že kontrolovaná brána použije $G$ na registr obsahující $\psi$ if a pouze v případě, že kontrolní qubit přebírá hodnotu $1$. Obecně jsou tyto řízené operace popsány v diagramech obvodů jako

Schéma obvodu jednotlivě řízené brány.

Černý kruh zde označuje kvantový bit, na kterém je brána řízena, a svislý drát označuje jednotku, která se použije, když řídicí qubit vezme hodnotu $1$. Ve zvláštních případech, kdy $G=X$ a $G=Z$ se k popisu řízené verze bran používá následující zápis (všimněte si, že kontrolovaná brána X je brána CNOT):

Schéma obvodů pro zvláštní případy ovládaných bran.

Q# poskytuje metody pro automatické vygenerování řízené verze operace, což programátora ušetří před tím, aby musel tyto operace kódovat. Příklad je uvedený níže:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Operátor měření

Zbývající operací, která se má vizualizovat v diagramech obvodů, je měření. Měření vezme qubitový registr, změří ho a vypíše výsledek jako klasické informace.

Operace měření je označena symbolem měřiče a vždy přijímá jako vstup qubitový registr (označený plnou čárou) a výstup klasické informace (označené dvojitou čárou). Konkrétně takový dílčí objekt vypadá takto:

Symbol představující operaci měření.

Q# implementuje operátor Míry pro tento účel.

Podobně platí, že dílčí

Diagram obvodu představující řízenou operaci

dává klasicky ovládanou bránu, kde $G$ je aplikován pod podmínkou klasického řídicího bitu na hodnotě $1$.

Schéma teleportačního obvodu

Kvantová teleportace je možná nejlepším kvantovým algoritmem pro ilustraci těchto komponent.

Kvantová teleportace je metoda pro přesouvání dat v kvantovém počítači (nebo dokonce mezi vzdálenými kvantovými počítači v kvantové síti) pomocí propletení a měření. Zajímavé je, že je ve skutečnosti schopen přesunout kvantový stav, řekněme hodnotu v daném qubitu, z jednoho qubitu do druhého, aniž by věděl, jaká je hodnota qubitu. To je nezbytné k tomu, aby protokol fungoval podle zákonů kvantové mechaniky.

Kvantový teleportační obvod je zde zobrazen spolu s anotovanou verzí obvodu, která ilustruje, jak číst kvantový obvod.

Diagram kvantového teleportačního okruhu

Další kroky