Journal Club 15/05

Transversal Injection: Using the Surface Code to
Prepare Non-Pauli Eigenstates

\text{Julien Br\'ehier}

Little prerequisites

  • Quantum Error Correction
  • Logical operators
  • Fault tolerance
  • Transversal gates

Little prerequisites

  • Quantum Error Correction
  • Logical operators
  • Fault tolerance
  • Transversal gates

Stabilizer codes

\text {For a stabilizer code }\llbracket n,k,d \rrbracket
\forall s \in \mathcal{S},s\bar{\ket{\psi}} = {\color{red}+} \bar{\ket{\psi}}
k = n-rank(\mathcal{S})
\set{\forall s_i,s_j \in \mathcal{S} \subsetneq\mathcal{P}^n,[s_i,s_j]=0}

Kitaev Toric code

Kitaev Toric code

To the surface code

To the surface code

Little prerequisites

  • Quantum Error Correction
  • Logical operators
  • Fault tolerance
  • Transversal gates

Encoding information

{\color{blue} \bar{Z}}
{\color{red} \bar{X}}

Encoding information

{\color{blue} \bar{Z}}

Encoding information

{\color{blue} \bar{Z}}

Encoding information

{\color{blue} \bar{Z}}

Little prerequisites

  • Quantum Error Correction
  • Logical operators
  • Fault tolerance
  • Transversal gates

Error propagation

To the surface code

To the surface code

\color{blue} Z

To the surface code

\color{blue} Z

To the surface code

\color{blue} Z

To the surface code

\color{blue} Z
\color{blue} Z

Little prerequisites

  • Quantum Error Correction
  • Logical operators
  • Fault tolerance
  • Transversal gates

Transversal operator

\color{blue} Z
\color{blue} Z
\color{blue} Z
\color{blue} Z
\color{blue} Z
\color{blue} Z^{\otimes 5} = \bar{Z}

Unfortunately...

Knill-Eastin no go theorem

One then has to think

  • Gauge fixed code conversion
  • State injection
  • Magic state distilation
  • Gate teleportation

What else can we do ?

Into the paper .....

Usual initialization

\ket{\psi} = \ket{0}^{\otimes 5}

Usual initialization

\ket{\psi} = \bar{\ket{0}}

Usual initialization

\ket{\psi} = \bar{\ket{0}} = \ket{00000}+\ket{11100}+\ket{00111}+\ket{11011}

Transversal injection

\ket{\chi} = (\alpha\ket{0}+\beta\ket{1})^{\otimes 5}

What's next ?

A treasure hunt !

\ket{\chi}
\ket{\chi}
Z_{1,3,4}
\ket{\chi}
Z_{1,3,4}
Z_{2,3,5}
\ket{\chi}
Z_{1,3,4}
Z_{2,3,5}
X_{1,2,3}
\ket{\chi}
Z_{1,3,4}
Z_{2,3,5}
X_{1,2,3}
X_{3,4,5}
\ket{\chi}
Z_{1,3,4}
Z_{2,3,5}
X_{1,2,3}
X_{3,4,5}
\ket{\Lambda} = \begin{pmatrix}\alpha_L\\\beta_L\end{pmatrix}

Let's look at the steps

What do we need ?

\text{Suppose } syn = (\overbrace{1,0}^{X_i}|\underbrace{0,1}_{Z_i})

Start with

Z_1 \xrightarrow{} \set{0,2,3}

Start with

Z_1 \xrightarrow{} \set{0,2,3}

How could we get 0 ?

Start with

Z_1 \xrightarrow{} \set{0,2,3}

How could we get 0 ?

\emptyset, \set{0,2}, \set{0,3}, \set{2,3}

Start with

Z_1 \xrightarrow{} \set{0,2,3}

How could we get 0 ?

\emptyset, \set{0,2}, \set{0,3}, \set{2,3}

Next :

Z_2 \xrightarrow{} \set{1,2,4}

Next :

Z_2 \xrightarrow{} \set{1,2,4}

How could we get 1 ?

Next :

Z_2 \xrightarrow{} \set{1,2,4}

How could we get 1 ?

Recall we already saw #2

Next :

Z_2 \xrightarrow{} \set{1,2,4}

How could we get 1 ?

Recall we already saw #2

t = z_i \oplus \set{\text{seen qubits}}

Next :

Z_2 \xrightarrow{} \set{1,2,4}

How could we get 1 ?

Recall we already saw #2

t = z_i \oplus \set{\text{seen qubits}}

What do we get ?

Now to the X part

Now to the X part

Just read a table

With trivial syndroms :

With trivial syndroms :

With trivial syndroms :

With trivial syndroms :

\ket{00001} = \alpha^4\beta + \alpha^3\beta^2 - \alpha^2\beta^3 - \alpha\beta^4

What can it achieve ?

What can it achieve ?

What can it achieve ?

  • Large distance codes for trivial X syndrome
\mathcal{O}(e^{N-1})
  • Although there is a probabilistic aspect to it, depending on the architecture it can save qubits
  • Post selection can achieve lower physical error rates