Code efficiency
If a code uses less qubits and corrects errors with a bigger weight then it is more efficient.
“One simple upper bound on the efficiency of quantum codes is the quantum Hamming bound.”
”For a nondegenerate code with basis codewords |ψᵢ〉
and possible errors Eₘ, all of the states Eₘ|ψᵢ〉
are orthogonal for all m and i. Quantum codes satisfy certain properties and this is one of them. If the code uses n qubits, there are 2ⁿ linearly indepedent vectors in the Hilbert space. So the number of states the errors can take us to = number of errors * the number of codewords must be ≤ 2ⁿ. For a code that corrects all errors of weight t or less and encodes k qubits, this implies
∑ j = 0..t, 3ʲ * (n choose j) * 2ᵏ ≤ 2ⁿ.”
“There are (n choose j) ways to choose j qubits to be affected by j errors and 3ʲ ways these errors can be tensor products of X, Y, and Z.”
“If we let the code system size n grow arbitrarily large, we should also increase the expected number of errors. Consider the Depolarizing channel. The expected number of errors on a block of size n is t = p(1-p)ⁿ⁻¹ + 2 * p²(1-p)ⁿ⁻² + … + n * pⁿ = n * p.
How many errors of weight n * p are there? 3ⁿᵖ (n choose np) 2ᵏ
If np ≤ t then the following chain of inequalities holds:
3ⁿᵖ (n choose np) 2ᵏ ≤ ∑ j = 0..t, 3ʲ * (n choose j) * 2ᵏ
≤ 2ⁿ.
Taking the logarithm and rearranging gives us
k/n ≤ 1 - p log₂ 3 - h₂(p),
where h₂(p) is the Binary entropy.”
“As with the classical case, we Can achieve the quantum Hamming bound using random codes. Unlike the classical case, this is not always the most efficient use of the channel, so the bound does not give the actual channel capacity of the Quantum channel.”