370 likes | 416 Vues
Adapting Quantum Error Correction to Specific Channels . Peter Shor Massachusetts Institute of Technology. Joint work with Andrew Fletcher and Ruitian Lang. Outline of talk. Blatantly commercial advertisement Review of stabilizer codes
E N D
Adapting Quantum Error Correction to Specific Channels Peter Shor Massachusetts Institute of Technology Joint work with Andrew Fletcher and Ruitian Lang
Outline of talk • Blatantly commercial advertisement • Review of stabilizer codes • Optimal recovery from error using semidefinite programming • Error correction for the amplitude damping channel. • Ruitian Lang’s new class of codes • Generalization of Lang’s codes.
Advertisement MIT Keck Center for Extreme Quantum Computing has position for a postdoc in quantum algorithms. • Apply via http://xqit.mit.edu • We will start evaluating applications in mid-January.
Traditional stabilizer codes • Choose an abelian subgroup of the form where the σi are the Pauli matrices or the identity. • Choose simultaneous eigenvalues ±1 for each generator of this subgroup. • The operations commute, so there exists a simultaneous eigenspace for these eigenvalues • The code is the eigenspace.
Traditional recovery for stabilizer codes • Measure all the eigenvalues for the generators of this subgroup. This is the syndrome. • For the measured syndrome, classically compute the minimum Hamming weight error that could have caused the syndrome. • Better yet, if phase and bit errors are not equally likely, compute the most probable (maximum likelihood) error that could have caused the syndrome. • Apply the Pauli matrices that correct this error. The symmetric depolarizing channel is the most commonly considered error model. For this model, the minimum Hamming weight error and the maximum likelihood error are the same.
Is traditional recovery the best thing to do? Suppose we know what the error model is. For example, suppose we are using an amplitude damping channel, and we encode using the five-qubit code. We can compute the optimal error recovery and compare it with the standard method. How? We use semidefinite programming.
Semidefinite Programming Semidefinite programming is an optimization method which is a generalization of linear programming. It lets you optimize a linear function over an affine subspace of positive semidefinite matrices: subject to and One good thing about semidefinite programming is that there are efficient algorithms for it. Better yet, there are good software packages available.
Encoder Channel E’ Recovery R ρ E We consider the encoder and the channel together as one operation E. We now want to find the recovery operation R that gives the maximum fidelity between the input ρ and the output R○E(ρ). We can try to optimize • the average fidelity • the entanglement fidelity • the fidelity of the worst-case input ρ The first two optimization problems can be solved using semidefinite programming. We have investigated channel adaptation using the entanglement fidelity.
How do we turn our problem into a semidefinite program? We use the Jamiolkowski isomorphism. We turn a matrix A into a vector using We then have that
Quantum channels via Jamiolkowski isomorphism If we have a channel This turns into where The condition that turns into
Entanglement Fidelity via Janiolkowski isomorphism The entanglement fidelity of an input ρ operated on by a channel E is This turns into or
The semidefinite program We can combine the input ρ with the error process E to get a matrix CE,ρ. Maximizing the entanglement fidelity thus becomes subject to the constraints that the recovery operation XR represents a valid quantum operation, which are and This is a semidefinite program.
Results for five-qubit code For the amplitude damping channel, optimal recovery is a significant improvement over the standard recovery.
Encoder Channel E’ Recovery R Optimizing encoding operation for a given channel. Suppose that you fix the recovery operation, as well as the channel, and want to optimize the encoding operation UC . This is also a semidefinite programming problem. We can alternatively improve the recovery and the encoding. This should eventually converge to a local optimum in the space of (UC ,R) pairs. R’
Results of iterated optimization From Reimpell and Werner. quant-ph/0606059. Amplitude damping channel acting on 4 qubits. The three plots are no encoding, Optimal recovery using 4-qubit stabilizer code of Leung and optimal recovery, and optimized encoding and recovery,
Dual semidefinite programs Like linear programs, every semidefinite program has a dual program. • The optimal value of the dual program is equal to the optimal value of the original. It turns maximization into minimization, and vice versa. • The dual program bounds the optimum from the other side: if a feasible solution to the original is always below the optimum, a feasible solution to the dual is always above the optimum.
Near-optimal recovery The semidefinite program for optimal recovery grows large and computationally expensive very quickly. But even for cases where the semidefinite program is too large to solve exactly, you can use heuristics to find near-optimal solutions for this program and its dual. The true optimum is bounded between these solutions.
Performance of heuristics on amplitude damping channel Performance of heuristics finding upper and lower bounds for optimal recovery of the 5, 7, 9 qubit codes. For the 9-qubit code, the bounds are very tight, because this code can correct amplitude damping errors to second order, and the heuristics figure this out.
Dual program Many times, the dual program has an intuitive interpretation that is useful. For an arbitrary channel, we have not found an intuitive interpretation of this dual program. But we can use the dual program to prove that for a stabilizer code and a channel that is a mixture of Pauli operations, the standard recovery is optimal. Optimal recovery in this case: measure syndrome, then correct maximum likelihood error.
Amplitude Damping Channel We can describe the amplitude damping channel as Where and Here A2 is equal to . Instead of decomposing a damping error into a separate σx and σy syndromes, and using separate measurement outcomes for each, the optimal recovery essentially uses only one measurement outcome for each damping error. This saves us degrees of freedom which we can use for other errors.
Dimension counting In the five-qubit code, we have the case of no error, and five first-order damping errors. This gives 6 syndrome measurements, which we can use to (approximately) correct all first-order errors. Each one is a 2-dimensional element of a POVM. This leaves 20 dimensions left over for second order errors, which is where we get the improvement on standard recovery.
4-qubit amplitude damping code Leung et al. proposed a 4-qubit code for the amplitude damping channel. This can correct all one-qubit errors. Optimized error recovery improves it substantially, so that it has fidelity essentally equal to the optimized 5-qubit code.
Why the 4-qubit code works Suppose there is a damping error on the first qubit. We get These two resulting states are still orthogonal and superpositions of them remain coherent. The no-error subspace is distorted, but not to first order.
Dimension counting, again We asked the question: could we have a 3-qubit code that corrects amplitude damping errors to first order? There are 8 dimensions in our space, and four possible errors. 2∙4=8, so dimension counting suggests it might be possible. We found locally optimal 3-qubit codes by alternately optimizing the encoding and decoding operations. Result: we got lots of different-looking codes, many of them fairly good, but none worked to first order. Open problem: prove this is impossible.
Investigating 3-qubit codes • In summer 2007, Ruitian Lang looked at these 3-qubit codes, to try to figure out their structure. • There were several classes of these codes, and their codewords tended to include pairs of complementary basis states together, e.g., states like where α and β are larger than the other amplitudes. • Recall that the 4-qubit code also had this complementary structure. • This eventually led Lang to propose a general class of codes.
Complementary one-error correcting amplitude damping codes What conditions do we need to make sure they correct all first-order errors? Look at the set of basis vectors . • We want no two of these vectors to have Hamming distance 1 between them. • If two of these vectors have Hamming distance 2, they cannot have the same Hamming weight. Suppose we choose codewords that look like where is the complement of .
Why these conditions? If we had two vectors |010011010 and |000011010 in our set , then the first codeword with the second bit damped would overlap the second codeword. If we had two vectors |010011010 and |000011110 in our set , then we would not be able to tell the difference between a damping operation of the second bit on the first codeword, and the seventh bit on the second codeword.
Are these conditions sufficient? applied to the kth qubit, it is not annihilated. This is ensured because either s or s has a 1 in position k. We also need to make sure that the no-error subspace is not distorted to the first order. This can be checked. We need to make sure that if a codeword has an amplitude damping error
Can we find good codes? We want to find as many codewords as we can with these constraints. This is a maximum clique problem, which is NP-complete. We used a relatively unsophisticated greedy clique algorithm, and obtained the results in the table to the right. These are better than the best single error correcting stabilizer codes.
What do these codes look like? For n = 6, k = 5, we get: We can specify this code more compactly by listing just s: The first four codewords form a stabilizer code generalizing the four-qubit one. We squeeze one more codeword in.
A larger example For n=8, k=12, we get: The first eight rows give a stabilizer code, but then we can add four more codewords.
Proposal to generalize this to 2-error-correcting codes for the amplitude damping channel Suppose we take a linear code C so that in each pair of coordinates, 00, 01, 10, 11, appear an equal number of times. Now define The code will consist of for some set of w. What conditions do we need on the set ?
2-error correcting codes We need that if we change no, one, or two 1’s to 0’s in any two strings in {c+w}, they do not collide. (If they did, then we could not distinguish between two different damping errors.) We also need that the no-error subspace is not distorted up to second order. Remarkably, this follows from the condition that the code C contains an equal number of pairs 00, 01, 10, 11 in each pair of positions.
Can we find good 2-error correcting codes for the amplitude damping channel? Need to first choose a code C. Then, to find the maximum number of codewords we can obtain of the form |C+w, we need to solve a clique problem. We haven’t done this yet.
How do we find this code C? Needs to have pairs (0,0), (0,1), (1,0), (1,1) equally often in every pair of positions. What does this mean? If C is linear, it means that C has no codewords of weight two or less, i.e., it has minimum weight 3. If we wanted every triple of bits to appear equally often in every three positions, we would need C to have no codewords of weight three or less, and so on.
Codeword stabilized codes You have probably already noticed that these codes are a type of CWS codes. We start with the stabilizer codeword |C and add codewords of the form g|C, where g is a tensor product of σx matrices on the qubits. For the one-error correcting codes, |C is the cat state (|000…0 + |111…1)/2. This is a specialization of the recipe for constructing CWS codes.
Open questions • Are there other kinds of CWS codes that are good for the amplitude damping channel? • What about other stabilizer codes that work well for the amplitude damping channel? (see Andrew Fletcher’s talk) • Are these codes useful in any way for fault tolerance? (Maybe use first layer of concatenation to protect against amplitude damping, and subsequent layers to correct other errors?)