Quantum Error Correction and Quantum Information Theory Vinod Sharma Arun Padakandla Dept. of ECE Dept. of EE and CS IISc Bangalore University of Tennessee Bangalore, India Knoxville, USA July 20, 2020 1/71
Classical Error Correction Codes (CECC) ◮ ECC corrects errors caused by environment or noise in the system. ◮ In classical systems, ECC mainly used in data transmission to correct errors caused by noise in the channel and/or environmental interference. ◮ Finitely many errors possible. 2/71
Quantum Error Correction Codes (QECC) ◮ In quantum systems, since effect of environment is strong, ECC is required in any quantum information processing task. ◮ Error possible due to imperfect quantum gates also. ◮ Measurement of quantum states alters them and also due to no cloning theorem, direct application of classical ECC not possible. ◮ Errors are uncountably many in the quantum case. ◮ Nevertheless, classical techniques are basis of QECC. 3/71
Introduction : Classical ECC ◮ Transmit one bit ∈ { 0 , 1 } on noisy channel. X, Y ∈ { 0 , 1 } X Y ◮ E.g. Transmitted X = 0 may become Y = 1 . ◮ Channel noise causes P ( X � = Y ) > 0 . ◮ ECC : Three bit Repetition Code 0 �→ 000 and 1 �→ 111 . ◮ At receiver, the bits received : b 2 b 1 b 0 . ◮ Channel causes error on each transmitted bit independently. 4/71
Error Detection and Correction ◮ After receiving b 2 b 1 b 0 , the receiver creates two more bits called syndrome, namely b 2 ⊕ b 1 and b 2 ⊕ b 0 . b 2 ⊕ b 1 b 2 ⊕ b 0 Correction 0 0 Do Nothing 0 1 Flip b 0 1 0 Flip b 1 1 1 Flip b 2 ◮ This procedure corrects one bit error. If two bits get flipped, it will “correct” to wrong bit. ◮ Works well if prob. of error for different bits are independent and small. ◮ Receiver needn’t have computed syndromes. Could also use majority rule on b 2 , b 1 , b 0 . ◮ But this does not work on general coding schemes with larger block codes. Even on quantum codes for this scheme. 5/71
Quantum ECC: Introduction Error Models Main Causes: ◮ Coherent quantum errors: Due to imperfect gates, applying I to | ψ � may not exactly give | ψ � . ◮ Decoherence of states: Due to interaction with environment, ρ �→ � i E i ρE i , where E i needn’t be unitary. ◮ Can cause correlated errors in multiple qubits. 6/71
Quantum ECC: Introduction ◮ Need to transmit one qubit on a quantum channel. ◮ Obtain a QECC corresponding to classical 3 bit repetition code. ◮ Transmitted qubit can get in error by bit flip by Pauli operator. � 0 � 1 � 0 � � � 1 X = . | 0 � = , | 1 � = , and hence 1 0 0 1 X | 0 � = | 1 � and X | 1 � = | 0 � . 7/71
Quantum ECC : Introduction (Contd.) ◮ We use a linear code (called C BF code) | 0 � �→ | 000 � , | 1 � �→ | 111 � , a | 0 � + b | 1 � � �→ a | 000 � + b | 111 � � �� | ψ � ◮ By no cloning theorem, we cannot prepare | ψψψ � ◮ If we transmit a | 0 � + b | 1 � by above code and first qubit is flipped by Pauli operator X , then receiver gets a | 100 � + b | 011 � 8/71
Error Detection and Correction ◮ Suppose receiver receives qubits x 2 x 1 x 0 . ◮ Receiver generates two qubit syndrome by operator U BF : U BF | x 2 x 1 x 0 0 0 � �→ | x 2 x 1 x 0 x 2 ⊕ x 1 x 2 ⊕ x 0 � ◮ Receiver makes measurements only on the first two qubits (the syndrome qubits) ◮ If we get 11 then x 2 ⊕ x 1 = 1 , x 2 ⊕ x 0 = 1 , then x 2 bit has been flipped by operator X ⊗ I ⊗ I in transmission. ◮ Since X − 1 = X , to correct this error use operator X ⊗ I ⊗ I on ( x 2 , x 1 , x 0 ) . 9/71
Error Detection and Correction (Contd.) Thus the error detection and correction procedure is Bit Flipped by Channel Syndrome Error Correction None | 00 � None 0 | 01 � I ⊗ I ⊗ X 1 | 10 � I ⊗ X ⊗ I 2 | 11 � X ⊗ I ⊗ I 10/71
Error Detection and Correction (Contd.) Comments ◮ We have made measurements on only the syndrome qubits. ◮ Thus state x 2 x 1 x 0 remains undisturbed. ◮ Also syndrome measurement tells nothing about x 2 x 1 x 0 . ◮ Unlike in classical case, linear combination of bit flips is also corrected by above procedure. ◮ But it does not recover from multiple qubit bit flip errors, as in classical case. ◮ Also, unlike classical case, in quantum case it does not detect phase errors caused by Pauli matrix � 1 � 1 � 0 � � � 0 Z = . | 0 � = , | 1 � = , and hence 0 − 1 0 1 Z | 0 � = | 0 � and Z | 1 � = −| 1 � . 11/71
Quantum Code for Single phase-flip error ( C PF code) � 1 � 1 ◮ X = HZH where H ≡ Hadamard matrix = 1 . √ 1 − 1 2 ◮ This relation with above bit flip error correction scheme gives scheme for phase-flip error | 0 � ↓ Message qubit | ψ � converted to three qubit code given by | 0 � �→ | 000 � , | 1 � �→ | 111 � | 000 � ↓ Apply H ⊗ H ⊗ H to codeword. � � ⊗ 3 | 0 � + | 1 � √ 2 ↓ Pass through the channel I ⊗ Z ⊗ I which can possibly cause one phase-flip error Z � � � � � � | 0 � + | 1 � | 0 �−| 1 � | 0 � + | 1 � ⊗ ⊗ √ √ √ 2 2 2 ↓ Apply H ⊗ H ⊗ H to received 3 qubits. | 0 � ⊗ | 1 � ⊗ | 0 � ↓ Apply U BF to get syndrome of C BF . | 0 � ⊗ | 0 � ⊗ | 0 � Detect and correct X error via syndrome. 12/71
Quantum Code for Single phase-flip error ( C PF code) Comments ◮ Above scheme corrects all single qubit phase errors but not single bit flip errors. ◮ We combine above ideas to obtain a code that converts all single qubit errors obtaining Shor’s nine qubit code. The following facts will be used ◮ Pauli Matrices I, X, Y, Z form a basis and hence any error is a superposition of these errors. ◮ If X and Z errors can be corrected then Y error can also be corrected. ◮ Thus a code correcting one X, Z error will correct all single qubit errors. 13/71
Code to Correct an X or Z error ◮ First encode a qubit using C PF to a 3 qubit code. ◮ Encode each of the 3 qubits of above code via C BF to get nine qubit code : 1 | 0 � → | 000 � �→ √ 8 [( | 000 � + | 111 � ) ⊗ ( | 000 � + | 111 � ) ⊗ ( | 000 � + | 111 � )] 1 √ | 1 � → | 111 � �→ 8 [( | 000 � − | 111 � ) ⊗ ( | 000 � − | 111 � ) ⊗ ( | 000 � − | 111 � )] For Error Correction ◮ Use U BF on each block of three qubits to correct for possible X errors in each block separately. ◮ Use expansion of U PF to nine bits to correct for phase errors. 14/71
General Framework of ECC ◮ We now develop a general framework to obtain codes that correct multiple qubit errors. ◮ First we study classical codes and then extend to quantum ECC. ◮ We limit to linear codes due to computational complexity. 15/71
Classical Linear ECC Notation ◮ { 1 , 2 , · · · , M } set of messages to be transmitted on a channel with binary input, output. ◮ F 2 = { 0 , 1 } vector space with field { 0 , 1 } . For x, y ∈ F 2 , x + y := x ⊕ y For a, x ∈ F 2 , ax := a ∧ x ◮ F n 2 = F 2 × · · · × F 2 n product. x + y := (( x 1 ⊕ y 1 ) , · · · , ( x n ⊕ y n )) T For x, y ∈ F n 2 , ax := (( a 1 ∧ x 1 ) , · · · , ( a n ∧ x n )) T For a, x ∈ F 2 , 16/71
Linear Classical Coding ◮ M = 2 k , Elements of M denoted by k − length binary vectors ∈ F k 2 . ◮ Linear code φ : F k 2 → F n 2 , n ≥ k , one-one map. ◮ Subspace C = φ ( F k 2 ) ⊆ F n 2 called ( n, k ) code. ◮ Define generator matrix G to denote φ : Gx = φ ( x ) , x ∈ F k 2 x �→ Gx , efficient way to encode. ◮ Define parity check matrix H of dimension ( n − k ) × n s.t Ker ( H ) = H − 1 (0) = C and H is one-one on C ⊥ . Thus HG = 0 . This provides an efficient way of error detection and correction. 17/71
Linear Classical Coding ◮ Hamming Norm : x ∈ F n 2 , || x || = No. of 1 ’s in x . ◮ Hamming Distance : x, y ∈ F n 2 � � x − y � = | x i ⊕ y i | i ◮ D min = min Hamming distance between code words of C . 18/71
Error Detection and Correction ◮ x n ∈ F n 2 transmitted on channel ( n uses of binary channel) x n = x n + y n received. y n channel error. and ˆ ◮ If � y n � < d min , then y n / x n = x n + y n / ∈ C and ˆ ∈ C . Thus receiver can detect there is error in transmission. An x n � = 0 . efficient detector is to declare error if H ˆ ◮ If � y n � < ⌊ d min − 1 ⌋ then error can be detected and by 2 x n by the nearest codeword c it can be corrected to replacing ˆ x n . x n = Hy n is the syndrome. Since H is one-one on C ⊥ , we ◮ H ˆ x n + y n = x n corrects the error. can identify y n . Then ˆ 19/71
Error Detection and Correction contd. ◮ Set of correctable errors � � d min − 1 �� y n ∈ F n 2 : � y n � < A = 2 can be written as: e 1 , e 2 ∈ A if for c 1 , c 2 ∈ C , e 1 + c 1 � = e 2 + c 2 unless e 1 = e 2 and c 1 = c 2 This is disjointness condition. There is another set in F n 2 that also satisfies disjointness condition (and hence correctable) but it is not most probable set of errors. 20/71
ECC examples Ex. : 3 bit repetition code 0 �→ 000 , 1 �→ 111 c = { (0 , 0 , 0) T , (1 , 1 , 1) T } subspace of F 3 2 � 0 1 � 1 1 , H = G = 1 d min = 3 . 1 0 1 1 Therefore can detect upto 2 errors and correct upto 1 . � (0 , 0 , 1) T , (0 , 1 , 0) T , (1 , 0 , 0) T � A = 21/71
Recommend
More recommend