1 of 98

Quantum Error Correction 3:

The stabilizer formalism

QuIC Seminar 48

Tuesday Sep. 29, 2020

2 of 98

Outline

  • New experiment on error correction!
    • End goal of error correction series.
  • Recap of last time.
  • Continue from where we left off last time.
    • Symplectic notation.
    • Independent stabilizer elements.
    • Commutativity.
    • Check matrix.
    • Shor’s 9-qubit code in the stabilizer formalism.
    • Error correction conditions in the stabilizer formalism.
    • The five-qubit code.

3 of 98

  • We had just finished with Shor’s 9-qubit code when this paper came out!

4 of 98

  • They actually use the Bacon-Shor 9-qubit code.
    • This is a variant on Shor’s 9-qubit code and is an example of a subsystem code.
    • 13 total qubits: 9 for logical + 4 for syndrome measurements (ancilla).

5 of 98

Fault-tolerant logical state preparation.

(a) Encoding circuit(s).

(b) Bit flip errors.

Raw: Do nothing.

Correction: Correct errors.

Detection: Discard errors.

(c) Logical T2 time.

6 of 98

  • Detection of arbitrary single-qubit errors.

7 of 98

  • Detection of arbitrary single-qubit errors.

8 of 98

  • Remaining steps to understanding* this paper.
    • Stabilizer codes.
    • Subsystem codes.
    • Bacon-Shor code.
    • Review this paper!

*OK, there’s a lot in this paper (especially experimental descriptions) which we won’t fully get into. But we’ll understand a solid chunk of it.

9 of 98

  • Remaining steps to understanding* this paper.
    • Stabilizer codes.
    • Subsystem codes.
    • Bacon-Shor code.
    • Review this paper!

*OK, there’s a lot in this paper (especially experimental descriptions) which we won’t get into to. But we’ll understand a large majority of the paper.

Today.

Next week.

Next next week.

10 of 98

Outline

  • New experiment on error correction!
    • End goal of error correction series.
  • Recap of last time.
  • Continue from where we left off last time.
    • Symplectic notation.
    • Independent stabilizer elements.
    • Commutativity.
    • Check matrix.
    • Shor’s 9-qubit code in the stabilizer formalism.
    • Error correction conditions in the stabilizer formalism.
    • The five-qubit code.

11 of 98

The stabilizer formalism: A preview

  • Pauli group
  • Stabilizers: Subgroups of the Pauli group
  • Condition for nontrivial codespaces
  • Some properties of stabilizer groups
  • Symplectic notation
  • Independent stabilizer elements
  • Dimension of the codespace
  • Check matrix

We’ll then use this formalism for:

  • Shor’s 9-qubit code
  • The five qubit code

12 of 98

The Pauli group

  • The Pauli group on a single qubit is

13 of 98

The Pauli group

  • The Pauli group on a single qubit is

  • Pauli group on n qubits

14 of 98

Stabilizers

A stabilizer S is a subgroup of the n-qubit Pauli group.

15 of 98

Stabilizers

A stabilizer S is a subgroup of the n-qubit Pauli group.

A +1 eigenstate of every element in S is a codeword.

16 of 98

Stabilizers

A stabilizer S is a subgroup of the n-qubit Pauli group.

A +1 eigenstate of every element in S is a codeword.

The codespace is the span of all codewords.

17 of 98

Condition for a nontrivial codespace

  • Can any subgroup be a stabilizer?
  • In principle yes, but remember the point is to get an error correcting code, so we want the codespace to be nontrivial.

Theorem: Let S be a stabilizer. If -I is in S or S is non-abelian, then the C(S) is trivial.

18 of 98

Stabilizer elements

Theorem: Every element of a (nontrivial) stabilizer squares to identity, and therefore has eigenvalues +1 and -1.

19 of 98

Group generators

  • The group <g1, …, gn> is the set of all products of elements from {g1, …, gn}.
    • We call {g1, …, gn} generators.

Example: The stabilizer for the bit-flip code is S = {I, Z1 Z2, Z2 Z3, Z1 Z3}.

Show that S = <Z1 Z2, Z2 Z3>.

Show that S = <Z1 Z2, Z1 Z3>.

20 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).

21 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).
  • Consider the Pauli product on two qubits:

22 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).
  • Consider the Pauli product on two qubits:

  • If we agree on the form “all X’s first, all Z’s second,” we can just write exponents.

23 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).
  • Consider the Pauli product on two qubits:

  • If we agree on the form “all X’s first, all Z’s second,” we can just write exponents.

24 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).
  • Consider the Pauli product on two qubits:

  • If we agree on the form “all X’s first, all Z’s second,” we can just write exponents.

  • What about Y?

25 of 98

Symplectic notation

  • Shorthand notation for writing Paulis (stabilizer elements).
  • Consider the Pauli product on two qubits:

  • If we agree on the form “all X’s first, all Z’s second,” we can just write exponents.

  • What about Y?
    • Y = XZ (up to global phase).

26 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

27 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

28 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

29 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

30 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

31 of 98

Examples: Symplectic notation

Write the following in symplectic notation. Assume all are on three qubits.

32 of 98

Outline

  • New experiment on error correction!
    • End goal of error correction series.
  • Recap of last time.
  • Continue from where we left off last time.
    • Symplectic notation.
    • Independent stabilizer elements.
    • Commutativity.
    • Check matrix.
    • Shor’s 9-qubit code in the stabilizer formalism.
    • Error correction conditions in the stabilizer formalism.
    • The five-qubit code.

33 of 98

Multiplication in Symplectic notation

We can easily multiply Pauli strings by addition module two in our symplectic notation.

Multiply

Add (mod 2)

34 of 98

Symplectic notation

Notice that the RHS is binary vectors of length 2n.

Formally, this space is which is a group under addition modulo two.

Pauli multiplication is identical to vector addition.

Symplectic notation is thus a group homomorphism

That is, a mapping such that r(A B) = r(A) r(B).

35 of 98

Why is this useful? Independent stabilizer elements

Suppose I give you S1, …, Sn, another Pauli S, and ask whether

36 of 98

Why is this useful? Independent stabilizer elements

Suppose I give you S1, …, Sn, another Pauli S, and ask whether

If S is not in the set, we say {S1, …, Sn, S} is an independent set of stabilizers.

37 of 98

Why is this useful? Independent stabilizer elements

Suppose I give you S1, …, Sn, another Pauli S, and ask whether

If S is not in the set, we say {S1, …, Sn, S} is an independent set of stabilizers.

Symplectic notation allows us to answer this with a simple linear algebra problem:

38 of 98

Why is this useful? Independent stabilizer elements

Suppose I give you S1, …, Sn, another Pauli S, and ask whether

If S is not in the set, we say {S1, …, Sn, S} is an independent set of stabilizers.

Symplectic notation allows us to answer this with a simple linear algebra problem:

Theorem: {S1, …, Sn, S} is an independent set of stabilizers iff {r(S1), …, r(Sn), r(S)} is a linearly independent set of vectors.

39 of 98

Why is this useful? Independent stabilizer elements

Theorem: {S1, …, Sn, Sj} is an independent set of stabilizers iff {r(S1), …, r(Sn), r(Sj)} is a linearly independent set of vectors.

Proof: We prove the contrapositive. (If the vectors are linearly dependent, the set is dependent.)

  • Suppose {r(S1), …, r(Sn), r(Sj)} is linearly dependent.
  • This means where not all a_i in {0, 1} are zero.
  • This is equivalent to the statement
    • Translation between Pauli group and symplectic group
      • Symplectic group: Addition (mod 2) with 0 as identity element.
      • Pauli group: Matrix multiplication with I as identity element.
  • Since all stabilizers square to identity,
  • Thus the set is dependent.

40 of 98

Commutativity in symplectic notation

Suppose I give you S1, S2 and ask whether

41 of 98

Commutativity in symplectic notation

Suppose I give you S1, S2 and ask whether

This can be done with symplectic notation also.

42 of 98

Commutativity in symplectic notation

Suppose I give you S1, S2 and ask whether

This can be done with symplectic notation also.

Theorem:

43 of 98

Commutativity in symplectic notation

Why is this true?

44 of 98

Commutativity in symplectic notation

Why is this true?

Two Paulis commute if they match on X and Z in an even number of places, else they anti-commute.

45 of 98

Commutativity in symplectic notation

Why is this true?

Two Paulis commute if they match on X and Z in an even number of places, else they anti-commute.

The matrix reverses the X and Z blocks (1st/2nd half) of the vector it acts on.

46 of 98

Commutativity in symplectic notation

Why is this true?

Two Paulis commute if they match on X and Z in an even number of places, else they anti-commute.

The matrix reverses the X and Z blocks (1st/2nd half) of the vector it acts on.

Thus is equal to the number of places that S1 and S2 match on X and Z (modulo 2).

47 of 98

Example: Commutativity in symplectic notation

48 of 98

Example: Commutativity in symplectic notation

49 of 98

Check matrix

Stabilizer codes are sometimes presented via their check matrix M(S).

50 of 98

Check matrix

Stabilizer codes are sometimes presented via their check matrix M(S).

Given stabilizer the check matrix is simply

51 of 98

Check matrix

Stabilizer codes are sometimes presented via their check matrix M(S).

Given stabilizer the check matrix is simply

  • Example: The check matrix for the bit-flip code is

52 of 98

Check matrix

Stabilizer codes are sometimes presented via their check matrix M(S).

Given stabilizer the check matrix is simply

  • Example: The check matrix for the bit-flip code is

Q: What is the check matrix for the phase-flip code?

53 of 98

Shor’s 9-qubit code in the stabilizer formalism

Recall the codewords for Shor’s 9-qubit code.

54 of 98

Shor’s 9-qubit code in the stabilizer formalism

Recall the codewords for Shor’s 9-qubit code.

Q: What are the stabilizers (stabilizer generators)?

55 of 98

Shor’s 9-qubit code in the stabilizer formalism

Recall the codewords for Shor’s 9-qubit code.

Q: What are the stabilizers (stabilizer generators)?

A: Start with the bit-flip code <Z1 Z2, Z2 Z3> and do this in each block:

Block 1

Block 2

Block 3

56 of 98

Shor’s 9-qubit code in the stabilizer formalism

Recall the codewords for Shor’s 9-qubit code.

Q: What are the stabilizers (stabilizer generators)?

A: Start with the bit-flip code <Z1 Z2, Z2 Z3> and do this in each block:

Now the phase-flip code has generators <X1 X2, X2 X3>. Do this across each block:

Block 1

Block 2

Block 3

57 of 98

Shor’s 9-qubit code in the stabilizer formalism

In summary, the generators for Shor’s 9-qubit code are:

Verify that:

Note the logical operators do not necessarily have any relation to the physical operations which implement them!

58 of 98

Quick note on logical operators

It can be shown that logical operators for X and Z exists for any stabilizer code.

We’ll show this in a future seminar.

This will also give us insight into how to form codewords from stabilizers.

59 of 98

Error correction conditions in the stabilizer formalism

Since we’re now describing codes with stabilizer generators, it would be nice to have conditions on which errors are correctable in terms of the stabilizer generators. (Analogue to Knill-Laflamme conditions.)

60 of 98

Error correction conditions in the stabilizer formalism

Since we’re now describing codes with stabilizer generators, it would be nice to have conditions on which errors are correctable in terms of the stabilizer generators. (Analogue to Knill-Laflamme conditions.)

The condition is written in terms of the centralizer (set of commuting elements).

61 of 98

Error correction conditions in the stabilizer formalism

Since we’re now describing codes with stabilizer generators, it would be nice to have conditions on which errors are correctable in terms of the stabilizer generators. (Analogue to Knill-Laflamme conditions.)

The condition is written in terms of the centralizer (set of commuting elements).

With this, the error correction conditions expressed in the stabilizer formalism are...

62 of 98

Error correction conditions in the stabilizer formalism

Theorem: Let S be a stabilizer and {E_j} a set of errors (elements of the n-qubit Pauli group). Then, {E_j} is correctable by S if, for all j and k,

63 of 98

Error correction conditions in the stabilizer formalism

Theorem: Let S be a stabilizer and {E_j} a set of errors (elements of the n-qubit Pauli group). Then, {E_j} is correctable by S if, for all j and k,

S

Z(S)

Bad

region

64 of 98

Error correction conditions in the stabilizer formalism

Theorem: Let S be a stabilizer and {E_j} a set of errors (elements of the n-qubit Pauli group). Then, {E_j} is correctable by S if, for all j and k,

Proof: Deferred! (Nielsen and Chuang Chp. 10.)

S

Z(S)

Bad

region

65 of 98

Error correction conditions in the stabilizer formalism

S

Z(S)

Bad

region

Yes

No

Good!

Yes

No

Good!

Bad!

66 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

67 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

Lemma: An element g commutes with all generators of S if and only if g is in Z(S).

68 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

Lemma: An element g commutes with all generators of S if and only if g is in Z(S).

Why? Suppose and, for all i,

69 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

Lemma: An element g commutes with all generators of S if and only if g is in Z(S).

Why? Suppose and, for all i,

Any element B in S can be written

70 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

Lemma: An element g commutes with all generators of S if and only if g is in Z(S).

Why? Suppose and, for all i,

Any element B in S can be written

Then,

showing that g commutes with all elements.

71 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

A generating set for bit-flip errors is

Lemma: An element g commutes with all generators of S if and only if g is in Z(S).

Why? Suppose and, for all i,

Any element B in S can be written

Then,

showing that g commutes with all elements. Other direction is obvious.

72 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

73 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

Consider

74 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

Consider

75 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

Consider

76 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

Consider

The second equation tells us g does not commute with this generator.

77 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The bit-flip errors are

Consider

The second equation tells us g does not commute with this generator.

Therefore, g is not in Z(S) - S. So far, so good. Continue in this fashion for all Ej, Ek.

78 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The single qubit phase-flip errors are

All products clearly commute with every stabilizer generator.

Therefore these errors are not correctable (as we know).

79 of 98

Stabilizer QEC conditions for the bit-flip code

Consider the bit-flip code

The single qubit phase-flip errors are

All products clearly commute with every stabilizer generator.

Therefore these errors are not correctable (as we know).

Do the same analysis for the phase-flip code.

80 of 98

The five qubit code

Note that the last three generators are the first generator shifted to the right.

81 of 98

The five qubit code

Note that the last three generators are the first generator shifted to the right.

Isn’t it easier to describe the code with stabilizers than with codewords?

82 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

83 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

84 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

85 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

We need to show that every Ej Ek does not commute with at least one generator.

86 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

We need to show that every Ej Ek does not commute with at least one generator.

This can be seen by inspecting the column structure of the generators.

87 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

We need to show that every Ej Ek does not commute with at least one generator.

This can be seen by inspecting the column structure of the generators.

Pick any two columns - there will be at least one row r such that r(j) + r(k) = 1.

88 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

We need to show that every Ej Ek does not commute with at least one generator.

This can be seen by inspecting the column structure of the generators.

Pick any two columns - there will be at least one row r such that r(j)+ r(k) = 1.

This guarantees non-commutativity (recall the symplectic notation condition).

89 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

90 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: X2 Z3

91 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: X2 Z3

92 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: X2 X4

93 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: X2 X4

94 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: Z1 Z5

95 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Ex: Z1 Z5

96 of 98

The five qubit code

Why does this correct arbitrary single qubit errors?

Generating set for single qubit errors is E = {X1, …, X5, Z1, …, Z5}.

Any element Ej Ek will be of the form or or

Continue in this fashion to show that the five-qubit code can correct all single qubit errors!

97 of 98

Summary: Important takeaways

  • Stabilizer formalism.
  • Properties of stabilizers.
  • Error correcting conditions for stabilizers.
  • Shor’s 9-qubit code in the stabilizer formalism.
  • The five-qubit code.

98 of 98

Questions

  • How was the five-qubit code invented? (I don’t know.)
    • Was it by analyzing the stabilizer error correcting conditions and forming the generators from this?
    • Did it come from a classical code?
    • What happens if you remove one row from the check matrix of the five qubit code? (i.e., remove one generator)