Sdílet prostřednictvím


Úvod do opravy kvantových chyb

Tento článek vysvětluje základy opravy kvantových chyb, typy kvantových chyb a některé běžné kódy oprav kvantových chyb. Poskytuje také příklad, jak opravit chyby pomocí tří qubitového kódu.

Co je oprava kvantových chyb?

Oprava kvantových chyb (QEC) je technika, která nám umožňuje chránit kvantové informace před chybami. Oprava chyb je obzvláště důležitá v kvantových počítačích, protože efektivní kvantové algoritmy využívají rozsáhlé kvantové počítače, které jsou citlivé na šum.

Základním principem opravy kvantových chyb je, že se zvýší počet bitů použitých ke kódování daného množství informací. Tato redundance umožňuje kódu zjišťovat a opravovat chyby.

Míry chyb pro kvantové počítače jsou obvykle vyšší než chyby klasického počítače kvůli problémům spojeným s sestavováním a operačními kvantovými systémy. Šum, dekoherence a nedostatky v kvantových branách můžou způsobit chyby v kvantových výpočtech. Aktuální kvantové počítače mají chybovost v rozsahu od 1 do 0,1 %. Jinými slovy to znamená, že v průměru jeden z každých 100 až 1000 kvantových gate operací vede k chybě.

Typy kvantových chyb

Existují dva základní typy kvantových chyb: překlopení bitů a překlopení fází.

K chybám překlopení bitů dochází, když se qubit změní z $\ket{0}$ na $\ket{1}$ nebo opačně z $\ket{1}$ na $\ket{0}$. Chyby překlopení bitů se také označují jako \sigma_x-errors, protože mapují stavy qubitů $\sigma_x$$\ket{0}= a \ket{\sigma_x .{1}$$\ket{{1}=\ket{0}$ Tato chyba je analogická klasické chybě překlápění bitu.

K chybám překlopení fáze dochází, když qubit změní svou fázi. Označují se také jako \sigma_z-errors, protože mapují stavy $qubitů \sigma_z $$\ket{0}=a \ket{\sigma_z{0}$$\ket{ -.{1}=\ket{1}$ Tento typ chyby nemá žádný klasický analog.

V kvantových výpočtech se kvantové chyby můžou projevit jako bitové překlopení, překlopení fází nebo kombinace obou.

Jak funguje oprava kvantových chyb?

Kódy oprav kvantových chyb fungují kódováním kvantových informací do větší sady qubitů označovaných jako fyzické qubity. Společný stav fyzických qubitů představuje logický qubit.

Fyzické qubity podléhají chybám způsobeným dekoherencí a nesrovnalostmi v kvantových branách. Kód je navržený tak, aby bylo možné detekovat a opravit chyby měřením některých qubitů v kódu.

Představte si například, že chcete odeslat zprávu $\ket{0}$s jedním qubitem . K zakódování zprávy můžete použít tři fyzické qubity, posílající $\ket{000}$, což je známé jako kódové slovo. Tento kód pro opravu chyb je kód opakování, protože zpráva se opakuje třikrát.

Teď si představte, že během přenosu dojde k jedné chybě překlopení bitů, aby příjemce obdržel stav $\ket{010}$. V tomto scénáři může příjemce odvodit, že zamýšlená zpráva je $\ket{000}$. Pokud však dojde u zprávy ke dvěma chybám překlopení bitu, příjemce může odvodit nesprávnou zprávu. A konečně, pokud jsou všechny tři bity překlopené tak, aby se původní zpráva $\ket{000}$ stala $\ket{111}$, příjemce nemá žádný způsob, jak zjistit chybu.

Vzdálenost kódu QEC je minimální počet chyb, které mění jedno kódové slovo na jiné, tj. počet chyb, které nelze odhalit. Vzdálenost $kódu d$ lze definovat jako

$$d = 2t + 1$$

kde $t$ je počet chyb, které může kód opravit. Tříbitový kód může například detekovat a opravit chybu jednoho bit-flipu, takže $t = 1$, a proto je kódová vzdálenost $d = 3$.

Všimněte si, že kódy opakování, jako je tříbitový kód použitý v tomto příkladu, můžou opravit pouze chyby překlopení bitů a ne chyby překlopení fází. K opravě obou typů chyb jsou potřeba sofistikovanější kódy oprav kvantových chyb.

Typy kódů QEC

Existuje mnoho různých typů kódů QEC, z nichž každá má vlastní vlastnosti a výhody. Mezi běžné kódy QEC patří:

  • Kód opakování: Nejjednodušší kód opravy kvantových chyb, kde je jeden qubit kódován do více qubitů tím, že ho několikrát opakuje. Kód opakování může opravit chyby překlopení bitů, ale ne chyby překlopení fází.

  • Kód Shor: První kód opravy kvantových chyb vyvinutý Peterem Shorem. Zakóduje jeden logický qubit do devíti fyzických qubitů. Kód Shor může opravit chybu překlopení jedním bitem nebo chybu překlopení jedné fáze, ale nemůže opravit oba typy chyb najednou.

  • Kód Steane: Jedná se o sedmiqubitový kód, který je schopen opravit chyby překlopení bitů i fáze. Má výhodu odolnosti proti chybám, což znamená, že samotný proces opravy chyb nezavádí další chyby.

  • Kód povrchu: Jedná se o topologický kód opravy chyb, který používá dvojrozměrnou mřížku qubitů ke kódování logických qubitů. Má vysokou prahovou hodnotu pro opravu chyb a považuje se za jednu z nejslibnějších technik pro kvantové výpočty odolné proti chybám. Azure Quantum Resource Estimator používá povrchový kód.

  • Hastings-Haah kód: Tento kód korekce kvantových chyb nabízí lepší nároky na prostor a čas než povrchové kódy na qubitech Majorany v mnoha režimech. U bránových instrukčních sad je režie větší, takže je tento přístup méně efektivní než povrchový kód.

Příklad: Tří-kvibitový kód

Kód opravy chyb se třemi qubity je jednoduchý kód opakování, který dokáže rozpoznat a opravit chybu překlopení jednoho bitu. Zakóduje jeden logický qubit do tří fyzických qubitů tak, že qubit opakuje třikrát.

Tip

Podívejte se na ukázku Q# kódu pro tří qubitový kód.

Představte si, že chcete odeslat libovolný jeden qubit $\ket{\phi}=\alpha\ket{{0} + \beta\ket{1}$. Abyste se vyhnuli chybám, kódujte základní stavy $\ket{0}$ a $\ket{1}$ do společného stavu tří qubitů. Dva logické stavy jsou $\ket{0_L}=\ket{000}$ a $\ket{1_L.}=\ket{111}$

Jeden qubit $\ket{\phi}=\alpha\ket{{0}+ \beta\ket{1}$ je proto kódován takto:

$$\ket{\phi_L}=\alpha\ket{{000} + \beta\ket{{111}=\alpha\ket{0_L} + \beta\ket{1_L}$$

Pojďme si rozdělit kroky tříqubitového kódu.

Příprava qubitů

Nejprve zakódujete jeden qubit $\ket{\phi}=\alpha\ket{{0} +\beta\ket{1}$ do společného stavu tří qubitů.

Dále připravíte dva další qubity ve stavu $\ket{0}$. Globální stav všech tří qubitů je $tedy (\alpha\ket{0} +\beta\ket{1})\ket{0}\ket{0}=\alpha\ket{{000} + . \beta\ket{{100}$

Nakonec zakódujete jeden qubit do společného stavu tří qubitů pomocí dvou operací CNOT. První operace CNOT používá první qubit jako kontrolní a působí na druhý qubit, což vede k $\alpha\ket{000} + \beta\ket{110}$. Druhý CNOT používá první qubit jako kontrolu a působí na třetí qubit. Stav tří qubitů je nyní $\alpha\ket{000} + \beta\ket{111}$.

Odesílání qubitů

Pošlete všechny tři qubity. Za předpokladu, že může dojít k chybám překlopení jednoho bitu, jsou přijaté qubity v jednom z následujících stavů:

Stav Chyba
$\alpha \ket{000} + \beta\ket{111}$ Bez chyby
$\alpha \ket{100} + \beta\ket{011}$ Qubit 1
$\alpha \ket{010} + \beta\ket{101}$ Qubit 2
$\alpha \ket{001} + \beta\ket{110}$ Qubit 3

Přidání pomocných qubitů

Nejprve představíte dva další qubity, připravené ve stavu $\ket{00}$. Tento pomocný pár qubitů slouží k extrakci informací o chybě bez přímého měření nebo získání informací o logickém stavu.

Dále provedete čtyři operace CNOT: první dvě operace používají první a druhé přijaté qubity jako řízení a pracují s prvním pomocným qubitem a poslední dvě operace používají první a třetí přijaté qubity jako řízení a pracují s druhým pomocným bitem. Celkový stav všech pěti qubitů je teď:

Stát Chyba
$(\alpha\ket{000} + \beta\ket{111})\ket{00}$ Bez chyby
$(\alpha\ket{100} + \beta\ket{011})\ket{11}$ Qubit 1
$(\alpha\ket{010} + \beta\ket{101})\ket{10}$ Qubit 2
$(\alpha\ket{001} + \beta\ket{110})\ket{01}$ Qubit 3

Načítání syndromu chyby

Chcete-li načíst informace o chybě, změříte dva pomocné qubity ve výpočetních stavech $\ket{0}$ a $\ket{1}$. Tímto způsobem obnovíte společný stav, který se nazývá syndrom chyby, protože pomáhá diagnostikovat chyby v přijatých qubitech.

Teď víte, ve kterých ze čtyř možných stavů jsou tři přijaté qubity. Chybu můžete opravit použitím operace opravy. V tomto případě pracujete s chybami překlopení bitů, takže oprava spočívá v operaci $\sigma_x$ aplikované na jeden (nebo na žádný) qubitu.

Pokud je syndrom chyby $\ket{00}$, pak přijaté qubity jsou ve stavu $\alpha\ket{{000} + \beta\ket{{111}$, což je stav, který jste původně odeslali. Pokud je $\ket{11}$syndrom chyby, jsou přijaté qubity ve stavu $\alpha\ket{{100} + b\ket{{011}$. U prvního qubitu je chyba překlopení bitu, kterou můžete opravit použitím $operace \sigma_x$ na prvním qubitu.

Syndrom chyby Sbalený stav Oprava
$\ket{00}$ $ \alpha \ket{000} + \beta\ket{111}$ Nic nedělat
$\ket{01}$ $\alpha \ket{100} + \beta\ket{011}$ Použijte $\sigma_x$ na qubit 3
$\ket{10}$ $\alpha \ket{010} + \beta\ket{101}$ Aplikovat $\sigma_x$ na qubit 2
$\ket{11}$ $\alpha \ket{001} + \beta\ket{110}$ Aplikujte $\sigma_x$ na qubit 1

Extrahování původního qubitu

Nakonec k extrakci jednoho qubitu, který chcete přenést původně, použijete dvě operace CNOT: jeden používá první qubit jako řízení a působí na druhý qubit a druhý qubit používá první qubit jako řízení a působí na třetí.

Stav prvního qubitu je nyní $\alpha\ket{0} + \beta\ket{1}$, což je původní qubit, který jste chtěli přenést.

Důležité

Kód QEC nezíská žádné informace týkající se koeficientů $\alpha$ , $\beta$a proto superpozice výpočetního stavu zůstanou během opravy nedotčené.