5

I have been working with stabilizer codes and I understand the mathematical way that they are described and how to simulate such in a classical computer in order to check their performance.

However, lately I have been wondering how this class codes would be implemented physically in terms of Clifford gates in an actual quantum computer. I have not found much about such mapping in the literature, and less of an actual general algorithm (most of the things I have found are just examples, and not general algorithms that realize the task). Can anyone give some insight about this circuit synthesis problem? Are there any general algorithms that realize this circuit synthesis? Are there optimized versions?

2 Answers2

3

Well, it seems that the question is still unanswered. In general, there are different ways of encoding, but -- as I understand it -- you are asking for a unitary way of doing it.

Suppose we have a $[[n,k]]$ stabiliser code $C$ with generators $g_1,\dots,g_{n-k}$. This code is Clifford-equivalent to the code $\mathsf{Z}_k:=|0^{n-k}\rangle\otimes (\mathbb{C}^2)^{\otimes k}$ stabilised by $Z_{1},\dots, Z_{n-k}$. The encoding construction is given by a choice of Clifford unitary mapping $\mathsf{Z}_k$ to $C$.

In general, this Clifford unitary $U$ is not unique since we can redefine it by any Clifford $V$ which acts trivially on $\mathsf{Z}_k$ (or $C$ respectively). However, any choice of stabiliser basis of $C$ induces a $U$. This is simply because a choice of logical basis $|\bar x\rangle$ corresponds to a maximal completion $g_1,\dots,g_{n-k},g_{n-k+1},\dots,g_n$ of the generators and the logical basis is determined by the eigenvalues of $g_{n-k+1},\dots,g_n$. The Clifford unitary $U$ is defined by the following equations: $$ U Z_i U^\dagger = g_i, \qquad \forall i = 1,\dots,n. $$ Since the Paulis on the left and right hand side are maximally commuting sets, this indeed defines a Clifford unitary $U$. It is straightforward to check that any input state is transformed as $$ |0^{n-k}\rangle\otimes |\psi\rangle = \sum_{x\in\mathbb F_2^{k}} \psi_x |0^{n-k}\rangle\otimes |x\rangle \stackrel{U}{\longmapsto} \sum_{x\in\mathbb F_2^{k}} \psi_x |0^{n-k}\rangle\otimes |\bar{x}\rangle. $$

Final remarks:

  1. The binary/symplectic description of the global Clifford unitary $U$ is evident from the definition.
  2. This can be used to compile $U$ into generators via standard methods.
Markus Heinrich
  • 5,652
  • 11
  • 22
0

As narrowed down in the comments, the focus of my answer is on the process of encoding an arbitrary state, so that when an error occurs it may be corrected. (Source for the diagrams / info)

My understanding is that the Hamming parity check matrix is used to determine the encoding unitary. Consider the [[7, 1, 3]] Steane code, which has the following parity matrix:

Parity matrix

And the associated circuit:

Circuit for encoding scheme of [[7, 1, 3]]

So, the first three qubits correspond with the first three columns of the parity check matrix. This enables us to yield a superposition where the first three qubits range from 0-3, and the last four qubits have maintained their parity.

One open question for me remains, namely in the necessity for the repetition code to begin with. Answers/edits on this front appreciated!

C. Kang
  • 1,847
  • 9
  • 24