The Exercise
Shor’s code stores one qubit in nine, grouped into three blocks of three: qubits to , to and to . Each of its two codewords and puts every block in a cat state, for and for . Eight operators on the nine qubits go with the code: six products of Pauli on two neighbouring qubits of one block, and two products of Pauli on all six qubits of two neighbouring blocks, and . The exercise is to show that each of the eight leaves both codewords unchanged.
A Quantum System
A quantum system is a physical system described by its state space, a finite dimensional complex Hilbert space.✦ Every finite dimensional complex Hilbert space is the state space of a quantum system; the qubit , the two level system, is the one whose state space is . The composite system of two systems and is the system whose state space is the tensor product of their state spaces.✦
A pure state of is a vector of unit norm in the state space of , determined physically up to a global phase.✦ A nonzero vector in that space gives the normalized pure state .✦ For pure states of and of , the product is the pure state of with vector .✦
The basis states and of the qubit are the pure states whose vectors are the standard basis vectors and of .✦ The three qubit register is the composite of three qubits.✦ Its basis state , for bits , and , is the product (1) The nine qubit Shor register is the composite of three copies of , one for each block of the code.✦
Observables and Eigenstates
An observable on is a self adjoint operator on the state space of , ; its real spectrum is the set of possible measured values.✦ A pure state of is an eigenstate of with eigenvalue , a real number, when (2)✦ The identity observable on is the observable whose operator is the identity.✦ For an observable on and an observable on , the tensor product is the observable on whose operator is the tensor product of the two operators; it measures on the first factor and on the second.✦
On the qubit, observables are built from the Pauli matrices, complex matrices with rows and columns indexed by and : (3) The Pauli vector is . For a real vector the matrix is ✦, and the Pauli observable is the observable on the qubit with this matrix as its operator on .✦ The observables and are the Pauli observables for and .
On the three qubit register, the observables and , which compare neighbouring qubits and detect a bit flip, and the observable that flips all three qubits are the tensor products (4) with the identity observable on one qubit. compares the first qubit with the second, and the second with the third.
The Shor Codewords
For a bit , the block cat vector is a vector in the state space of the three qubit register, built from the basis states (1) whose bits are all and all .✦ The block cat state of the three qubit register is the block cat vector divided by its norm: (5) For bits , and , the product of three cat states is the pure state of the Shor register, one cat state per block.✦ The Shor codeword , for a bit , is the product with the same sign in all three blocks: (6)✦
The Eight Generators
The eight generators of the code are observables on the Shor register, each the tensor product of one observable per block, an outside the brackets being the identity observable on a whole block: (7)✦
The Claim
Theorem 1. For each bit and each of the eight generators of (7), the Shor codeword of (6) is an eigenstate of with eigenvalue : (8)✦
What Is Checked
The claim is stated over the two Shor codewords (6), products of three normalized block cat states, and the eight generators (7), tensor products of the observables , and , with eigenstate taken in the sense of (2).
About these constructions the library proves that the block cat vector is nonzero for both values of ✦, so that it can be normalized, and that the product of two pure states is again of unit norm, the norm of a product vector being the product of the norms. It proves as well that the matrix is Hermitian, so that every Pauli observable is self adjoint, and that a tensor product of observables is self adjoint, as a tensor product of Hermitian operators. The identity observable is self adjoint as well, the identity being its own adjoint.