```html Autorzy: Sergey Bravyi Andrew W. Cross Jay M. Gambetta Dmitri Maslov Patrick Rall Theodore J. Yoder Abstrakt Akumulacja błędów fizycznych , , uniemożliwia wykonywanie wielkoskalowych algorytmów w obecnych komputerach kwantowych. Kwantowe korygowanie błędów obiecuje rozwiązanie poprzez kodowanie logicznych kubitów w większej liczbie kubitów fizycznych, tak aby błędy fizyczne były tłumione na tyle, aby umożliwić przeprowadzenie pożądanej obliczenia z dopuszczalną wiernością. Kwantowe korygowanie błędów staje się praktycznie wykonalne, gdy fizyczna szybkość błędów spadnie poniżej wartości progowej, która zależy od wyboru kodu kwantowego, obwodu pomiaru syndromu i algorytmu dekodowania . Prezentujemy kompleksowy protokół kwantowego korygowania błędów, który implementuje odporną na błędy pamięć w oparciu o rodzinę kodów o niskiej gęstości parzystości . Nasze podejście osiąga próg błędu 0,7% dla standardowego obwodowego modelu szumów, 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 kubitów pomocniczych i obwodu o głębokości 8 z bramkami CNOT, inicjalizacją kubitów i pomiarami. Wymagana łączność kubitów to graf o stopniu 6, składający się z dwóch rozłącznych podgrafów planaranych. W szczególności pokazujemy, że 12 logicznych kubitów można zachować przez prawie 1 milion cykli pomiaru syndromu przy użyciu łącznie 288 kubitów fizycznych, zakładając fizyczną szybkość błędów 0,1%, podczas gdy kod powierzchniowy wymagałby prawie 3000 kubitów fizycznych do osiągnięcia takiej wydajności. Nasze wyniki sprawiają, że demonstracje odpornej na błędy, niskonakładowej kwantowej pamięci stają się osiągalne dla procesorów kwantowych bliskiej przyszłości. 1 2 3 4 k n 5 6 7 8 9 10 n n Główna część Obliczenia kwantowe przyciągnęły uwagę ze względu na ich zdolność do oferowania asymptotycznie szybszych rozwiązań dla zbioru 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łów, chemia i projektowanie leków, by wymienić tylko kilka , , , . 5 11 12 13 14 Główną przeszkodą w budowie komputera kwantowego jest kruchość informacji kwantowej, wynikająca z różnych źródeł szumu, które na nią wpływają. Ponieważ izolowanie komputera kwantowego od zewnętrznych efektów i kontrolowanie go w celu wywołania pożądanego obliczenia są ze sobą sprzeczne, szum wydaje się nieunikniony. Źródła szumu obejmują niedoskonałości kubitów, użyte materiały, aparaturę kontrolną, błędy przygotowania stanu i pomiaru oraz szereg czynników zewnętrznych, od lokalnych czynników stworzonych przez człowieka, takich jak pola elektromagnetyczne, po te inherentne dla Wszechświata, takie jak promienie kosmiczne. Zob. odniesienie dla podsumowania. Chociaż niektóre źródła szumu można wyeliminować dzięki lepszemu sterowaniu , materiałom i ekranowaniu , , , wiele innych źródeł wydaje się trudnych, jeśli w ogóle możliwych do usunięcia. Ostatni rodzaj może obejmować spontaniczne i wymuszone emisje 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 korygowanie 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 kubitu nadmiarowo w wielu fizycznych kubitach umożliwia diagnozowanie i korygowanie błędów poprzez powtarzające się mierzenie syndromów operatorów kontroli parzystości. Jednakże, korygowanie błędów jest korzystne tylko wtedy, gdy fizyczna szybkość błędów jest poniżej pewnej wartości progowej, która zależy od konkretnego protokołu korygowania błędów. Pierwsze propozycje kwantowego korygowania błędów, takie jak kody skonkatenowane , , , skupiały się na zademonstrowaniu teoretycznej możliwości tłumienia błędów. Wraz z dojrzewaniem zrozumienia kwantowego korygowania błędów i możliwości technologii kwantowych, uwaga przesunęła się na znajdowanie praktycznych protokołów kwantowego korygowania 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) kwadratowej łączności kubitów. Małe przykłady kodu powierzchniowego z jednym logicznym kubitem zostały już zademonstrowane eksperymentalnie przez kilka grup , , , , . Jednakże, skalowanie kodu powierzchniowego do 100 lub więcej logicznych kubitów byłoby niewykonalnie kosztowne ze względu na jego słabą wydajność kodowania. To wzbudziło zainteresowanie bardziej ogólnymi kodami kwantowymi, znanymi jako kody o niskiej gęstości parzystości (LDPC) . Ostatnie 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 badaniach kodów LDPC, ponieważ naszym celem jest znalezienie kodów i protokołów kwantowego korygowania 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 korygujący błędy kwantowe jest typu LDPC, jeśli każdy operator sprawdzający kodu działa tylko na kilka kubitów, a każdy kubit uczestniczy tylko w kilku sprawdzeniach. Ostatnio zaproponowano kilka wariantów kodów LDPC, w tym hiperboliczne kody powierzchniowe , , , produkt hipergrafowy , zbalansowane kody produktowe , dwublokowe kody oparte na grupach skończonych , , , oraz kwantowe kody Tannera , . Te ostatnie okazały się , asymptotycznie „dobre” w sensie oferowania stałej szybkości kodowania i liniowej odległości: parametru kwantyfikującego liczbę możliwych do skorygowania błędów. W przeciwieństwie do tego, kod powierzchniowy ma asymptotycznie zerową szybkość kodowania i tylko odległość proporcjonalną do pierwiastka kwadratowego. Zastąpienie kodu powierzchniowego kodem LDPC o wysokiej szybkości i dużej odległości mogłoby mieć znaczące praktyczne implikacje. Po pierwsze, narzut odporności na błędy (stosunek liczby kubitów fizycznych do logicznych) można by znacznie zmniejszyć. Po drugie, kody o dużej odległości wykazują bardzo gwałtowny spadek logicznej szybkości błędów: gdy prawdopodobieństwo błędu fizycznego przekroczy wartość progową, wielkość tłumienia błędów osiągnięta przez kod może wzrosnąć o rzędy wielkości, nawet przy niewielkiej redukcji fizycznej szybkości błędów. Ta cecha sprawia, że kody LDPC o dużej odległości są atrakcyjne dla demonstracji w bliskiej przyszłości, które prawdopodobnie będą działać w reżimie bliskim progowemu. Jednakże, wcześniej sądzono, że przewyższenie kodu powierzchniowego dla realistycznych modeli szumów, w tym szumów pamięci, bramki oraz przygotowania stanu i pomiaru, może wymagać bardzo dużych kodów LDPC z ponad 10 000 kubitów fizycznych . 30 31 32 33 34 35 36 37 38 39 40 39 40 31 Tutaj prezentujemy kilka konkretnych przykładów kodów LDPC o wysokiej szybkości z kilkuset kubitami fizycznymi, wyposażonych w obwód pomiaru syndromu o niskiej głębokości, wydajny algorytm dekodowania i odporny na błędy protokół do adresowania poszczególnych logicznych kubitów. Kody te wykazują próg błędu bliski 0,7%, wykazują doskonałą wydajność w reżimie bliskim progowemu i oferują 10-krotne zmniejszenie narzutu kodowania w porównaniu z kodem powierzchniowym. Wymagania sprzętowe do realizacji naszych protokołów korygowania błędów są stosunkowo łagodne, ponieważ każdy kubit fizyczny jest połączony za pomocą dwukubitowych bramek z tylko sześcioma innymi kubitami. Chociaż graf łączności kubitów nie jest lokalnie osadzalny w siatce 2D, można go zdekomponować na dwa planarne podgrafy o stopniu 6. Jak argumentujemy poniżej, taka łączność kubitów jest dobrze dopasowana do architektur opartych na kubitach nadprzewodzących. Nasze kody są uogólnieniem kodów rowerowych zaproponowanych przez MacKay'a i współpracowników i szczegółowo zbadanych w odniesieniach , , . Nazwaliśmy nasze kody dwuwymiennymi rowerowymi (BB), ponieważ są one oparte na dwuwymiennych wielomianach, jak szczegółowo opisano w . Są to kody stabilizatorów typu Calderbank–Shor–Steane (CSS) , , które można opisać jako zbiór sześciokubitowych operatorów sprawdzających (stabilizatorów) złożonych z operatorów Pauliego i . Ogólnie rzecz biorąc, kod BB jest podobny do dwuwymiarowego kodu toroidalnego . W szczególności fizyczne kubity kodu BB można ułożyć na siatce dwuwymiarowej 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że, w przeciwieństwie do stabilizatorów plaquet i wierzchołków opisujących kod toroidalny, operatory sprawdzające kodów BB nie są lokalne geometrycznie. Ponadto, każde sprawdzenie działa na sześć kubitów zamiast na cztery. Opiszemy kod za pomocą grafu Tannera , tak że każdy wierzchołek reprezentuje albo kubit 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 kubit danych (poprzez zastosowanie Pauliego lub ). Zob. rys. dla przykładów grafów Tannera dla kodów powierzchniowych i BB, odpowiednio. Graf Tannera dowolnego kodu BB ma stopień wierzchołka równy sześć, a grubość grafu równą dwa, co oznacza, że można go zdekomponować na dwa rozłączne podgrafy planarne ( ). Łączność kubitów o grubości 2 jest dobrze dopasowana do kubitów nadprzewodzących połączonych rezonatorami mikrofalowymi. Na przykład, dwie planarne warstwy łączników i ich linie sterujące mogą być dołączone do górnej i dolnej strony chipa zawierającego kubity, a obie strony mogą być dopasowane. 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]] osadzony w torusie. Każda krawędź grafu Tannera łączy dane i wierzchołek sprawdzający. Kubity danych skojarzone z rejestrami ( ) i ( ) są pokazane jako niebieskie i pomarańczowe kółka. Każdy wierzchołek ma sześć incydentnych krawędzi, w tym cztery krawędzie krótkiego zasięgu (wskazujące na północ, południe, wschód i zachód) oraz dwie krawędzie długiego zasięgu. Pokazujemy tylko kilka krawędzi długiego zasięgu, aby uniknąć bałaganu. Kreskowane i ciągłe krawędzie wskazują dwa planarne podgrafy obejmujące graf Tannera, zob. . , Szkic rozszerzenia grafu Tannera do pomiaru i zgodnie z odniesieniem , dołączając do kodu powierzchniowego. Ancilla odpowiadająca pomiarowi może być podłączona do kodu powierzchniowego, umożliwiając operacje ładowania-zapisu dla wszystkich logicznych kubitów za pomocą teleportacji kwantowej i niektórych logicznych unitarnych. Ten rozszerzony graf Tannera również ma implementację w architekturze o grubości 2 poprzez krawędzie i ( ). a b q L q R Metody c 50 A B Metody Kod BB z parametrami [[ , , ]] koduje logicznych kubitów w kubitach danych, oferując odległość kodu , co oznacza, że każdy błąd logiczny obejmuje co najmniej kubitów danych. Dzielimy kubitów danych na rejestry ( ) i ( ) o rozmiarze /2 każdy. Każde sprawdzenie działa na trzy kubity z ( ) i trzy kubity z ( ). Kod opiera się na pomocniczych kubitach sprawdzających do pomiaru syndromu błędu. Dzielimy kubitów sprawdzających na rejestry ( ) i ( ) o rozmiarze /2, które zbierają syndromy typu i , odpowiednio. W sumie kodowanie opiera się na 2 fizycznych kubitach. Zatem netto szybkość kodowania wynosi = /(2 ). Na przykład, standardowa architektura kodu powierzchniowego koduje = 1 logiczny kubit w = kubitach danych dla kodu o odległości i używa - 1 kubitów sprawdzających do pomiarów syndromu. Netto szybkość kodowania wynosi ≈ 1/(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/ , zob. tabela dla przykładów kodów. O ile nam wiadomo, wszystkie kody pokazane w tabeli są nowe. Kod [[144, 12, 12]] o odległości 12 może być najbardziej obiecujący dla demonstracji w bliskiej przyszłości, ponieważ łączy dużą odległość i wysoką netto szybkość 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 dla eksperymentalnie istotnego zakresu szybkości 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 2 d n r d 2 r d 2 1 1 r r Aby zapobiec akumulacji błędów, należy być w stanie mierzyć syndrom błędu wystarczająco często. Jest to realizowane przez obwód pomiaru syndromu, który łączy kubity danych w obszarze każdego operatora sprawdzającego z odpowiednim kubitem pomocniczym poprzez sekwencję bramek CNOT. Następnie mierzone są kubity sprawdzające, ujawniając wartość syndromu błędu. Czas potrzebny na implementację obwodu pomiaru syndromu jest proporcjonalny do jego głębokości: liczby warstw bramek składających się z niepokrywających się bramek CNOT. Ponieważ nowe błędy nadal występują podczas wykonywania obwodu pomiaru syndromu, jego głębokość powinna być zminimalizowana. Pełny cykl pomiaru syndromu dla kodu BB jest zilustrowany na rysunku . Cykl syndromu wymaga tylko siedmiu warstw bramek CNOT, niezależnie od długości kodu. Kubity sprawdzające są inicjalizowane i mierzone na początku i na końcu cyklu syndromu, odpowiednio (zob. , aby uzyskać szczegółowe informacje). Obwód szanuje symetrię cyklicznego przesunięcia leżącego u podstaw kodu. 2 Metody Pełny cykl pomiarów syndromu wykorzystujący siedem warstw bramek CNOT. Dostarczamy lokalny widok obwodu, który obejmuje tylko jeden kubit danych z każdego rejestru ( ) i ( ). Obwód jest symetryczny ze względu na przesunięcia poziome i pionowe grafu Tannera. Każdy kubit danych jest połączony bramkami CNOT z trzema kubitami sprawdzającymi typu *X* i trzema kubitami sprawdzającymi typu *Z*: zob. , aby uzyskać więcej szczegółów. q L q R Metody Pełny protokół korygowania 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 kubitach danych. Korygowanie błędu powiedzie się, jeśli przypuszczony i rzeczywisty błąd będą zgodne modulo iloczyn operatorów sprawdzających. W tym przypadku oba błędy będą miały takie samo działanie na dowolny zakodowany (logiczny) stan. W związku z tym zastosowanie odwrotności przypuszczonego błędu przywraca kubity danych do początkowego stanu logicznego. W przeciwnym razie, jeśli przypuszczony i rzeczywisty błąd różnią się o nietrywialny operator logiczny, korygowanie błędu zakończy się niepowodzeniem, powodując błąd logiczny. Nasze eksperymenty numeryczne opierają się na propagacji wiarygodności z dekoderem statystyk uporządkowanych (BP-OSD) zaproponowanym przez Panteleeva i Kalacheva . Oryginalna praca N 36