LOGO Kvantum-hibajavítás II. Gyöngyösi László BME Villamosmérnöki és Informatikai Kar
A Shor-kódolás
QECC Quantum Error Correction Coding A Shor-féle kódolás segítségével egyidejűleg mindkét típusú hiba javítható Steane-kódolás Ezen kódok összefoglaló csoportját a CSS-kódok (Calderbank, Shor, Steane) alkotják
Shor-kódolás Egyidejű védelem megvalósítása bit-hiba és fázis-hiba ellen Egyesítjük az előzőekben ismertetett megoldásokat Shor-féle 9 kvantumbites kódolás Lényege: A kódolási eljárások egyesítése I. Fázis-hiba elleni védelmi kód megkonstruálása II. A kapott kvantumbitekre alkalmazzuk a bit-hiba elleni védelmi kódolást Az ismeretlen kvantumállapotot így a következő formában kódoljuk: α 0 + β 1 1 α 2 2 1 β 2 2 ( 000 111 )( 000 111 )( 000 111 ) + + + + ( )( )( ) 000 111 000 111 000 111.
Shor-féle hibajavító kódolás A bithibák és fázishibák együttes javításához mindkét kódolási eljárást felhasználjuk A kódoláshoz 9 kvantumbitre lesz szükségünk α 0 + β 1 α( 000 + 111 ) 3 + β( 000-111 ) 3 A 000, 111 állapotokkal egy bithiba, a +++, --- állapotokkal pedig egy fázishiba javítható A kód így az Y hibák javítására is alkalmas: Y = ixz: Y 0 = i 1, Y 1 = -i 0
Shor-féle hibajavító kódolás Az előállított kódok hogyan dekódolhatjuk? A kódolás által felhasznált 9 kvantumbitet három darab 3 kvantumbites blokkokba szervezzük Az egyes blokkok a α + + + + β állapot egy-egy kódolt kvantumbitjét reprezentálják. A dekódolás eredménye 3 kvantumbit: Minden blokk legelső kvantumbitje Feltesszük, hogy blokkonként legfeljebb egyetlen bit-flip jellegű hiba lép fel A további 6 kvantumbit állapota: 0 Ezen kvantumállapotok újból felhasználhatóak, vagy eldobhatóak Konvenció: A dekódolás lépéseit 2 csoportra osztjuk Bit-flip hiba javítása Fázisfordulás javítása
Shor-féle hibajavító kódolás Az M mérés eredményeként kapott szindróma megadja a három blokk közül melyikben lépett fel fázis-fordulás Javítása: A Z -transzformáció segítségével Akár egyszerre mindhárom kvantumbitet is javíthatjuk az adott blokkon belül! Az adott blokkon belül l bármilyen b fázishiba javíthat tható,, bármelyik b kvantumbiten. A 9 kvantumbites kód k d dekódol dolási folyamata Összefoglalva A 9 kvantumbites Shor-kód minden blokkra egyidejű védelmet biztosít az egy egyszeres bithiba és a többszörös fázisfordulási hibákkal szemben. A 9 kvantumbites Shor-kód így az összes lehetséges egy kvantumbites I, σ X, σz, σ XZ hiba ellen védelmet nyújt.
Példa: Shor-féle hibajavító kódolás Tegyük fel, hogy a hiba a 4. kvantumbiten lép fel A hiba jellege: bit és fázishiba együttesen σ X σ Z A helyes kódolt kvantumállapot: α 0 + β 1 1 α( 000 2 2 + 111 )( 000 + 111 )( 000 + 111 ) + 1 β ( 000 2 2 111 )( 000 111 )( 000 111 ). A hiba utáni kódolt kvantumállapot: 1 2 2 1 2 2 α β ( 000 111 )( 100 011 )( 000 111 ) + + + ( )( 1 + 0 )( ) 000 111 00 11 000 111.
Példa: Shor-féle hibajavító kódolás Javítás menete Bit-flip hiba javítás minden blokkra Eredménye: 3 x 2 bites szindróma 00: Első blokkban nincs bit-hiba 01: HIBA a második blokk az első pozícióján 00: Harmadik blokkban nincs bit-hiba A blokkok javítása utáni állapot: 1 α 2 2 1 β 2 2 ( 000 111 )( 000 111 )( 000 111 ) + + + ( )( 0 + 1 )( ) 000 111 00 11 000 111.
Példa: Shor-féle hibajavító kódolás Javítás menete Fázishiba javítás minden blokkra Eredménye: 1 x 2bites szindróma 10: A HIBA a második blokkon belül történt A blokkon belüli bármelyik kvantumbitre alkalmazhatjuk a javítást végrehajtó Z- transzformációt A javítás eredménye: 1 α 2 2 1 β 2 2 ( 000 + 111 )( 000 + 111 )( 000 111 ) ( )( )( ) Azonban továbbra is csak egyetlen kvantumbit javítható + + 000 111 000 111 000 111. Konstruálhatunk többszörös hibákat javító kódrendszert?
Shor-féle hibajavító kódolás H H H H H H bithiba javítás fázishiba javítás
Összefoglalás: Bithiba javítás A kódolás során redundanciát alkalmazunk Kódolás 0 000 100 010 000. 001 Helyreállítás
Összefoglalás: Fázishiba javítás Kódolás 1 ( )( )( ) 0 0 + 1 0 + 1 0 + 1 HIBA Z 1 ( 0 1 )( 0 1 )( 0 1 ) + + Szindróma meghatározása X X 1 2 ( )( )( ) ( 1) 0 1 0 + 1 0 + 1 Javítás X X 2 3 ( )( )( ) ( + 1) 0 1 0 + 1 0 + 1 Z 1 ( 0 1 )( 0 1 )( 0 1 ) + + +
Fázis hiba Szindróma meghatározás Javítás Kódolás 1 Shor kód ( )( )( ) 0 000 + 111 000 + 111 000 + 111 Z 1 X X X X X X 1 2 3 4 5 6 4 5 6 7 8 9 ( 000 111 )( 000 111 )( 000 111 ) + + ( )( )( ) ( 1) 000 111 000 + 111 000 + 111 X X X X X X ( )( )( ) ( + 1) 000 111 000 + 111 000 + 111 Z 1 ( 000 111 )( 000 111 )( 000 111 ) + + +
Shor kód Bithiba Kódolás 1 ( )( )( ) 0 000 + 111 000 + 111 000 + 111 X 1 ( 100 011 )( 000 111 )( 000 111 ) + + + Szindróma meghatározás ZZ 1 2 ( )( )( ) ( 1) 100 + 011 000 + 111 000 + 111 Javítás ZZ 2 3 ( )( )( ) ( + 1) 100 + 011 000 + 111 000 + 111 X 1 ( 000 + 111 )( 000 + 111 )( 000 + 111 )
Stabilizátor kódok
Stabilizátor kódok A ψ állapoton fellépő E bithiba hatására: E ψ = ψ. A kvantum-hibajavító kódolással egyértelműen detektálható a hiba jelenléte. A hiba detektálásán túl azonban annak pontos azonosítására is szükségünk lesz Az állapot megfelelő javításához az E hibát egyértelműen meg kell tudnunk különböztetni az F hibától Hogyan különböztethetjük meg egymástól az E és F hibákat?
Hibamátrix A hibákat leíró Pauli-mátrixok: anti-kommutatívak, ha AB+BA=0, azaz AB= - BA. kommutatívak, ha AB=BA, így [A,B]= AB-BA=0. Példa : Az X és Z Pauli-művelet kommutatív? [, Z] X = 0 1 1 0 1 1 0 1 1 0 0 1 1 1 = 1 0 0 2 = 0. 2 0 Az X és Z mátrixok tehát antikommutatívak: {, } XZ = 0 1 1 0 1 1 0 1 1 0 0 1 + 1 1 1 0 = 0 1 0 1 = 0. 0 0 + = 0 0
Hibamátrix A hibák típusának bevezetjük a hibamátrixok tenzorszorzatából generált M operátort. M lehetséges sajátértékei: +1, -1. Az M operátor a Pauli-mátrixokkal anti-kommutatív, így: ψ EF ϕ = ψ EF M ϕ = ψ EF ϕ = 0, illetve ψ EF ϕ = ψ M EF ϕ = ψ EF ϕ = 0. Milyen M operátorokat használhatunk? Az M és M operátoroknak azonban egymással kommutatívnak 1 2 kell lenniük, így AB-BA=0, azaz MM MM = 0, MM =MM. 1 2 2 1 1 2 2 1
Tenzorszorzat alakja Példa : Legyen M a z X és Y Pauli-mátrixok tenzorszorzata: 0 1 0 i X= és Y=. 1 0 i 0 0 1 0 i M = X Y = 1 0 i 0 = 0 0 0 i 0 0 i 0 =. 0 i 0 0 i 0 0 0
Stabilizátor mátrix A stabilizátor kódokra tehát: Ha M ψ = ψ és N ψ = ψ, akkor MN ψ = ψ. Mivel N és M operátorok kommutatívak, így: ha M ψ = ψ és N ψ = ψ, akkor (MN-NM) ψ = MN ψ -NM ψ = 0 MN = NM Az S stabilizátor kóddal csak a stabilizátor elemeivel antikommutatív hibák detektálhatóak. Azaz, a stabilizátor elemeivel kommutatív hibák nem, hiszen az S halmazon belüli M operátorok nem minősülnek hibának. A kódszó így valójában nem változik.
Hibadetektálás stabilizátorral Tegyük fel, hogy M S, valamint a fellépő E Pauli hiba anti-kommutatív az M operátorral. Ekkor: M (E ψ ) = - EM ψ = - E ψ, azaz M sajátértéke -1. Hasonlóképpen, ha M és E kommutatívak minden M S esetén, akkor M (E ψ ) = EM ψ = E ψ M S, vagyis M sajátértéke +1, az összes stabilizátorbeli M-re. Az M operátor sajátértéke alapján detektálhatóak az M-el anti-kommutatív hibák. Az S halmazt a Pauli operátorok alkotják, az S stabilizátor kód k bitet n fizikai biten tárol, így S-nek összesen n-k generátora van (mérete 2 n-k ).
Hibadetektálás stabilizátorral Hogyan használhatjuk fel az M (E ψ ) = EM ψ = E ψ, illetve M (E ψ ) = -ME ψ =-E ψ összefüggést? A hibák javításához szükséges szindrómát a kapott sajátértékek alapján hozzuk létre. Így: -ha E kommutatív az M operátorral, az M sajátértéke +1; (Nincs hiba) -ha E és az M operátor nem kommutatívak, akkor M sajátértéke -1. (Hiba)
Hibajavítás stabilizátorral A satbilizátor kóddal az összes stabilizátoron kívüli E F hiba javítható, minden lehetséges (E, F) párosítás mellett Ha az E és F hibákhoz tartozó szindróma azonos Akkor az E és F hibák az S ugyanazon elemeivel kommutatívak E F S E F ψ = ψ F ψ = E ψ Ekkor az E és F hibák hatása ugyanaz, így nincs szükség azok megkülönböztetésére A d távolsűgú S stabilizátor (d-1)/2 hibát képes javítani, így t hiba javításához d = 2t+1 kódtávolság szükséges
Az S stabilizátor mátrix A Z operátorokkal az X-hibákat, az X operátorokkal pedig a Z-hibákat vizsgáljuk Az M7 és M8 méréssel az első 6, ill. az utolsó 6 kvantumbiten bekövetkezett Z-hibát detektálhatjuk.
Szindróma meghatározása A 9 kvantumbites Shor-kódolás során a helyes 0 és 1 kódszavakra az M1-M8 operátorok sajátértéke minden esetben +1. Bármilyen hiba javítása leírható az M1-M8 operátorok sorozatával A hibajavításra használt M1-M8 operátorok halmaza alkotja az S stabilizátort Az M1-M8 operátorok a csoport generátorelemei
Összefoglalás Shor-féle 9 kvantumbites kódolás 1 kvantumbit kódolása 9 kvantumbiten 3 blokk x 3 kvantumbit Védelem: 1 bit-flip hiba javítása minden blokkban 1 fázishiba javítása egyetlen adott blokkon belül, tetszőleges számú kvantumállapotra A 3-féle hiba ellen nyújt védelmet: X, Z, Y=XZ A védelem egyetlen kvantumbitre terjed ki A kód így egy tetszőleges, egyszeres (egy-kvantumbites) hiba ellen megfelelő védelmet nyújt Többszörös (több-kvantumbites) hibák azonban nem javíthatók
5 kvantumbites kód Az 5 kvantumbites Shor-kód S stabilizátor mátrixa: n = 5 kvantumbit - 4 generátor elem k = 1 kódolt kvantumbit A kódtávolság d=3. Jelölés: [[n,k,d]], ahol k: logikai bitek száma, n: fizikai kvantumbitek száma, kódtávolság: d. Az 5 kvantumbites kódra: [[5,1,3]]. és az alsó két sor?
5 kvantumbites kód Az alsó 2 operátor kommutatív a stabilizátorral, azonban annak nem eleme. Az X illetve Z Pauli kapuknak feleltethetőek meg. X Z Z Z Z I I I Z Z I I Z Z I Z I Z I Z I Z X X X X I I I X X I I X X I X I X I X I X X X X X X X X Tulajdonságok: Az 1 általános hiba javíthatóságához szükséges legkisebb méretű stabilizátor kód. Egy Mx operátor és egy tetszőleges, kétkvantumbites Pauli mátrix szorzata antikommutatív a 4 operátor legalább egyikével (AB = -BA)
X és Z operátorok Az alsó 2 operátor kommutatív a stabilizátorral, azonban annak nem eleme. Az X illetve Z Pauli kapuknak feleltethetőek meg. X Z Z Z Z I I I Z Z I I Z Z I Z I Z I Z I Z X X X X I I I X X I I X X I X I X I X I X X X X X X X X Feladatuk: A szindrómaszámítás során fellépő hibák javítása, a hibaterjedés megakadályozása
Hibaterjedés megakadályozása Z Z Z Z mérése, hibaterjedés-javítás nélkül Kódolt állapot 0 Az itt fellépő hiba 2 kvantumbitre is kihatással lesz.
Hibaterjedés megakadályozása Z Z Z Z mérése, hibaterjedés-javítással Kódolt állapot 0000 + 1111 H H H H Paritás meghatározása
5 kvantumbites Shor-kód Példa: A bázis kódszavakat jelöljük a következőképpen: A kódszavakat az M 1 -M 4 generátorelemekkel állítjuk elő:
5 kvantumbites Shor-kód Valamint: Vajon készíthető az 5 kvantumbites a [[5,1,3]] kódnál hatékonyabb kvantum-kód?
Felhasznált összefüggések
Optimálisabb kód? 1. No-cloning tétel: Nem létezik olyan n kvantumbites hibajavító kódolás, amellyel n/2 törléses hiba javítható 2. Hibajavító kódok tulajdonsága: Amely kód képes t hiba javítására, azzal 2t törléses hiba javítható. (t törléses = (1/2) x t hiba ) 1+2. Nem létezik olyan n kvantumbites hibajavító kód, amellyel (n/2)*1/2 hiba javítható. Ha t n/4, a hiba nem javítható! Így n=4 esetén 1 hiba sem javítható
Optimálisabb kód? Törléses hiba: A hiba helye ismert, annak típusa (I, X, Y, vagy Z) azonban nem A hibajavító kódok tulajdonságaiból adódóan: t hiba javítása 2t törléses hiba javítása Tegyük fel, hogy létezik olyan 4- kvantumbites kód, amellyel 2 törléses hiba javítható. Ekkor páronként 1 törléses hiba lenne javítható, amellyel klónoznánk az eredeti állapotot.