Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A Steane Code, Distance 3-Stabilizer-Codes

  1. Feb 16, 2016 #1

    The Steane code is an error correcting code with n=7 physical qubits, n=1 logical qubits (this is clear so far) but there is also the term "distance" d as in the in the case of the Steane code d=3. I am still struggling to understand what that actually means. We have defined the distance as: "the distance between the distinguishable codeword states." What does that mean?
  2. jcsd
  3. Feb 22, 2016 #2
    Thanks for the post! This is an automated courtesy bump. Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post?
  4. Feb 23, 2016 #3
    The distance, more formally defined, is the weight of a Pauli error ##P## (the number of qubits ##P## effects) such that for any two distinct codeword states ##|\psi\rangle## and ##|\varphi\rangle##, the corrupted states ##P|\psi\rangle## and ##|\varphi\rangle## are not orthogonal. So it takes at least a weight-##d## error to confuse two codewords in a code with the minimal distance ##d##. The code let you detect (although may not be able to correct) any error ##P## of weight less than ##d## because

    [tex] \langle \varphi |P|\psi \rangle = 0 [/tex]

    means that even though the error can change the state ##|\psi\rangle##, the projection of the corrupted state onto the code subspace will still be ##|\psi\rangle##. So you can make a measurement that either projects the state onto the code subspace, hence correcting the error, or onto the orthogonal subspace without correcting the error but you now know that an error has occurred.
    Last edited: Feb 23, 2016
  5. Mar 1, 2016 #4
    Thanks. I just read your reply. As I understand it: The weight of a Pauli-operator is definded as the number of operators that act nontrivially on the qubits. For example the error: XX11YZZ would have the weight 5, because 5 out of 7 operators are not the identity. Pauli-errors are the class of errors (Pauli-operators), that commute with each stabilizer but that can not be expressed as a product of stabilizers (and aren't stabilizers themselves). They are generally undetectable, because the eigenvalues of each stabilizer will still be +1 when affecting a codeword. That means that a Pauli-error acting on a codeword will produces another codeword, which is "bad" because the state is corrupted but is still in the +1 eigenspace of the stabilizer group. The distance is simply the Pauli-error with minimum weight. I don't see how the orthogonality condition you mentioned applies here, because in principle the error could produce another logical eigenstate or just an arbitrary superposition.
  6. Mar 4, 2016 #5
    Sorry for the late reply. Yes, you can't detect that kind of errors with weight ##\ge d##. This doesn't contradict what I said that you can detect errors of weight ##<d##.

    Paulis that commute with each and every stabilizer but are not stabilizer themselves are logical operators. I'm not familiar with calling them and exclusively them "Pauli errors." By Pauli errors, I just mean any error operators that are Pauli operators.
  7. Mar 8, 2016 #6
    I would say that you can't detect errors E with ##wt(E) > \frac{d-1}{2} ##
  8. Mar 8, 2016 #7
    You can, with the strategy outlined in my first reply. ##wt(E) > \frac{d-1}{2} ## is the weight of errors that you can't correct. Please look at section 7.3 of John Preskill's notes.
  9. Mar 8, 2016 #8
    ok, I agree. Let me summarize and tell me if you agree: The weight of a pauli operator (operators that belong to the pauli group) is defined as the number of operators that act nontrivially on qubits. The distance d is the minimum weight of logical operators (pauli operators that commute with each stabilizer but are not themselves stabilizers or products of stabilizers). The action of logical operators on the codespace will not produce states that are outside of the codespace. If a pauli error (according to your definition) has a weight of greater than (d-1)/2 error correction will fail. However you might be able to DETECT errors of less than d.

    just one question regarding the definition: are "logical operators" all unitary operators that commute with the stabilizer group or only pauli operators that commute with the stabilizers (and aren't themselves stabilizer)?
  10. Mar 8, 2016 #9
    I agree with all of the above.

    About the definition of logical operators, I have only seen ones that are Pauli operators but I'm not absolutely sure.
  11. Mar 8, 2016 #10
    ok, thank you very much for your help. Btw, in case you're familiar with adiabatic quantum computation: I have posted a few new threads. Feel free to respond when you have the time and energy.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted