```html Autorzy: Sergey Bravyi Andrew W. Cross Jay M. Gambetta Dmitri Maslov Patrick Rall Theodore J. Yoder Abstrakt Nagromadzenie fizycznych błędów , , uniemożliwia wykonywanie wielkoskalowych algorytmów w obecnych komputerach kwantowych. Kwantowa korekcja błędów obiecuje rozwiązanie poprzez kodowanie kwantów logicznych w większej liczbie kwantów fizycznych, tak aby błędy fizyczne były na tyle tłumione, aby umożliwić wykonanie pożądanej obliczenia z akceptowalną dokładnością. Kwantowa korekcja błędów staje się praktycznie wykonalna, gdy fizyczny wskaźnik błędów spadnie poniżej wartości progowej, która zależy od wyboru kodu kwantowego, obwodu pomiaru syndromu i algorytmu dekodowania . Prezentujemy kompletny protokół kwantowej korekcji błędów, który implementuje odporną na błędy pamięć w oparciu o rodzinę kodów o niskiej gęstości sprawdzeń parzystości (LDPC) . Nasze podejście osiąga próg błędu wynoszący 0,7% dla standardowego modelu szumu opartego na obwodach, na równi z kodem powierzchniowym , , , , który przez 20 lat był wiodącym kodem pod względem progu błędu. Cykl pomiaru syndromu dla kodu o długości z naszej rodziny wymaga kwantów pomocniczych i obwodu o głębokości 8 z bramkami CNOT, inicjalizacją kwantów i pomiarami. Wymagana łączność kwantów to graf stopnia 6, złożony z dwóch rozłącznych planarne podgrafów. W szczególności pokazujemy, że 12 kwantów logicznych można zachować przez prawie 1 milion cykli pomiaru syndromu, używając łącznie 288 kwantów fizycznych, przy założeniu fizycznego wskaźnika błędów 0,1%, podczas gdy kod powierzchniowy wymagałby prawie 3000 kwantów fizycznych do osiągnięcia takiej wydajności. Nasze wyniki zbliżają demonstracje odpornej na błędy kwantowej pamięci o niskim narzucie w zasięgu obecnych procesorów kwantowych. 1 2 3 4 k n 5 6 7 8 9 10 n n Główne Obliczenia kwantowe przyciągnęły uwagę ze względu na ich zdolność do oferowania asymptotycznie szybszych rozwiązań dla zestawu problemów obliczeniowych w porównaniu z najlepszymi znanymi algorytmami klasycznymi . Uważa się, że działający, skalowalny komputer kwantowy może pomóc w rozwiązywaniu problemów obliczeniowych w takich dziedzinach jak odkrycia naukowe, badania materiałowe, chemia i projektowanie leków, aby wymienić tylko kilka , , , . 5 11 12 13 14 Główną przeszkodą w budowie komputera kwantowego jest kruchość informacji kwantowej, spowodowana różnymi źródłami szumu, które na nią wpływają. Ponieważ izolacja komputera kwantowego od zewnętrznych efektów i sterowanie nim w celu wywołania pożądanego obliczenia są ze sobą sprzeczne, szum wydaje się nieunikniony. Źródła szumu obejmują niedoskonałości kwantów, użytych materiałów, aparaturę sterującą, błędy przygotowania stanu i pomiaru, a także różnorodne czynniki zewnętrzne, od lokalnych czynników stworzonych przez człowieka, takich jak pola elektromagnetyczne, po te inherentne dla Wszechświata, takie jak promieniowanie kosmiczne. Zob. ref. dla podsumowania. Chociaż niektóre źródła szumu można wyeliminować dzięki lepszemu sterowaniu , materiałom i ekranowaniu , , , kilka innych źródeł wydaje się trudnych, jeśli w ogóle możliwych do usunięcia. Te ostatnie mogą obejmować emisję spontaniczną i wymuszoną w uwięzionych jonach , , oraz interakcję z otoczeniem (efekt Purcella) w obwodach nadprzewodzących — obejmujących obie wiodące technologie kwantowe. W związku z tym korekcja błędów staje się kluczowym wymogiem do budowy działającego, skalowalnego komputera kwantowego. 15 16 17 18 19 20 1 2 3 Możliwość kwantowej odporności na błędy jest dobrze ugruntowana . Kodowanie logicznego kwantu w sposób redundantny w wielu kwantach fizycznych umożliwia diagnozowanie i korygowanie błędów poprzez wielokrotny pomiar syndromów operatorów sprawdzających parzystość. Jednak korekcja błędów jest korzystna tylko wtedy, gdy fizyczny wskaźnik błędów jest poniżej pewnej wartości progowej, która zależy od konkretnego protokołu korekcji błędów. Pierwsze propozycje kwantowej korekcji błędów, takie jak kody skonkatenowane , , , skupiały się na demonstracji teoretycznej możliwości tłumienia błędów. Wraz z dojrzewaniem zrozumienia kwantowej korekcji błędów i możliwości technologii kwantowych, uwaga przesunęła się na znajdowanie praktycznych protokołów kwantowej korekcji błędów. Doprowadziło to do rozwoju kodu powierzchniowego , , , , który oferuje wysoki próg błędu bliski 1%, szybkie algorytmy dekodowania i kompatybilność z istniejącymi procesorami kwantowymi opartymi na dwuwymiarowej (2D) siatce kwantów. Małe przykłady kodu powierzchniowego z jednym kwantem logicznym zostały już zademonstrowane eksperymentalnie przez kilka grup , , , , . Jednak skalowanie kodu powierzchniowego do 100 lub więcej kwantów logicznych byłoby nieopłacalnie drogie ze względu na jego niską wydajność kodowania. To wzbudziło zainteresowanie bardziej ogólnymi kodami kwantowymi znanymi jako kody o niskiej gęstości sprawdzeń parzystości (LDPC) . Najnowsze postępy w badaniach nad kodami LDPC sugerują, że mogą one osiągnąć kwantową odporność na błędy ze znacznie wyższą wydajnością kodowania . Tutaj skupiamy się na badaniu kodów LDPC, ponieważ naszym celem jest znalezienie kodów i protokołów kwantowej korekcji błędów, które są zarówno wydajne, jak i możliwe do zademonstrowania w praktyce, biorąc pod uwagę ograniczenia technologii obliczeń kwantowych. 4 21 22 23 7 8 9 10 24 25 26 27 28 6 29 Kod kwantowej korekcji błędów jest typu LDPC, jeśli każdy operator sprawdzający kodu działa tylko na kilka kwantów, a każdy kwant uczestniczy tylko w kilku sprawdzeniach. Ostatnio zaproponowano kilka wariantów kodów LDPC, w tym kody powierzchniowe hiperboliczne , , , produkt hipergrafu , kody z produktem zbalansowanym , kody dwublokowe oparte na grupach skończonych , , , oraz kody Tannera kwantowego , . Te ostatnie okazały się , asymptotycznie „dobre” w sensie oferowania stałej szybkości kodowania i liniowej odległości: parametru kwantyfikującego liczbę błędów, które można skorygować. W przeciwieństwie do tego, kod powierzchniowy ma asymptotycznie zerową szybkość kodowania i tylko odległość proporcjonalną do pierwiastka kwadratowego z długości. Zastąpienie kodu powierzchniowego kodem LDPC o wysokiej szybkości i dużej odległości mogłoby mieć istotne implikacje praktyczne. Po pierwsze, narzut odporności na błędy (stosunek liczby kwantów fizycznych do logicznych) mógłby zostać znacząco zmniejszony. Po drugie, kody o dużej odległości wykazują bardzo gwałtowny spadek błędu logicznego: gdy prawdopodobieństwo błędu fizycznego przekroczy wartość progową, wielkość tłumienia błędu osiągniętego przez kod może wzrosnąć o rzędy wielkości, nawet przy niewielkim zmniejszeniu fizycznego wskaźnika błędów. Ta cecha sprawia, że kody LDPC o dużej odległości są atrakcyjne do demonstracji w bliskiej przyszłości, które prawdopodobnie będą działać w reżimie bliskim progu. Jednak wcześniej uważano, że przewyższenie kodu powierzchniowego dla realistycznych modeli szumu, w tym błędów pamięci, bramki oraz przygotowania stanu i pomiaru, może wymagać bardzo dużych kodów LDPC z ponad 10 000 kwantów fizycznych . 30 31 32 33 34 35 36 37 38 39 40 39 40 31 Prezentujemy tutaj kilka konkretnych przykładów kodów LDPC o wysokiej szybkości z kilkuset kwantami fizycznymi, wyposażonych w obwód pomiaru syndromu o niskiej głębokości, wydajny algorytm dekodowania i protokół odporności na błędy do adresowania poszczególnych kwantów logicznych. Kody te wykazują próg błędu bliski 0,7%, wykazują doskonałą wydajność w reżimie bliskim progu i oferują 10-krotne zmniejszenie narzutu kodowania w porównaniu z kodem powierzchniowym. Wymagania sprzętowe do realizacji naszych protokołów korekcji błędów są stosunkowo łagodne, ponieważ każdy kwant fizyczny jest sprzężony za pomocą dwukwantowych bramek z tylko sześcioma innymi kwantami. Chociaż graf łączności kwantów nie jest lokalnie osadzalny w siatce 2D, można go rozłożyć na dwa rozłączne planarne podgrafy. Jak argumentujemy poniżej, taka łączność kwantów dobrze pasuje do architektur opartych na kwantach nadprzewodzących. Nasze kody są uogólnieniem kodów rowerowych zaproponowanych przez MacKay'a i wsp. i szczegółowo badanych w refs. , , . Nazwaliśmy nasze kody dwuwymiarowymi rowerowymi (BB), ponieważ są one oparte na wielomianach dwuwymiarowych, jak szczegółowo opisano w . Są to kody stabilizatorowe typu Calderbank–Shor–Steane (CSS) , , które można opisać jako zbiór sześciokwantowych operatorów sprawdzających (stabilizatorów) składających się z operatorów Pauliego i . Ogólnie rzecz biorąc, kod BB jest podobny do dwuwymiarowego kodu torowego . W szczególności kwanty fizyczne kodu BB można rozłożyć na dwuwymiarowej siatce z okresowymi warunkami brzegowymi, tak że wszystkie operatory sprawdzające są uzyskiwane z pojedynczej pary sprawdzeń i poprzez zastosowanie przesunięć poziomych i pionowych siatki. Jednak w przeciwieństwie do stabilizatorów plaquety i wierzchołka opisujących kod torowy, operatory sprawdzające kodów BB nie są lokalne geometrycznie. Ponadto każde sprawdzenie działa na sześć kwantów zamiast czterech. Opiszemy kod za pomocą grafu Tannera takiego, że każdy wierzchołek reprezentuje albo kwant danych, albo operator sprawdzający. Wierzchołek sprawdzający i wierzchołek danych są połączone krawędzią, jeśli -ty operator sprawdzający działa nietrywialnie na -ty kwant danych (poprzez zastosowanie Pauliego lub ). Patrz rys. dla przykładów grafów Tannera kodów powierzchniowego i BB, odpowiednio. Graf Tannera dowolnego kodu BB ma stopień wierzchołka sześć i grubość grafu równą dwa, co oznacza, że można go rozłożyć na dwa rozłączne planarne podgrafy ( ). Grubość 2 łączności kwantów dobrze pasuje do kwantów nadprzewodzących sprzężonych rezonatorami mikrofalowymi. Na przykład dwie planarne warstwy sprzęgaczy i ich linie sterujące mogą być przymocowane do górnej i dolnej strony chipa zawierającego kwanty, a obie strony zespolone. 41 35 36 42 Metodach 43 44 X Z 7 X Z G G i j i j X Z 1a,b 29 Metody , Graf Tannera kodu powierzchniowego, dla porównania. , Graf Tannera kodu BB z parametrami [[144, 12, 12]] osadzonego w torusie. Każda krawędź grafu Tannera łączy kwant danych z wierzchołkiem sprawdzającym. Kwanty danych związane z rejestrami ( ) i ( ) są pokazane jako niebieskie i pomarańczowe kółka. Każdy wierzchołek ma sześć przyległych krawędzi, w tym cztery krawędzie krótkiego zasięgu (skierowane na północ, południe, wschód i zachód) oraz dwie krawędzie dalekiego zasięgu. Pokazujemy tylko kilka krawędzi dalekiego zasięgu, aby uniknąć bałaganu. Krawędzie przerywane i ciągłe wskazują dwa planarne podgrafy pokrywające graf Tannera, patrz . , Szkic rozszerzenia grafu Tannera do pomiaru i zgodnie z ref. , dodany do kodu powierzchniowego. Kwant pomocniczy odpowiadający pomiarowi może być podłączony do kodu powierzchniowego, umożliwiając operacje ładowania-zapisu dla wszystkich kwantów logicznych za pomocą teleportacji kwantowej i niektórych unitarnych operacji logicznych. Ten rozszerzony graf Tannera również ma implementację w architekturze grubości 2 poprzez krawędzie i ( ). a b q L q R Metody c 50 A B Metody Kod BB z parametrami [[ , , ]] koduje kwantów logicznych w kwantach danych oferując odległość kodu , co oznacza, że każdy błąd logiczny obejmuje co najmniej kwantów danych. Dzielimy kwantów danych na rejestry ( ) i ( ) o rozmiarze /2 każdy. Każde sprawdzenie działa na trzy kwanty z ( ) i trzy kwanty z ( ). Kod opiera się na kwantach pomocniczych sprawdzających do pomiaru syndromu błędu. Dzielimy kwantów sprawdzających na rejestry ( ) i ( ) o rozmiarze /2, które zbierają syndromy typu i , odpowiednio. W sumie kodowanie opiera się na 2 kwantach fizycznych. Netto szybkość kodowania wynosi zatem = /(2 ). Na przykład standardowa architektura kodu powierzchniowego koduje = 1 kwant logiczny w = 2 kwantach danych dla kodu o odległości i wykorzystuje − 1 kwantów sprawdzających do pomiarów syndromu. Netto szybkość kodowania wynosi ≈ 1/(2 2), co szybko staje się niepraktyczne, ponieważ jesteśmy zmuszeni wybrać dużą odległość kodu, ze względu, na przykład, na fizyczne błędy bliskie wartości progowej. W przeciwieństwie do tego, kody BB mają szybkość kodowania ≫ 1/ 2, patrz tabela dla przykładów kodów. O ile nam wiadomo, wszystkie kody pokazane w tabeli są nowe. Kod o odległości 12 [[144, 12, 12]] może być najbardziej obiecujący dla demonstracji w bliskiej przyszłości, ponieważ łączy dużą odległość z wysoką netto szybkością kodowania = 1/24. Dla porównania, kod powierzchniowy o odległości 11 ma netto szybkość kodowania = 1/241. Poniżej pokazujemy, że kod BB o odległości 12 przewyższa kod powierzchniowy o odległości 11 w eksperymentalnie istotnym zakresie wskaźników błędów. n k d k n d d n q L q R n q L q R n n q X q Z n X Z n r k n k n d d n r d r d 1 1 r r Aby zapobiec nagromadzeniu błędów, należy być w stanie wystarczająco często mierzyć syndrom błędu. Jest to realizowane za pomocą obwodu pomiaru syndromu, który sprzęga kwanty danych w nośniku każdego operatora sprawdzającego z odpowiednim kwantem pomocniczym za pomocą sekwencji bramek CNOT. Następnie mierzone są kwanty sprawdzające, ujawniając wartość syndromu błędu. Czas potrzebny do zaimplementowania obwodu pomiaru syndromu jest proporcjonalny do jego głębokości: liczby warstw bramek składających się z nieprzenikających się CNOT-ów. Ponieważ nowe błędy pojawiają się podczas wykonywania obwodu pomiaru syndromu, jego głębokość powinna być zminimalizowana. Pełny cykl pomiaru syndromu dla kodu BB jest zilustrowany na rys. . Cykl syndromu wymaga tylko siedmiu warstw CNOT-ów, niezależnie od długości kodu. Kwanty sprawdzające są inicjalizowane i mierzone na początku i na końcu cyklu syndromu, odpowiednio (patrz po szczegóły). Obwód szanuje symetrię cyklicznego przesunięcia podstawowego kodu. 2 Metody Pełny cykl pomiarów syndromu wykorzystujący siedem warstw CNOT-ów. Dostarczamy lokalny widok obwodu, który obejmuje tylko jeden kwant danych z każdego rejestru ( ) i ( ). Obwód jest symetryczny względem przesunięć poziomych i pionowych grafu Tannera. Każdy kwant danych jest sprzężony przez CNOT-y z trzema kwantami sprawdzającymi *X* i trzema kwantami sprawdzającymi *Z*: patrz po więcej szczegółów. q L q R Metody Pełny protokół korekcji błędów wykonuje c ≫ 1 cykli pomiaru syndromu, a następnie wywołuje dekoder: algorytm klasyczny, który przyjmuje jako dane wejściowe zmierzone syndromy i zwraca przypuszczenie dotyczące ostatecznego błędu na kwantach danych. Korekcja błędów powiedzie się, jeśli przypuszczony i rzeczywisty błąd się pokrywają modulo iloczyn operatorów sprawdzających. W tym przypadku błędy mają takie samo działanie na dowolny zakodowany (logiczny) stan. Zastosowanie odwrotności przypuszczonego błędu zwraca kwanty danych do pierwotnego stanu logicznego. W przeciwnym razie, jeśli przypuszczony i rzeczywisty błąd różnią się nie-trywialnym operatorem logicznym, korekcja błędów zawodzi, prowadząc do błędu logicznego. Nas N