Kody kwantowej korekcji błędów dla nieunitarnych modeli szumu
Transkrypt
Kody kwantowej korekcji błędów dla nieunitarnych modeli szumu
Uniwersytet Jagielloński Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki im. Mariana Smoluchowskiego Kody kwantowej korekcji błędów dla nieunitarnych modeli szumu Jacek Kwiatkowski Praca magisterska napisana pod kierunkiem prof. dr hab. Karola Życzkowskiego Kraków, czerwiec 2010 Pragnę złożyć podziękowania panu prof. dr hab. Karolowi Życzkowskiemu za pomoc i wyrozumiałość okazaną w trakcie pisania niniejszej pracy. Dziękuję również Rodzicom oraz wszystkim, którzy mnie wspierali. Spis treści 1 Wstęp Teoretyczny 1.1 Kwantowa a klasyczna korekcja błędów . . 1.2 Warunki Knilla - Laflamme’a . . . . . . . 1.3 Podprzestrzenie odporne na dekoherencję . 1.4 Kody stabilizacyjne . . . . . . . . . . . . . 1.5 Numeryczny zakres wyższego rzędu . . . . 1.6 Dalsze aspekty kwantowej korekcji błędów . . . . . . . . . . . . . . . . . . 2 Permutacyjne modele szumu 2.1 Ogólny model dla N=4, k=2 oraz l=2 . . . . . . 2.2 Model szumu N=6, k=3 oraz l=2 . . . . . . . . 2.3 Szum dla N=4, k=2, l=2 i różnych macierzy p1 i 2.4 Inny model szumu N=4, k=2, l=2 . . . . . . . . 2.4.1 Parowanie: a) wektory |1i z |4i i |2i z |3i 2.4.2 Parowanie: b) wektory |1i z |3i i |2i z |4i 3 Podsumowanie . . . . . . . . . . . . . . . . p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 9 11 11 13 15 . . . . . . 19 19 22 25 30 33 35 39 Abstract Quantum error-correcting techniques are being developed in order to protect quantum information from possible error it can undergo in physical systems. The main purpose of this work is to present application of higher rank numerical range of an operator, defined in [1], for constructing such codes. The definition of the range is related to Knill-Laflamme condition for quantum error correction codes. The codes constructed by use of higher rank numerical range (see [2], [3], and [4]), were obtained for the noise described by unitary Kraus operators. In the work the notion of higher rank numerical range of an operator was used to construct correcting codes for noise models with general (non-normal) Kraus operators. In particular, noise models of the following form are considered: Ai = pi Di or Ai = p1i Di1 ± p2i Di2 , (1) where pi and p1,2 are permutation matrices and Di and Di1,2 are some diagonal i matrices with non-negative entries. The work is organised as follows. In the first part different quantum errorcorrecting techniques are presented, the differences between quantum and classical corection are shown, and the Knill-Laflamme’s condition for a quantum error-correcting code are written down. After that, two wide classes of codes called Decoherence Free Subspaces and Stabilizer Codes are described. Next the higher rank numerical range of operator is presented as well as some of its properties. It is also shown how this concept can be used for constructing quantum error-correcting codes. Some references to papers describing aproximate correcting codes, experimental implementation of active error correction and some general literature of quantum error correction are included at the end of the first part of the work. The main results of the work is presented in the second part of the thesis. Four different noise models are described, each of them specified by two Kraus operators A1 and A2 . It is worth to stress that these operators are not unitary and the cross product A†1 A2 needs not to be normal. Three models encode one logical qubit using two physical qubits while the other encodes one logical qutrit using one physical qubit and one physical qutrit. The error-detection and errorcorrection procedures are shown explicitely for some of invented codes. The last part of the thesis includes a summary and proposals for future work. 3 Wprowadzenie Celem pracy jest zaprezentowanie metody konstrukcji kodów kwantowej korekcji błędów przy użyciu zakresu numerycznego wyższego rzędu operatora. Definicja zakresu, zaprezentowana w pracy [1] jest zbieżna z warunkami Knilla-Laflamme’a określajacymi kody kwantowej korekcji błędu, zaproponowanymi w pracy [5]. Do opisu szumu działającego na układzie stosuję notację Krausa. W pracach [2], [3] i [4] zaprezentowano metodę zakresu numerycznego wyższego rzędu dla przypadków, gdy iloczyny operatorów Krausa A†i Aj , opisujących szum, były unitarne. W poniższej pracy badano przydatność pojęcia zakresu do konstrukcji kodów w przypadku, gdy A†i Aj nie są unitarne. W szczególności rozważano kody odporne na działanie szumu opisanego operatorami postaci: A i = pi D i , (2) Ai = p1i Di1 ± p2i Di2 , (3) lub gdzie pi i p1,2 są pewnymi macierzami permutacji, a Di i Di1,2 macierzami diagoi nalnymi o dodatnich współczynnikach. Praca jest zorganizowana w trzech częściach. We wstępie opisuję podstawowe założenia i właściwości kwantowej korekcji błędów, podkreślając różnice względem klasycznej korekcji. Podaję warunki Knilla-Laflamme’a oraz opisuję szeroką klasę kodów zwaną kodami stabilizacyjnymi oraz kody odporne na dekoherencje (ang. Decoherence Free Subspaces). Na końcu prezentuję definicję i własności numerycznego zakresu wyższego rzędu operatora oraz opisuję, w jaki sposób można go wykorzystać do konstruowania kodów korekcji błędów. Druga część pracy zawiera wyniki uzyskane przeze mnie. W tej części opisuję cztery modele szumu, działające w przestrzeniach Hilberta o wymiarach cztery lub sześć, dla których znalazłem jawne postaci kodów. Trzecią, ostatnią część pracy, stanowi podsumowanie oraz propozycja dalszych badań. 5 Rozdział 1 Wstęp Teoretyczny 1.1 Kwantowa a klasyczna korekcja błędów Komputery kwantowe, jeśli kiedyś zostaną skonstruowane, będą mieć szereg zalet w stosunku do komputerów klasycznych. Warunkiem koniecznym wykonywania długich obliczeń kwantowych jest rozwiązanie problemu błędów, jakie mogą się pojawiać w takim urządzeniu. Konstruktorzy klasycznych komputerów stanęli przed podobnym wyzwaniem w latach 40-tych i 50-tych ubiegłego wieku, w pionierskim okresie rozwoju klasycznej informatyki. Rozpowszechniona była opinia, że nie da się zbudować dużego, poprawnie działającego komputera, gdyż błędy pojawiające się na bitach uniemożliwią przeprowadzanie skomplikowanych operacji matematycznych. W kolejnych latach rozwinięto szereg skutecznych metod przeciwdziałania i korekcji klasycznych błędów, co pozwoliło na dalszy rozwój komputerów. Prostym przykładem klasycznego kodu jest kod powtórzeniowy. Jeśli chce się przesłać bezbłędnie pojedynczy bit przez klasyczny kanał, który z prawdopodobieństwem p odwraca go, tj. zamienia 1 na 0 i vice versa, i prawdopodobieństwem 1 − p nie wprowadza zaburzeń, można skopiować go dwukrotnie i każdą z trzech kopii przesłać przez niezależnie: 0 → 000 1 → 111. (1.1) Sekwencje bitów 000 i 111 nazywa się logicznym zerem i logiczną jedynką. Po odebraniu sygnału stosuje się metodę głosowania większościowego. Jeśli np. odbierze się sygnał 100 stwierdzi się, że pierwszy bit uległ zaburzeniu i poprawi układ do stanu 000, który interpretuje się jako ”zero”. Powyższa metoda zapewnia poprawne przesyłanie informacji pod warunkiem, że błąd wystąpi tylko na jednym z trzech bitów. Jeśli błąd pojawi się na dwóch bitach, np. stan 000 na wyjściu przyjmie postać 101, to błędnie zostanie zinterpretowany jako ”jeden”. Można policzyć prawdopodobieństwo pb , że więcej niż 7 8 ROZDZIAŁ 1. WSTĘP TEORETYCZNY jeden z bitów zostanie odwrócony i kod przestanie działać: pb = 3p2 (1 − p) + p3 . (1.2) Wynika stąd, że dla p < 1/2 prawdopodobieństwo błędnego przesłania zakodowanej informacji jest mniejsze od prawdopodobieństwa błędnego przesłania pojedynczego bitu. Podsumowując: jeśli ryzyko odwrócenia pojedynczego bitu jest mniejsze od 1/2 opłaca się stosować kod powtórzeniowy. Korekcja kwantowych błędów, pojawiających się na kubitach, jest o wiele bardziej skomplikowana. Wynika to z trzech podstawowych cech, które różnią informację kwantową od klasycznej. 1. Zgodnie z ”No Cloning Theorem”, zaproponowanym przez Woottersa i Żurka w [6], nie można skopiować nieznanego stanu kwantowego. 2. Błędy na kubitach mogą mieć ciągły charakter. 3. Pomiar niszczy stan kwantowy (więcej na ten temat można znaleźć np. w monografii A. Peresa [7]). Nie można więc w prosty sposób zaadoptować metod klasycznych do przypadku kwantowego. W szczególności, jeśli chcielibyśmy zastosować kod powtórzeniowy do ochrony informacji kwantowej w trakcie przesyłania jej zaszumionym kanałem, natrafilibyśmy na problem nie mogąc jej skopiować. Jeśli nawet udałoby się ją skopiować, to nie moglibyśmy jej ochronić przed potencjalnymi ciągłymi błędami. Ponadto, dokonując pomiaru niszczylibyśmy stany kubitów uniemożliwiając ich poprawienienie. Okazuje się jednak, że mimo tych trudności da się opracować skuteczne metody kwantowej korekcji błędów. Najprostszym przykładem kwantowego kodu, chroniącego przynajmniej przed częścią możliwych błędów jest trójkubitowy kod odwróceniowy (ang. ”bit flip code”), będący pewną analogią klasycznego kodu powtórzeniowego. Jeśli kanał kwantowy doświadcza tylko błędu polegającego na odwróceniu kubitu, któremu odpowiada operator Pauliego σx , to przed przesłaniem, stan |ψi = α|0i + β|1i można zakodować za pomocą logicznego zera |0L i = |000i i logicznej jedynki |1L i = |111i: α|0i + β|1i → → α|000i + β|111i = α|0L i + β|1L i. (1.3) Procedura korekcji jest dwustopniowa: najpierw dokonuje się detekcji błędu lokalizującej kubit, który uległ odwróceniu i potem, w zależności od wyniku pomiaru, korekcji odpowiedniego kubitu. Detekcja błędu polega na dokonaniu pomiaru opisanego operatorami rzutowymi: P0 P1 P2 P3 = = = = |000ih000| |100ih100| |010ih010| |001ih001| + |111ih111| + |011ih011| + |101ih101| + |110ih110|. (1.4) 1.2. WARUNKI KNILLA - LAFLAMME’A 9 Jeśli błąd nie wystąpił, pomiar P0 da wynik 1 a wszystkie pozostałe 0. Jeśli odwrócony zostanie kubit pierwszy, pomiar P1 da wynik 1 a pozostałe 0. Podobnie w przypadku odwrócenia kubitów drugiego albo trzeciego. Po zidentyfikowaniu odwróconego kubitu można dokonać korekcji polegającej na obróceniu go do oryginalnej pozycji. Zaprezentowany kod chroni informację tylko przed bardzo szczególnymi błędami (odwróceniem kubitów) i działa pod warunkiem, że błędy nie pojawią się na więcej niż w jednym kubicie. Podobnie jak w przypadku klasycznego kodu powtórzeniowego, opłaca się zastosować trójkubitowy kod odwróceniowy, jeśli prawdopodobieństwo odwrócenia pojedynczego kubitu jest mniejsze od 1/2. Przedstawiony kod, choć bardzo prosty i mało przydatny jest dobrym przykładem ilustrującym różnice pomiędzy kodami klasycznej a kwantowej korekcji błędów. 1.2 Warunki Knilla - Laflamme’a Ogólna procedura korekcji błędów jest uogólnieniem działania opisanego kodu trójkubitowego. Stan kwantowy, który chcemy chronić przed zaburzeniem, zostaje zakodowany jako kod kwantowej korekcji błędów w większej przestrzeni Hilberta. Kod musi być skonstruowany w taki sposób, aby różne operatory błędu przeprowadzały go do ortogonalnych podprzestrzeni. Podprzestrzenie te muszą być prostopadłe, aby po wykonaniu pomiaru błędu dało się określić, jaki szum zadziałał. Stosując operację zależną od zaistniałego szumu, podprzestrzeń na której zadziałał szum przeprowadza się z powrotem do oryginalnej podprzestrzeni kodu. Istnieją ogólne warunki, zwane warunkami Knilla-Laflamme’a, jakie musi spełniać kod kwantowej korekcji błędu aby dało się przeprowadzić operację detekcji i naprawy. Niech C i P oznaczają odpowiednio podprzestrzeń kodu i projektor rzutujący na nią. Niech szum będzie opisywany operacją E, a naprawa zakodowanego stanu ρ operacją R. W notacji Krausa szumowi odpowiadają operatory Ai , a korekcji Ri , przy czym spełnione są warunki zachowania śladu: ∑l i=1 A†i Ai = I, ∑l i=1 Ri† Ri = I. (1.5) Opisana operacja szumu-korekcji musi spełniać warunek: (R ◦ A)ρ ∝ ρ. (1.6) Działanie szumu w notacji Krausa, w jawnej formie ma postać: ρ0 = l ∑ i=1 Ai ρA†i . (1.7) 10 ROZDZIAŁ 1. WSTĘP TEORETYCZNY Warunki Knilla-Laflamme’a mówią, że dla wszystkich wektorów bazowych kodu C, |iL i i |jL i (i 6= j) i każdej pary operatorów Aa i Ab musi zachodzić: hiL |A†a Ab |iL i = hjL |A†a Ab |jL i, hiL |A†a Ab |jL i = 0, L = 1, ..., k, (1.8) L = 1, ..., k. (1.9) Warunek (1.8) zapewnia równość rzutów wektorów bazowych kodu do różnych podprzestrzeni, a warunek (1.9) gwarantuje, że różne wektory bazowe pod wpływem tych samych operatorów szumu zostaną rzutowane do ortogonalnych podprzestrzeni. W celu dowodu równości (1.8) i (1.9) wystarczy jawnie policzyć hiL |A†a Ab |jL i: hiL |A†a Ab |jL i hiL | A†a ∑ r Rr† Rr Ab |jL i ∑ r hiL |ζar ζbr |jL i hiL |A†a IAb |jL i = = ∑ = † † r hiL |Aa Rr Rr Ab |jL i = λab δij ; = (1.10) i, j = 1, ..., k. Warunki Knilla-Laflamme’a można zapisać w innej formie, pozwalającej w łatwy sposób znaleźć operatory korekcji Ri (zaczerpnięte z [8]): P A†i Aj P = λij P, (1.11) gdzie Λ = λij jest pewną macierzą hermitowską o wymiarze l i zespolonych elementach, i jako taka może zostać przeprowadzona do postaci diagonalnej za pomocą pewnej macierzy unitarnej: d = u† Λu. Zdefiniujmy operatory: Fs = ∑ (1.12) uis Ai . (1.13) i Korzystając z równania (1.11) otrzymuje się: P Fs† Fl P = ∑ u†si ujl P A†i Aj P = ij ∑ u†si λij ujl P. (1.14) ij Korzystając z (1.12) otrzymuje się uproszczoną wersję równania (1.11): P Fs† Fl P = dsl P. (1.15) Uproszczenie polega na fakcie, że macierz d jest diagonalna. Korzystając z rozkładu polarnego: √ √ Fs P = Us P Fs† Fs P = dss Us P (1.16) 1.3. PODPRZESTRZENIE ODPORNE NA DEKOHERENCJĘ 11 dla pewnej macierzy unitarnej Us . Działanie Fs polega na obrocie podprzestrzni kodu do podprzestrzeni zdefiniowanej operatorem rzutowym Ps : Fs P U † Ps = Us P Us† = √ s . dss (1.17) Ponadto, z równania (1.15) wynika, że podprzestrzenie Ps są ortogonalne. Detekcja błędu polega na wykonaniu pomiaru zadanego zbiorem ortogonalnych operatorów rzutowych {Ps }ls=1 , a korekcja na zastosowaniu odpowiedniego operatora Us† . 1.3 Podprzestrzenie odporne na dekoherencję Dotychczas rozważaliśmy kody kwantowej korekcji błędów, które pozwalają na zakodowanie informacji kwantowej w taki sposób, aby po zadziałaniu szumu można było za pomocą operacji detekcji błędu określić, jaki błąd miał miejsce. Następnie, w zależności od zaistniałego szumu aplikuje się odpowiedni operator korekcji. Istnieje jednak klasa kodów kwantowej korekcji błędów, o angielskiej nazwie ”Decoherence Free Subspaces” (DFS ), która jest odporna na dekoherencję. Opis tego typu kodów kwantowej korekcji błędów znajduje się m. in. w [9], [10] i [11]. Jedynym rodzajem błędu, jaki może doznawać informacja kwantowa zakodowana za pomocą DFS jest unitarny obrót podprzestrzeni kodowej. Wynika to z faktu, że wszystkie operatory Krausa Ai , i = 1, ..., n, opisujące szum, zacieśnione do podprzestrzeni kodu, są proporcjonalne do jednego i tego samego operatora unitarnego UDF S (operatora ewolucji podprzestrzeni kodu). Wtedy jakikolwiek błąd może tylko obrócić podprzestrzeń kodu. Wszystkie operatory korekcji Ri † są proporcjonalne do UDF S . Jeśli zostanie stwierdzone wystąpienie jakiegokol† wiek błędu, zaaplikowanie operacji UDF S doprowadzi do odzyskania oryginalnej, zakodowanej informacji kwantowej. 1.4 Kody stabilizacyjne Opisywanie kodów kwantowej korekcji błędów za pomocą wektorów bazowych bywa kłopotliwe. O wiele wygodniejszą metodą jest użycie formalizu stabilizatora. W rzeczywistości, większość znanych i użytecznych kodów należy do klasy kodów zwanej po angielsku ”stabilizer codes”, zaproponowanych przez Daniela Gottesmana w [12]. Poniższe wprowadzenie do kodów stabilizacyjnych zostało napisane na podstawie książki M. Nielsena i I. Chuanga [8], gdzie można znaleźć więcej informacji na ich temat. Stan kwantowy |ψi jest stabilizowany przez operator K jeśli jest jego stanem własnym do wartości +1. Na przykład, stan kubitu |0i jest stabilizowany operatorem Pauliego Z: Z|0i = |0i. (1.18) 12 ROZDZIAŁ 1. WSTĘP TEORETYCZNY Przy konstruowaniu kodów stabilizacyjnych wykorzystuje się teorię grup. Szczególnie istotną jest grupa Pauliego Gn , działająca na n kubitach. Dla pojedynczego kubitu grupa Pauliego składa się z operatorów Pauliego X, Y , Z oraz operatora jednostkowego I, wraz z czynnikami multiplikatywnymi ±1, ±i: G1 = {±I, ±iI, ±X, ±iX, ±Y, ±iY, ±Z, ±iZ}. (1.19) Grupa Pauliego dla n kubitów, Gn , jest n-krotnym iloczynem tensorowym G1 : Gn = G⊗n 1 = {±I, ±iI, ±X, ±iX, ±Y, ±iY, ±Z, ±iZ}⊗n . (1.20) Jeśli S jest abelową podgrupą Gn i Vs zbiorem stanów n-kubitowych, stałych pod działaniem każdego z operatorów z S, to mówi się, że przestrzeń Vs jest stabilizowana przez S, a podgrupa S jest stabilizatorem przestrzeni Vs . Jeśli każdy z elementów grupy G da się zapisać jako iloczyn operatorów g1 , ..., gl , to nazywa się je generatorami grupy G. Wygodnie jest oznaczać grupę za pomocą jej generatorów: G = hg1 , ..., gl i. (1.21) Kodem stabilizacyjnym [n, k] nazywa się przestrzeń wektorową Vs , stabilizowaną przez podgrupę Gn , nie zawierającą operatora −I i posiadającą n − k niezależnych i komutujących generatorów: S = hg1 , ..., gn−k i. (1.22) Wymiar przestrzeni Vs wynosi 2k , więc można wybrać 2k stanów logicznych. Można na przykład wybrać k operatorów Z 1 , ..., Z k , takich że {g1 , ..., gn−k , Z 1 , ..., Z k } stanowią niezależny i komutujący zbiór operatorów. Wymaga się, aby Z j działał jako operator Pauliego Z na logiczny kubit j, więc logiczny stan |x1 , ..., xk iL jest opisywany za pomocą stabilizatora hg1 , ..., gn−k , (−1)x1 Z 1 , ..., (−1)xk Z k i. Załóżmy, że stan został zakodowany za pomocą kodu [n, k] o stabilizatorze S = hg1 , ..., gn−k i i doświadczył błędu E ∈ Gn . Zachodzą trzy różne możliwości w zależności od rodzaju szumu E. 1. Jeśli E ∈ S, to nie trzeba nic robić, gdyż zakodowany stan jest niewrażliwy na działanie E. 2. Jeśli E antykomutuje z przynajmniej jednym elementem z S, to zostaje przeprowadzony do ortogonalnej podprzestrzeni, więc błąd może zostać wykryty a stan poprawiony. Detekcja błędu polega na pomiarze wszystkich stabilizatorów po kolei. Wynik pomiarów jednoznacznie wskazuje błąd jaki zaszedł na stanie. Stan jest korygowany za pomocą operacji odwrotnej do wykrytego szumu. 3. Nie można naprawić zaszumionego stanu, jeśli E komutuje z wszystkimi operatorami gi , ale E nie należy do S. 1.5. NUMERYCZNY ZAKRES WYŻSZEGO RZĘDU 13 Układ wszystkich operatorów E z ostatniego punktu (tj. Egi = gi E dla każdego gi ∈ S i E ∈ Gn ) nazywa się centralizatorem (ang. centralizer) S i w rozważanym przypadku może być utożsamiany z normalizatorem N (S), który zawiera wszystkie elementy E ∈ Gn takie, że Egi E † ∈ S dla każdego gi ∈ S. Podsumowując, jeśli S jest stabilizatorem kodu [n, k], a {Ej } układem operatorów z Gn , takich że Ej† Ek ∈ / N (S) − S dla każdego j i k, to możliwa jest korekcja błędów {Ej }. Procedura detekcji błędu polega na wykonaniu pomiarów g1 , ..., gn−k i uzyskaniu wyników β1 , ...βn−k . Jeśli zaszedł błąd Ej , to uzyskuje się wyniki pomiaru takie, że Ej gl Ej† = βl gl . Korekcja polega na zastosowaniu operatora Ej† . Jako prosty przykład można rozważyć opisany w poprzednich rozdziałach trójkubitowy kod powtórzeniowy, rozpięty na stanach logicznych |0iL = |000i i |1iL = |111i. Stabilizator kodu S = hZ1 Z2 , Z2 Z3 i. Łatwo sprawdzić, że każdy możliwy iloczyn operatorów błędu {X1 , X2 , X3 } antykomutuje z przynajmniej jednym generatorem stabilizatora, więc jest możliwa ich korekcja. Jeśli wystąpił błąd X1 pomiar Z1 Z2 da wynik −1 a pomiar Z2 Z3 +1. Dla błędu X2 uzyska się wynik −1 i −1, X3 da +1 i −1, brak błędu +1 i +1. W zależności od wyniku pomiaru stosuje się odpowiedni operator Xi w celu naprawy zakodowanego stanu. 1.5 Numeryczny zakres wyższego rzędu Problem kwantowej korekcji błędów okazuje się być powiązanym z numerycznym zakresem wyższego rzędu opisanym w pracy [2]. W tym rozdziale zostanie podana definicja zakresu i sposoby jak można go wykorzystać do konstrukcji kwantowych kodów korekcji. Niech T będzie macierzą o wymiarze N × N z zespolonymi elementami. Zakres numeryczny rzędu k ≥ 1 macierzy T , Λk (T ), definuje się jako podzbiór płaszczyzny zespolonej, opisany równaniem: Λk (T ) = {λ ∈ C : P T P = λP, P ∈ Pk }, (1.23) gdzie Pk jest zbiorem projekcji do k-wymiarowych podprzestrzeni przestrzeni Hilberta H. Dla k = 1 zakres numeryczny wyraża się wzorem: Λ1 (T ) = {hT ψ|ψi : hψi ∈ CN , k|ψik = 1} (1.24) i pokrywa się ze standardową definicją zakresu numerycznego [13]. Współczynniki λ nazywa się wartościami kompresji i określają one operator P . W pracy [1] pokazano, że dla macierzy hermitowskich T , wymiaru N × N , o wartościach własnych (z uwzględnieniem powtarzających się) a1 ≤ a2 ≤ ... ≤ aN , dla k ∈ [1, N ], można wyróżnić trzy przypadki wartości Λk (T ): 1. Λk (T ) ∈ [ak , aN +1−k ] dla ak ≤ aN +1−k , 14 ROZDZIAŁ 1. WSTĘP TEORETYCZNY 2. Λk (T ) = {ak } dla ak = aN +1−k , 3. Λk (T ) jest zbiorem pustym dla k ≥ N + 1 − k. Na przykład, zakres numeryczny rzędu dwa, Λ2 , dla macierzy hermitowskiej o wymiarze pięć i niezdegenerowanych wartościach własnych a1 ≤ ... ≤ a5 jest równy przedziałowi [a2 , a4 ], a zakres rzędu trzy, Λ3 = {a3 }. Przedstawiono je graficznie na rysunku 1.1. a1 a2 a3 a4 a5 L3 L2 Rysunek 1.1: Zakresy numeryczne rzędu dwa i trzy, Λ2 (T ) i Λ3 (T ), przykładowej macierzy hermitowskiej T o wymiarze 5 i niezdegenerowanym widmie a1 ≤ a2 ≤ a3 ≤ a4 ≤ a5 . Podobnie wykazano, że dla operatorów normalnych i unitarnych w przestrzeni H = Cn zakres numeryczny Λk (T ) jest zawarty w obszarze będącym przecięciem wszystkich otoczek wypukłych coΓ, określonych przez wszystkie kombinacje (n + 1 − k) wartości własnych operatora T (szczegóły w pracach [14], [15] i [16]): { coΓ = a1 z1 + ... + am zm : m ∑ } ai = 1, ai ≥ 0, m ≥ 1 . (1.25) i=1 Na rysunkach 1.2 i 1.3 przedstawiono zakresy numeryczne rzędu 1 i 2 dla przykładowej macierzy unitarnej o wymiarze 5. Podobieństwo definicji numerycznego zakresu wyższego rzędu (1.23) z przekształconym warunkiem Knilla-Laflamme’a (1.11) sugeruje, że można wykorzystać pojęcie zakresu do konstrukcji kodów kwantowej korekcji błędów. Procedura poszukiwania podprzestrzeni kodu C jest następująca (więcej na ten temat w pracach [1] i [2]): 1.6. DALSZE ASPEKTY KWANTOWEJ KOREKCJI BŁĘDÓW a1 15 y=1 a5 a2 L1 x=1 a3 a4 Rysunek 1.2: Zakres numeryczny rzędu jeden, Λ1 (U ), przykładowej macierzy unitarnej U o wymiarze 5. 1. Dla każdego a, b należy znaleźć wartości kompresji λab spełniające Pab A†a Ab Pab = λab Pab dla pewnego operatora rzutowego Pab . 2. Dla każdej znalezionej wartości λab określić postać operatorów rzutowych Pab . 3. Znaleźć część wspólną P operatorów Pab określonych dla wszystkich kombinacji a i b. Znaleziony projektor P określa szukany kod C. Procedura poszukiwania kodów za pomocą zakresu numerycznego wyższego rzędu zostanie zaprezentowana w kolejnym rozdziale. 1.6 Dalsze aspekty kwantowej korekcji błędów Komputery kwantowe oraz inne technologie opierajace się na przetwarzaniu informacji kwantowej (np. kwantowe szyfrowanie i przesyłanie danych) posiadają 16 ROZDZIAŁ 1. WSTĘP TEORETYCZNY a1 y=1 a5 a2 L2 x=1 a3 a4 Rysunek 1.3: Zakres numeryczny rzędu dwa, Λ2 (U ), przykładowej macierzy unitarnej U o wymiarze 5. wiele potencjalnych zastosowań. W praktycznej realizacji tych technologii przeszkodą są zakłócenia, jakich doznaje informacja kwantowa w trakcie przetwarzania. Dlatego też poświęca się wiele wysiłku w opracowywanie różnorodnych technik kwantowej korekcji błędów. W szczególnosci warto wspomnieć o metodzie przybliżonej korekcji błędów (AQECC - Approximate Quantum Error-Correcting Codes), opisywanej m. in. w pracy [17]. Techniki tego typu są rozwijane, ponieważ zwykle trudno jest konstruować dokładne kody kwantowej korekcji błędów. W pracy [18] zdefiniowano przybliżony zakres numeryczny operatora, który może być przydatny przy opracowywaniu przybliżonych kodów. Istnieje wiele różnorodnych technik korekcji błędów doświadczanych przez informację kwantową. Artykuł przeglądowy [19] stanowi dobre wprowadzenie do tej dziedziny. W książe M. Nielsena i I. Chuanga, Quantum Information and Quantum Computation [8], zawarto odrębny rozdział poświęcony korekcji błędów. Dużo informacji zawiera również jedna z pionierskich prac [20] na temat kwantowej korekcji błędów. 1.6. DALSZE ASPEKTY KWANTOWEJ KOREKCJI BŁĘDÓW 17 Kwantowa korekcja błędów do niedawna była czysto teoretycznym zagadnieniem. Implementowane eksperymentalnie techniki korekcji miały charakter pasywny (opierając się na schemacie Decoherence Free Subspaces). W 2009 roku dokonano pierwszej doświadczalnej realizacji aktywnego kodu kwantowej korekcji błędów. W przeprowadzonym eksperymencie kodowano jeden logiczny kubit za pomocą dwóch kubitów fizycznych (dwóch skorelowanych fotonów) i po poddaniu działaniu szumu dokonywano operacji korekcji. Szczegóły eksperymentu można znaleźć w [21]. Rozdział 2 Permutacyjne modele szumu Zwykle szuka się kodów korekcji dla zadanego modelu szumu E = {Ai }. W poniższej pracy zastosowano inną metodę, poszukiwano modelów szumu działających w przestrzeniach o wymiarze N = 4 lub N = 6, takich aby możliwe było skonstruowanie podprzestrzeni kodu C o zadanym wymiarze k < N . Postępowano w ten sposób, aby zbadać przydatność pojęcia zakresu numerycznego wyższego rzędu operatora w dziedzinie kwantowej korekcji błędów. W szczególności badano modele szumu, w których operatory Krausa Ai przyjmowały postać: A i = pi D i , (2.1) gdzie pi jest macierzą permutacji o wymiarze cztery lub sześć, a Di jest macierzą diagonalną o rzeczywistych współczynnikach: √ Ai = r1 0 . . . 0 0 √ r2 0 . . 0 . 0 . . . . . . . . . . . 0 . 0 . . . . . 0 √ 0 rn . (2.2) Opisując znalezione modele i kody korekcji przyjęto następujące oznaczenia: N jest wymiarem przestrzeni Hilberta w której działa szum, k oznacza wymiar podprzestrzni kodu, l jest liczbą operatorów Krausa opisujących szum. 2.1 Ogólny model dla N=4, k=2 oraz l=2 Rozważmy przestrzeń czterowymiarową N = 4 z szumem opisywanym przez dwa operatory Krausa, zdefiniowane zgodnie z równaniami (2.1) i (2.2). Elementy 19 20 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU macierzy D1 niech spełniają zależność: 0 ≤ r1 ≤ r2 ≤ r3 ≤ r4 ≤ 1. √ r1 0 0 0 √ 0 r2 0 0 √ D1 = , 0 0 r3 0 √ 0 0 0 r4 √ 1 − r1 √ 0 0 0 0 1 − r2 √ 0 0 . D2 = 0 0 1 − r3 √ 0 0 0 0 1 − r4 (2.3) (2.4) Zakładamy, że macierze p1 i p2 z równania (2.1) są identyczne dla obydwu operatorów błędu i są równe dowolnej macierzy permutacji wymiaru 4 × 4, np.: p 1 = p2 = p = 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 . Przy tych warunkach jawna postać operatorów A1 i A2 jest następująca: √ r2 0 0 0 √ 0 0 r3 0 √ A1 = pD1 = , 0 0 0 r4 √ r1 0 0 0 √ 1 − r2 0 0 0 √ 0 0 1 − 1 − r3 √0 A2 = pD2 = . 0 0 0 1 − 1 − r 4 √ 1 − r1 0 0 0 (2.5) (2.6) (2.7) Przyjmując oznaczenie Tij = A†i Aj warunki Knilla-Laflamme’a (1.11) są postaci: P2 T11 P2 = λ11 P2 P T P =λ P (2.8) 2 22 2 22 2 P T P =λ P , 2 12 2 12 2 gdzie P2 jest projekcją na dwuwymiarową podprzestrzeń kodu, a macierze T11 , T22 i T12 przyjmują postać: T11 = D12 = r1 0 0 0 0 r2 0 0 0 0 r3 0 0 0 0 r4 , (2.9) 2.1. OGÓLNY MODEL DLA N=4, K=2 ORAZ L=2 T22 = D22 = √ T12 = D1 D2 = 1 − r1 0 0 0 r1 (1 − r1 ) √ 0 0 1 − r2 0 0 0 0 1 − r3 0 0 r2 (1 − r2 ) 0 0 0 0 √ 21 0 0 0 1 − r4 , (2.10) 0 0 0 0 r3 (1 − r3 ) 0 √ 0 r4 (1 − r4 ) . (2.11) Do znalezienia projektora opisującego podprzestrzeń kodu zastosujemy metodę zakresu numerycznego wyższego rzędu. Rozwiązanie problemu kompresji operatora T11 jest jednocześnie rozwiązaniem dla operatora T22 = I − T11 . Wystarczy więc rozwiązań wspólny problem kompresji operatorów T11 i T12 . Zgodnie z przyjętymi założeniami wartości własne operatora T11 wynoszą: ≤ r2 r1 ≤ r3 ≤ r4 . (2.12) Wartości własne operatora T12 oznaczamy jako: ri00 = √ ri (1 − ri ). W zależności od współczynników r1 , .., r4 , układają jednym z siedmiu następujących porządków: a) r100 ≤ r200 ≤ r300 ≤ b) r100 ≤ r400 ≤ r300 ≤ c) r400 ≤ r100 ≤ r300 ≤ d) r400 ≤ r300 ≤ r100 ≤ e) r400 ≤ r300 ≤ r200 ≤ f) r100 ≤ r200 ≤ r400 ≤ g) r100 ≤ r400 ≤ r200 ≤ (2.13) się one na osi liczbowej w r400 r200 r200 r200 r100 r300 r300 . Obydwa operatory posiadają tę samą bazę wektorów własnych |1i, ..., |4i, odpowiednio do wartości własnych r1 , ...r4 i r100 , ..., r400 . Wartość kompresji λ11 operatora T11 należy do przedziału [r2 , r3 ], a wartość kompresji λ12 operatora T12 , znajduje się pomiędzy drugą i trzecią wartościa własną, licząc od najniższej. Z porządku wartości własnych obydwu operatorów widać, że dwa wektory bazowe szukanej podprzestrzeni i projektor P2 na nią, uzyskuje się jako kombinację liniowe odpowiednich wektorów własnych operatorów T11 i T12 : √ √ √ √ |ψ1 i = a1 |1i + 1 − a1 |3i = ( a1 , 0, 1 − a1 , 0) |ψ2 i = √ a2 |2i + √ √ √ 1 − a2 |4i = (0, a2 , 0, 1 − a2 ) P = ∑2 |ψ ihψ |. i i 2 i=1 (2.14) 22 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU Rozwiązanie problemu sprowadza się do znalezienia współczynników a1 i a2 . Zapisujemy równania kompresji: λ11 = a1 r1 + (1 − a1 )r3 = a2 r2 + (1 − a2 )r4 (2.15) λ12 = a1 r100 + (1 − a1 )r300 = a2 r200 + (1 − a2 )r400 . Rozwiązanie ze względu na a1 i a2 wynosi: a = 1 a2 = (r4 −r2 )((r1 −r3 )(r300 −r400 )−(r3 −r4 )(r100 −r300 )) (r1 −r3 )((r1 −r3 )(r400 −r200 )−(r4 −r2 )(r100 −r300 )) (r100 −r300 )(r3 −r4 )−(r1 −r3 )(r300 −r400 ) (r1 −r3 )(r400 −r200 )−(r100 −r300 )(r4 −r2 ) − r3 −r4 r1 −r3 (2.16) . Liczby r1 , ..., r4 traktowane są jako parametry modelu, uporządkowane według relacji (2.12), a liczby ri00 dane są równaniem (2.13). Projektor P2 można zapisać jawnie w postaci macierzowej: √ a1 0 √ P2 = a1 (1 − a1 ) 0 a1 (1 − a1 ) 0 √ 0 0 0 a1 0 0 a2 a2 (1 − a2 ) a2 (1 − a2 ) a2 √ . (2.17) Projekcja P2 wyznacza podprzestrzeń, w której można zakodować informację kwantową a następnie odtworzyć ją po zadziałaniu szumu zadanego przez operatory Krausa A1 i A2 . Detekcji błędu dokonuje się za pomocą operatora detekcji, a korekcji za pomocą odpowiedniego operatora korekcji (w zależności od wyniku operacji detekcji). Procedura poszukiwania jawnych postaci operatorów detekcji i korekcji została opisana m. in. w książe Nielsena i Chuanga [8]. 2.2 Model szumu N=6, k=3 oraz l=2 W tej części pracy opisano, zanurzony w sześciowymiarowej przestrzeni Hilberta, trójwymiarowy kod kwantowej korekcji błędów (a więc kodujący kutryt za pomocą jednego kubitu i jednego kutrytu). Konstrukcja modelu szumu, przed którą chroni opisany kod, jest podobna do przypadku czterowymiarowego z poprzedniego podrozdziału. Operatory błędu A1 i A2 są postaci opisanej wzorem (2.1) z jedną i tą samą macierzą permutacji p = p1 = p2 o wymiarze N = 6. Dla przykładu niech p będzie postaci: p= 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 . (2.18) 2.2. MODEL SZUMU N=6, K=3 ORAZ L=2 23 Aby było możliwe skonstruowanie wspomnianego kodu należy przyjąć założenia odnośnie elementów sześciowymiarowych macierzy D1 i D2 z równania (2.1). Przyjmnijmy oznaczenie: √ (2.19) ri00 = ri (1 − ri ). Niech będzie spełniona zależność: 0 ≤ r1 ≤ r2 ≤ r3 ≤ r4 ≤ 1 i y dane wzorem: r100 (r200 (r3 − r4 ) + r400 (r2 − r3 )) + r300 (r200 (r4 − r1 ) + r400 (r1 − r3 )) . y= (r100 − r300 )(r2 − r4 ) − (r1 − r3 )(r200 − r400 ) (2.20) Przy powyższych założeniach diagonalne macierze D1 i D2 niech będą dane wzorami: √ √ √ 1 1√ − 1 − 4y 2 , r2 , r3 , 2 2 √ √ 1 1√ D1 = diag r1 , + 1 − 4y 2 , r4 , 2 2 (2.21) √ √ √ √ √ √ √ √ 1 1 1 1 D2 = diag 1 − r1 , + 1 − 4y 2 , 1 − r2 , 1 − r3 , − 1 − 4y 2 , 1 − r4 , 2 2 2 2 (2.22) wtedy operatory Krausa przyjmują postać: √ r2 0 0 0 0 0 √ r1 0 0 0 0 0 √ 0 r4 0 0 0 0 √ √ A1 = , 1 1 2 0 0 0 + 1 − 4y 0 0 2 2 √ 0 0 0 r 0 0 3 √ √ 1 1 2 0 − 2 1 − 4y 0 0 0 0 2 (2.23) √ 0 √1 − r 1 0 A2 = 0 0 0 √ 1 2 + 0 0 0 0 0 √ 1 2 √ 1 − 4y 2 1 − r2 0 0 0 0 0 0 0 0 0 √ 1 − r3 0 0 0 0 √ 1 0 √ 0 1 − r4 √ 1 − 2 1 − 4y 2 0 2 0 0 0 0 (2.24) Zapiszmy warunki Knilla-Laflamme’a: P3 T11 P3 = λ11 P3 P T P =λ P 3 22 3 22 3 P T P =λ P , 3 12 3 12 3 (2.25) . 24 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU gdzie P3 jest projektorem na szukaną, trójwymiarową podprzestrzeń kodu. Przy przyjętych założeniach macierze Tij są diagonalne: T11 2 = D1 = T22 2 = D2 = r1 0 0 0 0 0 1 − r1 0 0 0 0 0 1 2 1 2 √0 1 − 2 1 − 4y 2 0 0 0 0 0 0 r2 0 0 0 √0 + 12 1 − 4y 2 0 0 0 0 0 0 1 − r2 0 0 0 0 0 0 1 − r3 0 0 0 y 0 0 0 0 0 0 0 r300 0 0 T12 = D1 D2 = r100 0 0 0 0 0 0 0 0 r3 0 0 0 0 r200 0 0 0 1 2 0 0 0 √0 1 + 2 1 − 4y 2 0 0 0 0 0 y 0 1 2 0 0 0 0 0 r400 0 0 0 0 0 r4 , 0 0 0 0 √ − 12 1 − 4y 2 0 . (2.26) 0 0 0 , 0 0 1 − r4 (2.27) (2.28) Aby określić projektor P3 musimy znaleźć wektory bazowe podprzestrzeni kodu |ψi i, i = 1, 2, 3. W tym celu stosujemy metodę zakresu numerycznego wyższego rzędu konstruując szukane wektory jako odpowiednie kombinacje liniowe wektorów własnych operatorów Tij : √ √ a |1i + 1 − a1 |4i |ψ i = 1 1 √ √ |ψ2 i = a2 |2i + 1 − a2 |5i √ √ |ψ3 i = a3 |3i + 1 − a3 |6i P = ∑3 |ψ ihψ |. i i 3 i=1 (2.29) Zapiszmy równania kompresji dla operatorów T11 i T12 (rozwiązanie dla T11 będzie też rozwiązaniem dla operatora T22 ): ( ) ( ) √ √ 1 2 + (1 − a ) 1 + 2 λ = a r + (1 − a )r = a − 1 − 4y 1 − 4y 2 11 1 1 1 3 2 2 2 = a3 r2 + (1 − a3 )r4 λ12 = a1 r100 + (1 − a1 )r300 = a3 y + (1 − a3 )y = a2 r200 + (1 − a2 )r400 . (2.30) 2.3. SZUM DLA N=4, K=2, L=2 I RÓŻNYCH MACIERZY P1 I P2 25 Rozwiązanie układu ze względu na współczynniki a1 , a2 i a3 jest następujące: a1 = a2 = a3 = y−r300 r100 −r300 1−a1 r1 −r2 −(1−a1 )r3 √ (2.31) 1−4y 2 y−r400 . r200 −r400 W jawnej formie macierzowej P3 jest postaci: √ a1 0 0 √ P3 = a1 (1 − a1 ) 0 √ 0 a2 0 0 0 a3 0 0 0 0 1 − a1 0 0 0 1 − a2 0 0 a2 (1 − a2) 0 a1 (1 − a1 ) 0 0 √ a3 (1 − a3 ) √ 0 0 a2 (1 − a2) √ a3 (1 − a3 ) . 0 0 Szum dla N=4, k=2, l=2 i różnych macierzy p1 i p2 Szczególną cechą obydwu poprzednich modeli jest fakt, że obydwa operatory Krausa powstają w wyniku przemnożenia tej samej macierzy permutacji przez macierze Di : Ai = pDi , i = 1, 2. Udało się także znaleźć ogólniejszy model szumu w przestrzeni czterowymiarowej z różnymi macierzami permutacji dla obydwu operatorów błędu, ale wymagało to przyjęcia silniejszych założeń co do ich postaci. Niech współczynniki ri spełniają zależność: 0 < r1 < r2 = r4 < r3 < 1. (2.33) Macierze Di z równania (2.1) przyjmują wtedy postać: √ √ √ √ D1 = diag ( r1 , r2 , r3 , r2 ) , D2 = diag (√ ) √ √ √ 1 − r1 , 1 − r2 , 1 − r3 , 1 − r2 . 0 1 − a3 (2.32) Otrzymany projektor wyznacza szukany kod kwantowej korekcji błędów. Detekcji błędu dokonuje się za pomocą operatorów detekcji, a korekcji za pomocą operatorów korekcji. Metoda poszukiwania operatorów detekcji i korekcji jest opisana m. in. w [8]. 2.3 (2.34) (2.35) 26 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU Niech p0 będzie następującą macierzą permutacji: p0 = 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 . (2.36) Macierz p1 może być dowolną macierzą permutacji o wymiarze 4, a macierz p2 = p1 p0 . Na przykład niech p1 wynosi: p1 = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 . (2.37) Wtedy p2 przyjmuje postać: p 2 = p1 p 0 = 0 1 0 0 . (2.38) Przy tych warunkach operatory błędu Ai wyglądają następująco: √ r1 0 0 0 √ 0 0 r3 0 √ A1 = , 0 r2 0 0 √ 0 0 0 r2 √ 1 − r2 0 0 0 √ 0 0 0 1 − r2 A2 = p1 p0 = √ . 1 − r1 0 0 0 √ 0 0 1 − r3 0 (2.39) (2.40) Zapiszmy warunki Knilla-Laflamme’a: P2 T11 P2 = λ11 P2 P2 T22 P2 = λ22 P2 (2.41) P2 T12 P2 = λ12 P2 . Operator T22 = I − T11 , więc nie trzeba go rozpatrywać. Operatory T11 i T12 wyrażają się wzorami: T11 = A†1 A1 = r1 0 0 0 0 r2 0 0 0 0 r3 0 0 0 0 r2 , (2.42) 2.3. SZUM DLA N=4, K=2, L=2 I RÓŻNYCH MACIERZY P1 I P2 T12 √ 0 √ r2 (1 − r1 ) = A†1 A2 = 0 r1 (1 − r2 ) 0 0 0 0 0 √ 0 0 ozn. = √ r3 (1 − r2 ) 0 0 r2 (1 − r3 ) 0 (2.43) 0 27 s2 0 0 0 0 0 . (2.44) 0 0 s4 0 0 s3 0 W ogólności, dla r1 6= r2 6= r3 , operator T12 nie jest normalny, więc nie można zastosować do niego standardowej metody poszukiwania wyższego zakresu numerycznego. Zamiast tego można zastosować metodę opisaną w pracy [18]. Dowolny operator T12 rozkłada się na część symetryczną i antysymetryczną: ozn. s1 = 0 S A + iT12 , T12 = T12 (2.45) S S † T12 = (T12 ), A A † T12 = (T12 ), (2.46) (2.47) gdzie: S A i rozwiązuje wspólny problem kompresji dla trzech operatorów: T11 , T12 i T12 : P2 T11 P2 = λ11 P2 P T S P = λS P (2.48) 2 12 2 22 2 P T A P = λA P . 2 12 2 12 2 S A Operatory T12 i T12 są postaci: S T12 = † 1 T12 + T12 = 2 2 A T12 † 1 T12 − T12 = = 2i 2i 0 s1 + s2 0 0 s1 + s2 0 0 0 0 0 0 s3 + s4 0 0 s3 + s4 0 0 s1 − s2 0 0 s2 − s1 0 0 0 0 0 0 s3 − s4 0 0 s4 − s3 0 , (2.49) . (2.50) S : Obliczamy wartości i wektory własne operatora T12 − 12 (s3 + s4 ): − 21 (s1 + s2 ): 1 (s1 + s2 ): 2 1 (s3 + s4 ): 2 |1S i = |2S i = |3S i = |4S i = √1 2 √1 2 √1 2 √1 2 (0, 0, −1, 1) (−1, 1, 0, 0) (1, 1, 0, 0) (0, 0, 1, 1), (2.51) 28 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU A oraz operatora T12 : − 12 (s4 + s3 ): − 21 (s2 + s1 ): 1 (s2 + s1 ): 2 1 (s4 + s3 ): 2 |1A i = |2A i = |3A i = |4A i = √1 2 √1 2 √1 2 √1 2 (0, 0, i, 1) (i, 1, 0, 0) (−i, 1, 0, 0) (0, 0, −i, 1). (2.52) S A Wartości własne operatorów T12 i T12 są rozłożone symetrycznie wokół √ zera. Parując wektory własne |1S i z |4S i oraz wektory |2S i z |3S i z wagami 1/ 2, można S uzyskać rozwiązanie problemu kompresji dla operatora T12 do wartości λS12 = 0. A W identyczny sposób, parując wektory własne operatora T12 : |1A i z |4A i oraz A wektory |2A i z |3A i, uzyska się rozwiązanie problemu kompresji T12 do wartości A S A λ12 = 0. Co więcej, rozwiązania dla T12 i T12 będą identyczne, więc automatycznie będą rozwiązaniem zagadnienia kompresji T12 do wartości kompresji λ12 = 0. Warunek (2.33) na macierze Di zapewnia, że będzie to również rozwiązanie problemu kompresji operatorów T11 i T22 do wartości kompresji λ11 = r2 i λ22 = 1 − r2 . Projektor P2 na podprzestrzeń kodu przyjmuje postać: |ψ1 i = |ψ2 i = P2 = √1 2 (|1S i + |4S i) = √1 2 (|1A i + |4A i) = (0, 0, 0, 1) √1 2 (|2S i + |3S i) = √1 2 (|2A i + |3A i) = (0, 1, 0, 0) ∑2 i=1 (2.53) |ψi ihψi |. Jego postać w jawnej formie macierzowej: P2 = 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 . (2.54) Powyższy projektor wyznacza podprzestrzeń kodu kwantowej korekcji. Należy zauważyć, że projektor P2 da się zapisać w postaci: P2 = |01ih01| + |11ih11| = I ⊗ |1ih1|. (2.55) Oznacza to, że podprzestrzeń kodu jest podprzestrzenią o ustalonej wartości drugiego kubitu. Warto w sposób jawny sprawdzić, jak działa procedura detekcji √ i korekcji √ błędu dla otrzymanego kodu. Niech początkowy stan |ψi = η|ψ1 i + 1 − η|ψ2 i. Po zakodowaniu za pomocą rozważanego kodu odpowiadająca mu macierz gęstości ma postać: 0 0 0 √ 0 0 η 0 η(1 − η) ρ= . (2.56) 0 0 0 0 √ 0 η(1 − η) 0 1−η 2.3. SZUM DLA N=4, K=2, L=2 I RÓŻNYCH MACIERZY P1 I P2 29 Następnie stan doświadcza błędu A1 lub A2 przechodząc do stanu zaszumionego ρcor : ρcor (A1 ) = A1 ρA†1 = r2 0 0 0 0 0 0 1 0 0 0 0 √ η η(1 − η) 0 η(1 − η) 1−η ρcor (A2 ) = A2 ρA†2 , √ η η(1 − η) 0 0 1−η 0 0 √ = (1 − r2 ) η(1 − η) 0 (2.57) 0 0 0 . 0 0 0 0 (2.58) Zauważmy, że operatory błędu A1 i A2 przeprowadzają macierz gęstości do ortogonalnych podprzestrzeni. Dlatego operatory detekcji błędów A1 i A2 są operatorami rzutowymi K1 i K2 na obie podprzestrzenie: K1 = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 , K2 = 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 . (2.59) Detekcja błędu polega na wykonaniu pomiarów K1 i K2 , a korekcja - zastosowaniu operatora korekcji (w zależności od wyniku od wyniku detekcji) R1 lub R2 : R1 = 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 , R2 = 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 . (2.60) W efekcie, po wykonaniu operacji detekcji-korekcji otrzymujemy naprawioną macierz gęstości ρpop . Jeśli na przykład zaszedł błąd A1 otrzymujemy: ρpop ∝ R1 K1 ρcor K1† R1† = r2 ρ ∝ ρ. (2.61) Dla błędu A2 uzyskujemy: ρpop ∝ R2 K2 ρcor K2† R2† = (1 − r2 )ρ ∝ ρ. (2.62) W obu przypadkach poprawione macierze gęstości ρpop są proporcjonalne do oryginalnej macierzy ρ. Oznacza to, że pomimo działania operatorów szumu A1 i A2 , zakodowanie kwantowej informacji za pomocą opracowanego kodu pozwala na jej pełne odtworzenie. 30 2.4 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU Inny model szumu N=4, k=2, l=2 Rozważmy model szumu opisywany dwoma operatorami Krausa: A1 = p1 D1 + p1 pD2 = p1 (D1 + pD2 ), (2.63) A2 = p1 D2 − p1 pD1 = p1 (D2 − pD1 ), (2.64) gdzie p1 jest dowolną macierzą permutacji, p - symetryczną i różną od jednostkowej macierzą permutacji: p= 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 lub 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 lub 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 . Przypadek każdej z trzech powyższych macierzy p należy rozważyć osobno. W dalszej części pracy podam szczegółowe wyprowadzenia dla pierwszej z nich. Wyprowadzenia dla dwóch pozostałych są analogiczne. Jedyną różnicą są inne bazy wektorów własnych operatorów A†i Aj . Przy powyższych założeniach operatory Tij wyrażają się wzorami: 1 T11 = A†1 A1 = I + D2 pD1 + D1 pD2 2 1 T22 = A†2 A2 = I − D2 pD1 − D1 pD2 2 † T12 = A1 A2 = D2 pD2 − D1 pD1 . (2.65) (2.66) (2.67) W dalszej części pracy przyjmuję: p1 = p= 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 , (2.68) . (2.69) Niech diagonalne macierze D1 i D2 opisują wzory: √ √ √ √ D1 = diag( r1 , r2 , r3 , r4 ), √ 1 D2 = diag − r1 , 2 √ 1 − r2 , 2 √ 1 − r3 , 2 √ (2.70) 1 − r4 . 2 (2.71) 2.4. INNY MODEL SZUMU N=4, K=2, L=2 31 Parametry ri , i = 1, ..., 4 należą do przedziału [0, 1/2]. Przy tych założeniach zapisujemy operatory Ai : √ 0 0 √ A1 = 1 − r1 2 √ √ √ 0 A2 = √ − r1 √ 0 0 0 1 2 − r1 − r3 √ r3 1 2 0 − r2 √ − r2 0 1 2 − r2 1 2 r1 √ r2 0 √ 0 √ r4 1 2 √ − r3 √ 1 2 0 − r3 0 0 0 0 − r4 √ 0 − r4 √ − r4 1 2 . (2.72) . (2.73) Warunki Knilla-Laflamme’a mają postać: P2 T11 P2 = λ11 P2 P T P =λ P (2.74) 2 22 2 22 2 P T P =λ P . 2 12 2 12 2 Zapisujemy jawną postać operatorów Tij : 1 2 0 1 2 0 X Y X 0 0 0 0 T11 = T22 = 1 2 0 0 0 −Y −X 0 T12 = 1 2 0 0 0 W 0 0 Z 0 1 2 Y 0 0 , (2.75) 1 2 −Y 0 0 0 −X 1 2 , (2.76) 1 2 0 0 Z 0 0 W 0 0 0 , (2.77) 32 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU gdzie parametry X, Y , Z i W wynoszą: √ X = ( r2 √ Y = ( r1 √( Z = √( W = 1 2 1 2 ) 1 − r3 + 2 ) 1 − r4 + 2 √ ( r3 √ ( 1 − r2 2 ) (2.78) ) 1 r4 − r1 2 )( ) √ 1 − r2 − r3 − r2 r3 2 )( ) √ 1 − r1 − r4 − r1 r4 . 2 (2.79) (2.80) (2.81) Macierze Tij mają wspólną bazę wektorów własnych (tak zwaną bazę Bella, tworzoną przez cztery ortogonalne stany maksymalnie splątane): |1i = |2i = |3i = |4i = √1 2 (−1, 0, 0, 1) √1 2 (0, −1, 1, 0) (2.82) √1 2 (0, 1, 1, 0) √1 2 (1, 0, 0, 1). Wektory i odpowiadające im wartości własne przedstawiono na rysunkach 2.1 i 2.2. 1 2 wektory wÇasne: 1 -Y 2 È1\ -X 1 2 X+ È2\ 1 2 Y+ È3\ 1 2 È4\ Rysunek 2.1: Wartości własne i odpowiadające im wektory własne operatora T11 . Należy znaleźć dwa wektory bazowe, |ψ1 i i |ψ2 i, rozpinające podprzestrzeń kodu, jako kombinacje liniowe wektorów własnych operatorów T11 i T12 . Można tego dokonać na dwa sposoby: √ √ √ √ a) |ψ1 i = a1 |1i + 1 − a1 |4i, |ψ2 i = a2 |2i + 1 − a2 |3i, b) |ψ1 i = √ a1 |1i + √ 1 − a1 |3i, |ψ2 i = √ a2 |2i + √ Każdy z powyższych przypadków zostanie rozważony osobno. 1 − a2 |4i. 2.4. INNY MODEL SZUMU N=4, K=2, L=2 -W -Z È1\ È2\ wektory wÇasne: 33 0 Z W È3\ È4\ Rysunek 2.2: Wartości własne i odpowiadajace im wektory własne operatora T12 . Parowanie: a) wektory |1i z |4i i |2i z |3i 2.4.1 Niech wektory bazowe podprzestrzeni kodu powstają z konstrukcji: √ √ |ψ1 i = a1 |2i + 1 − a1 |3i, √ √ |ψ2 i = a2 |1i + 1 − a2 |4i. (2.83) (2.84) Zapiszmy równania kompresji: ) ) ( ) ) ( ( ( 1 1 1 1 λ11 = a1 2 − Y + (1 − a1 ) 2 + Y = a2 2 − X + (1 − a2 ) 2 + X , λ = −a W + (1 − a )W = −a Z + (1 − a )Z. 12 1 1 2 2 (2.85) Rozwiązanie powyższego układu równań jest następujące: a1 = a2 = 12 , co prowadzi do następującej podprzestrzeni kodu: |ψ1 i = (0, 0, 1, 0) |ψ2 i = (0, 0, 0, 1) P2 = ∑2 i=1 (2.86) |ψi ihψi |. W postaci macierzowej projektor na podprzestrzeń kodu ma postać: P2 = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 = [ 0 0 0 1 ] ⊗ I. (2.87) Oznacza to że podprzestrzeń kodu składa się z pierwszego kubitu w stanie |1i, a drugi kubit może przyjmować dowolny stan. Dla lepszego przedstawienia działania kodu policzymy operatory detekcji błędów K1 i K2 : 1 − 2r3 √ 2 ( 12 − r3 )r3 K1 = 0 0 √ 2 ( 12 − r3 )r3 0 0 2r3 0 0 0 2r4 2 ( 21 − r4 )r4 2 ( 12 − r4 )r4 1 − 2r4 0 √ √ , (2.88) 34 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU √ 2r3 √ −2 ( 12 − r3 )r3 K2 = 0 −2 ( 12 − r3 )r3 0 0 1 − 2r3 0 0 0 1 − 2r4 −2 ( 12 − r4 )r4 −2 ( 12 − r4 )r4 2r4 0 √ √ 0 , (2.89) oraz operatory korekcji R1 i R2 : R1 = 0 √ 0 1 − 2r3 0 0 √0 2r3 0 0 0 √0 2r4 0 0 √ 0 1 − 2r4 , (2.90) 0 0 0 0 0 0 0 0 √ R2 = √ . (2.91) − 2r3 1 − 2r3 √ 0 0 √ 1 − 2r4 − 2r4 0 0 Na końcu sprawdźmy, jak działa√procedura detekcji i korekcji na ogólnym, zakodo√ √ √ wanym stanie |ψi = η|ψ1 i + 1 − η|ψ2 i = (0, 0, η, 1 − η). Macierz gęstości stanu: 0 0 0 0 0 0 0 0 √ ρ= . (2.92) η(1 − η) η 0 0 √ 0 η(1 − η) 0 1−η Rozważmy przypadek, gdy na stan ρ zadziałał szum A1 (działanie szumu A2 liczy się analogicznie): † 1 ρA cor ∝ A1 ρA1 = = η √ 1 2 √ ) (1 − r3 η 2 √ ( ) 1 r3 η − r3 2 r4 ( 1 − r3 )η(1 − η) 2 (1 − 2r3 )(1 − 2r4 )η(1 − η) √( 1 2 √ √ − r3 ) r3 η r3 r4 η(1 − η) r3 ( 1 − r4 )η(1 − η) 2 √ 1 − r )η(1 − η) r4 ( 2 3 √ √ ( 1 (1 − η) r4 2 − r4 √ (1 − 2r3 )(1 − 2r4 )η(1 − η) √ r3 ( 1 − r4 )η(1 − η) 2 r3 r4 η(1 − η) r4 (1 − η) 1 2 √ ( 1 ) (1 − η) (1 2 r4 − r4 ) 2 − r4 ) (1 − η) (2.93) Po przeprowadzeniu detekcji i korekcji otrzymujemy poprawioną macierz gęstości ρpop : † † 1 (2.94) ρpop ∝ R1 K1 ρA cor K1 R1 ∝ ρ. Łatwo sprawdzić, że w przypadku błędu A2 zachodzi: † † 2 ρpop ∝ R2 K2 ρA cor K2 R2 ∝ ρ. (2.95) Poprawione macierze gęstości ρpop są proporcjonalne do macierzy oryginalnej ρ, a więc informacja kwantowa została odtworzona prawidłowo. . 2.4. INNY MODEL SZUMU N=4, K=2, L=2 2.4.2 35 Parowanie: b) wektory |1i z |3i i |2i z |4i Przy parowaniu wektorów własnych operatorów Tij , |1i z |3i oraz |2i z 4i, równania kompresji przyjmują postać: ( ) ( ) ( ) ( ) 1 1 1 1 (1 ) (1 ) λ = a − Y + − a + X = a − X + − a + Y , 1 2 1 2 2 2 11 2 2 λ = −a W + (1 − a )Z = −a Z + (1 − a )W . 12 1 1 2 2 (2.96) Powyższy układ równań ma rozwiązanie a2 = a1 , a2 ∈ [0, 1], przy spełnionym następującym warunku: X Z = . (2.97) Y W Aby powyższy warunek zachodził można zacieśnić założenia odnośnie szumu, przyjmując r3 = r1 i r4 = r2 . Wtedy współczynniki X, Y , Z i W z równań (2.78) - (2.81) przyjmują wartości: √ X=Y = ( r2 ) 1 − r1 + 2 √( √ ( r1 )( 1 − r2 2 ) = X 0, ozn. (2.98) ) √ 1 1 ozn. − r1 − r2 − r1 r2 = Z 0 . (2.99) Z=W = 2 2 Przy tych dodatkowych założeniach projektor opisujący szukaną podprzestrzeń kodu ma postać: √ √ √ √ 1 |ψ1 i = √2 (− a1 , 1 − a1 , 1 − a1 , a1 ) |ψ2 i = √ √1 ( 2 √ √ √ 1 − a1 , − a1 , a1 , 1 − a1 ) (2.100) ∑ P2 = 2i=1 |ψi ihψi | a1 ∈ [0, 1]. W zapisie macierzowym projektor opisuje równanie: 1 2 √ − a1 (1 − a1 ) P2 = 0 1 2 − a1 √ − a1 (1 − a1 ) 0 1 2 1 2 − a1 0 1 2 √ − a1 1 2 a1 (1 − a1 ) 1 2 − a1 , √ a1 (1 − a1 ) 0 a1 ∈ [0, 1]. 1 2 (2.101) Stosując drugie parowanie wektorów własnych operatorów Tij i przyjmując dodatkowe założenia odnośnie szumu doświadczanego przez układ udało się uzyskać całą rodzinę rozwiązań na podprzestrzeń kodu, parametryzowaną przez ciagły 36 ROZDZIAŁ 2. PERMUTACYJNE MODELE SZUMU parametr a1 ∈ [0, 1]. Aby lepiej poznać właściwości znalezionego kodu zapiszmy macierz współczynników kompresji Λ = λij , [ Λ= λ11 λ21 λ12 λ22 ] [ = 1 2 + (1 − 2a1 )X 0 (1 − 2a1 )Z 0 1 2 (1 − 2a1 )Z 0 − (1 − 2a1 )X 0 ] . (2.102) Macierz Λ w istocie jest macierzą gęstości podprzestrzeni kodu. Jej wartości własne wynoszą: λ1 = a1 , λ2 = 1 − a1 . Entropia S(a1 ) podprzestrzeni kodu dana jest wzorem ([22]): S(a1 ) = −a1 ln a1 − (1 − a1 ) ln(1 − a1 ). (2.103) Przedstawiono ją na wykresie 2.3. entropia 1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 a1 Rysunek 2.3: Entropia podprzestrzeni kodowej w funkcji parametru a1 . Podprzestrzeń jest stanem czystym dla a1 = 0 lub a1 = 1. Dla tych szczególnych przypadków projektor P2 określający kod przyjmuje postać: 1 2 0 0 0 0 1 2 1 2 1 2 1 2 0 0 P2 (a1 = 0) = 1 2 P2 (a1 = 1) = 1 2 0 0 0 − 12 − 21 0 1 2 1 2 0 0 , 1 2 0 − 12 − 12 0 0 0 1 2 1 2 (2.104) , (2.105) co odpowiada sytuacji Decoherence Free Subspaces. Sprawdźmy jak w przypadku kodu DFS wygląda operacja detekcji oraz korekcji błędu. Niech parametr a1 = 0 2.4. INNY MODEL SZUMU N=4, K=2, L=2 37 (dla wartości a1 = 1 przeprowadza się analogiczne √ rachunki). Macierz gęstości ρ √ dowolnego zakodowanego stanu |ψi = η|ψ1 i + 1 − η|ψ2 i ma postać: 1−η 2 0 0 ρ= 1−η 2 0 0 η 2 η 2 η 2 η 2 0 0 1−η 2 0 0 . (2.106) 1−η 2 Niech na stan ρ zadziała szum A1 : † 1 ρA cor ∝ A1 ρA1 = 1 8 1 = 8 [ 2qη rη 0 0 rη 2qη 0 0 η 0 0 1−η 0 0 0 0 2q(1 − η) r(1 − η) r(1 − η) 2q(1 − η) ] [ 2q r ⊗ (2.107) ] r 2q , (2.108) gdzie parametry r i q wynoszą: ( √ √ r = 2 r1 + 2 − 4r2 )( ) √ √ 2 r2 + 2 − 4r1 , (2.109) √ q = 1 − 2r1 + 2r2 + 2 2r2 − 4r1 r2 . (2.110) Operator korekcji R dla kodu DFS jest proporcjonalny do A†1 (i jednocześnie do A†2 ): † † † (2.111) R = UDF S ∝ A1 ∝ A2 . Łatwo sprawdzić, że poprawiona macierz gęstości ρpop jest proporcjonalna do macierzy oryginalnej: 1 (2.112) ρpop ∝ A†1 ρA cor A1 ∝ ρ, innymi słowy, informacja kwantowa może być poprawiona do stanu oryginalnego. Dla wartości parametru a1 = 1/2 podprzestrzeń stanowi stan maksymalnie splątany, opisywany projektorem: 1 2 - 12 0 P2 (a1 = 1/2) = 0 - 12 0 0 0 0 1 2 1 2 1 2 0 0 1 2 1 2 . (2.113) Powyższy projektor określa szukaną podprzestrzeń kodu kwantowej korekcji błędów. Dla pośrednich wartości parametru a1 (różnych od 0, 1 i 12 ) podprzestrzeni kodu jest zadana przez stany splątane, lecz nie maksymalnie splątane. Rozdział 3 Podsumowanie Celem pracy było zbadanie przydatności pojęcia zakresu numerycznego wyższego rzędu operatora do poszukiwania kodów kwantowej korekcji błędów dla nieunitarnych modeli szumu. Kody kwantowej korekcji błędów muszą spełniać warunki Knilla-Laflamme’a, dane równaniami (1.8) i (1.9), które można zapisać w równoważnej postaci: P A†i Aj P = λij P, (3.1) gdzie P jest projektorem na podprzestrzeń kodu, a Ai są operatorami Krausa opisującymi szum. W niniejszej pracy badano modele szumu, dla których operatory Ai były nieunitarne a T12 = A†1 A2 w ogólności, operatorami nienormalnymi. Definicja zakresu numeryczego rzędu k operatora normalnego T pokrywa się z warunkiem Knilla-Laflamme’a (1.11): Λk (T ) = {λ ∈ C : P T P = λP, P ∈ Pk }, (3.2) co pozwoliło na wykorzystanie jego właściwości do poszukiwania kodów kwantowej korekcji błędów. W tym celu rozwiązywano układ równań kompresji algebraicznej do każdej pary operatorów A†i Aj . O ile stosunkowo łatwo jest rozwiązać równanie kompresji dla pojedynczego operatora Tij , to znalezienie wspólnego projektora dla całego układu z reguły stanowi poważny problem. W niniejszej pracy poszukiwano kodów korekcji zanurzonych w podprzestrzeniach czterowymiarowych (dwóch fizycznych kubitach) i sześciowymiarowych (układzie kubitu i kutrytu). Zgodnie z właściwościami zakresu numerycznego, w układzie czterowymiarowym można znaleźć podprzestrzeń kodu o wymiarze co najwyżej dwa (kodującym logiczny kubit), a w układzie sześciowymiarowym kod o wymiarze co najwyżej trzy (a więc mogącym zakodować kubit lub kutryt). Dla modeli szumu opisywanych liczbą l operatorów Krausa trzeba znaleźć wspólne rozwiązanie równań kompresji dla l(l + 1)/2 operatorów A†i Aj . Modele szumu, dla których udało się skonstruować kody korekcji, były opisywane dwoma operatorami Krausa Ai . Skutkowało to koniecznością znalezienia wspólnego rozwiązania dla trzech równań kompresji (dla operatorów A†i Aj , 39 40 ROZDZIAŁ 3. PODSUMOWANIE i = 1, 2). Szum z dwoma operatorami Krausa ma tę korzystną właściwość, że rozwiązanie dla operatora A†1 A1 jest jednocześnie rozwiązaniem dla A†2 A2 (ponieważ A†2 A2 = I − A†1 A1 ). Upraszczało to problem, gdyż wystarczało znaleźć wspólne rozwiązania dla A†1 A1 i A†1 A2 . Liczba niezależnych problemów kompresji do rozwiązania rośnie z liczbą l operatorów Krausa kwadratowo, i już dla l = 3 należy rozważać 6 równań algebraicznych, co znacznie utrudnia rozwiązanie problemu. Szczególnie trudne jest szukanie podprzestrzeni kodu dla operatorów krzyżowych A†1 A2 , których postacie są z reguły dość skomplikowane. Zmusza to to przyjmowania pewnych restrykcyjnych założeń odnośnie macierzy Ai . W jednym z modeli operator krzyżowy A†1 A2 nie jest normalny, co wykluczało zastosowanie standardowej metody zakresu numerycznego. W tym przypadku zastosowano uogólnioną metodę, opisaną w pracy [18], polegającą na rozłożeniu badanego operatora na części symetryczną i antysymetryczną i rozwiązywaniu łącznego problemu kompresji dla obydwu operatorów. Wydaje się, że dalsze prace powinny koncentrować się na szukaniu bardziej ogólnych, cztero- lub sześciowymiarowych modeli szumu. W szczególności można próbować znaleźć modele szumu opisywane większą niż dwa liczbą operatorów Krausa, dla których dałoby się znaleźć kody kwantowej korekcji błędów. Warto byłoby również poświęcić uwagę przypadkom, w których operatory krzyżowe A†i Aj , i 6= j, nie są normalne. Dla większej liczby operatorów Krausa problem szukania kodów staje sie bardzo skomplikowany, więc można by rozważyć zastosowanie metod numerycznych lub poszukiwania przybliżonych kodów korekcji błędów opisywanych w pracy [18]. Bibliografia [1] Man-Duen Choi, David W. Kribs, and Karol Życzkowski. Higher-rank numerical ranges and compression problems. Lin. Alg. Appl., (418):828–839, 2006. [2] Man-Duen Choi, David W. Kribs, and Karol Życzkowski. Quantum error correction and higher-rank numercial range. Rep. Math. Phys., 58:77–91, 2006. [3] Krzysztof Majgier. Kody kwantowej korekcji błȩdów dla unitarnych modeli szumu. Master’s thesis, Instytut Fizyki UJ, 2007. [4] Krzysztof Majgier, Hans Maasen, and Karol Życzkowski. Protected subspaces in quantum information. Quantum Inf Process, (9):343–367, 2010. [5] Emanuel Knill and Raymond Laflamme. A theory of quantum errorcorrecting codes. Physical Review A, 55:900–911, 1997. [6] William Wootters and Wojciech Hubert Żurek. A single quantum cannot be cloned. Nature, 299:802–803, 1982. [7] Asher Peres. Quantum Theory, Concepts and Methods. Kluwer Academic Publishers, 1993. [8] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000. [9] Daniel A. Lidar and K. Birgitta Whaley, editors. Irreversible Quantum Dynamics, chapter Decoherence-Free Subspaces and Subsystems, pages 83–120. Springer Berlin, 2003. [10] Paolo Zanardi and Mario Rasetti. Noiseless quantum codes. Phys. Rev. Lett., 79:3306–3309, 1997. [11] Paolo Zanardi and Mario Rasetti. Error avoiding quantum codes. Modern Physics Letters B, 11:1085–1093, 1997. 41 42 BIBLIOGRAFIA [12] Daniel Gottesman. Stabilizer Codes and Quantum Error Correction. PhD thesis, California Institute of Technology, 1997. [13] Roger A. Horn and Charles R. Johnson. Topics in Matrix Analysis. Cambridge University Press, 1991. [14] Chi-Kwong Li, Yiu-Tung Poon, and Nung-Sing Sze. Condition for the higher rank numerical range to be non-empty. Linear and Multilinear Algebra, 57:365–368, 2009. [15] Hwa-Long Gau, Chi-Kwong Li, Yiu-Tung Poon, and Nung-Sing Sze. Quantum error correction and higher-rank numercial ranges of normal matrices. arXiv:0902.4869v1, 2009. [16] Chi-Kwong Li and Yiu-Tung Poon. Quantum error correction and generalized numerical ranges. arXiv:0812.4772v1, 2008. [17] Claude Crepeau, Daniel Gottesman, and Adam Smith. Approximate quantum error-correcting codes and secret sharing shemes. arXiv:quantph/0503139v1, 2005. [18] Łukasz Skowronek. Code carriers and approximate higher rank numerical ranges. W przygotowaniu, 2010. [19] Simon J. Devitt, Kae Nemoto, and William J. Munro. The idiots guide to quantum error correction. arXiv:0905.2794v2, 2009. [20] Charles H. Bennett, David P. DiVincenzo, John A. Smolin, and William K. Wootters. Mixed state entanglement and quantum error correction. Phys. Rev. A, 54:3824–3851, 1996. [21] Kurt Schreiter, Aron Pasieka, Rainer Kaltenbaek, Kevin Resch, and David W. Kribs. Optical implementation of a unitarily correctable code. Phys. Rev. A, 80, 2009. [22] Karol Życzkowski, David W. Kribs, and Aron Pasieka. Entropy of a quantum error correction code. Open Systems & Information Dynamics, (15):329–343, 2008.