What's the deal with Deno? We talk with a major contributor to find out. Listen now.
11

Code spaces and code-words A quantum error correcting code is often identified with the code-space (Nielsen & Chuang certainly seem to do so). The code space $\mathcal C$ of e.g. an $n$-qubit quantum error correction code is a vector subspace $\mathcal C \subseteq \mathcal H_2^{\otimes n}$. A code word (terminology which was borrowed from the ...


10

The key difference is that the Bacon-Shor code is a subsystem code, while the Shor code is a stabilizer code. They have the same stabilizer operators, but the error correction procedure is different. The canonical reference for this construction is [Poulin]. Stabilizer codes rely on measuring eigenvalues of commuting operators (the stabilizers). Because ...


8

There are some fairly simple reasons — beyond the merely historical — to use Pauli matrices instead of arbitrary unitary matrices. These reasons may not uniquely single out the Pauli group of operators, but they do significantly limit the scope of what is productive to consider. A stabiliser operator $S$, first and foremost, must have a +1 ...


8

Yes, the physical implementation is the constraint. If you look at the image of the processor you'll notice the connections between qubits. This gives you an idea of how you can perform two qubit gates between particular qubits. Here's the documentation on the Tenerife backend. In the section titled Two Qubit gates at the bottom you can read the details. ...


7

The key point of quantum error correction is precisely to correct the errors without collapsing the qubits, right? If we measure the encoded qubits we project the qubits to $\left|0\right>$ or $\left|1\right>$ and lose all the information in the coefficients $\alpha \left|0\right> + \beta \left|1\right>$. By measuring ancilla qubits we can know ...


7

There are a few conventions and intuition here, which perhaps it would help to have spelled out — $\def\ket#1{\lvert#1\rangle}\def\bra#1{\!\langle#1\rvert}$ Sign bits versus {0,1} bits The first step is to make what is sometimes called the 'great notational shift', and think of bits (even classical bits) as being encoded in signs. This is productive ...


6

There are various ways that you might go about computing the distance. I'll give a fairly general strategy here, although I'm sure here are imprvements that can be made. Your starting point is a set of stabilizers $\{K_n\}$ on $N$ qubits, satisfying $K_n^2=I$ and $[K_n,K_m]=0$. Generically, you want to consider the full set of $4^N$ possible tensor products ...


6

The five qubit IBM devices have a ‘bow tie’ architecture, which mean that it is only possible to interact certain pairs of qubits. These are shown in the answer of Andrew O. The interaction that can be performed between these pairs of qubits is a CNOT with a particular direction. However, it is possible to implement others indirectly. For example, to ...


6

When you say "why not just measure the 3 encoded qubits directly", are you thinking that you could measure $Z_1$, $Z_2$ and $Z_3$, and that, from there, you can calculate the values $Z_1Z_2$ and $Z_2Z_3$? This is sort of true: if your only goal is to obtain the observables $Z_1Z_2$ and $Z_2Z_3$, you could do this. But that is not your end goal, which is, ...


5

There's good news and bad news. The good news is that your intuitions are essentially right, and that there is such a group action via the Clifford group. The bad news is, depending on what you want out of that parameterisation, it may not be as useful as you are hoping.$\def\ket#1{\lvert #1 \rangle}$ The good news first — every Pauli stabiliser group ...


5

In a quantum error correcting code, you store a number of logical qubits, $k$, in a state of many physical qubits, $n$. A code word is a state of the physical qubits that is associated with a specific logical state. So, for example, however you store the $|0\rangle$ state for one of your logical qubits is a code word. The code space is the Hilbert space ...


5

A code word (for a quantum code) is a quantum state that is typically associated with a state in the logical basis. So, you’ll have some state $|\psi_0\rangle$ that corresponds to the 0 state of the qubit to be encoded (you don’t have to use qubits, but you probably are), and you’ll have another that’s $|\psi_1\rangle$ that corresponds to the 1 state of the ...


5

It is not necessary to define the group as commuting —$\def\ket#1{\lvert#1\rangle}$ by virtue of every element in the group stabilising the state $\ket{\psi}$, this property follows. Because we are considering subgroups of the $N$-qubit Pauli group, any two elements either commute or anti-commute. Let $P \in \mathcal P_N$ be an operator which ...


4

If you only have one $E_k$ (i.e., $k=1$ can only take one value), and this $E_k=U$ is unitary, then - as you point out in the comments - the first condition is always satisfied, and the error can be corrected. However, this also means that your "error" is the deterministic application of $U$. So after applying the "error" map, you just have to undo $U$, ...


4

Consulting my local copy of Nielsen & Chuang (10th anniversary edition, p. 457), the complete statement of the exercise is pretty much exactly as you have given it: Exercise 10.34. Let $\langle g_1, \ldots, g_l \rangle$. Show that $-I$ is not an element of $S$ if and only if $g_j^2 = I$ for all $j$, and $g_j \ne - I$ for all $j$. Reading the ...


4

Any operator from the Pauli group has two eigenspaces of equal size. So we known that by adding stabilizer generator from this group, we reduce the size of the stabilizer space by half. This means that the stabilizer space would fit one less logical qubit. This makes it easy to know when we have enough stabilizers: to store $k$ logical qubits in $n$ physical ...


3

Consider a subgroup $G $ of the Pauli group with at least one operator that acts non-trivially on some qubit. Given any qubit $j $, for which the group contains an operator $S_j $ which acts on $j $ non-trivially, there is a Clifford group operator $C_j $ such that $C_j S_j C_j^\dagger =Z_j $, acting on qubit $j $ alone. (Why?) If $G_j = \{ C_j S C_j^\...


3

I don't have a complete answer, but perhaps others can improve on this starting point. There are probably 3 things to ask about the code: How degenerate is it? How hard is it to perform the classical post-processing of the error syndrome in order to determine which corrections to make? What are its error correcting/fault-tolerant thresholds? I suppose a ...


3

I am confused what "conjugation of coordinates" means in this context. Conjugating coordinates of $\mathcal C$ is equivalent to setting some diagonal elements of Γ to 1. Read "Theorem 12, on page 8 and 9" for an understanding of the usage, this is further explained on page 15 (last paragraph): "As mentioned before, the set of self-dual linear codes ...


3

Clifford operations are often easy to do fault-tolerantly in stabilizer codes, either transversally or by code deformation. The reason is exactly as you thought: the special relationship between these gates and the Paulis, since the latter are used to define stabilizer codes. It is possible to get non-Clifford gates in codes, but a price must be paid. ...


3

I believe that this is actually two separate questions; I'll try to explain the issue concerning errors as channels with multiple Kraus operators instead of unitaries first: You are correct in saying that errors, in general, are not unitary operations. Rather, they are quantum channels that most often have more than 1 Kraus operators. Consider, for instance, ...


3

Before starting, I should probably emphasise that, although useful for the practice of working through the maths of quantum error correction on a relatively simple case, amplitude damping combined with the repetition code is a really bad thing to be thinking about. This is because, if there's an error, and they you apply a syndrome measurement, so that you ...


3

A stabilizer code is also called an additive code, because it is closed under the sum of its elements. The namesake is described on page 33 of "Stabilizer Codes and Quantum Error Correction" (link). Additionally, additive quantum codes are the quantum version of additive codes found in coding theory.


3

A general controlled unitary Let $CU$ denote the 'controlled' version of the $n$-qubit unitary $U$: \begin{equation} CU = |0\rangle\langle0|\otimes I_{t} + |1\rangle\langle1|\otimes U_{t}, \end{equation} where the operation acts on a Hilbert space $\mathcal{H}_{c}\otimes \mathcal{H}_{t}$, with $c$ denoting the control qubit and $t$ denoting the target ...


3

Note that in the case $k = 0$, the stabiliser 'code' is a $2^0 = 1$ dimensional subspace of the Hilbert space, which is to say that it consists of a single stabiliser state. This will have somewhat peverse effects on the features such as the 'distance' of the code. The "code distance" is ultimately defined in terms of the minimum weight of a Pauli ...


3

In the classic paper https://arxiv.org/pdf/quant-ph/9608006.pdf, on page 10, the distance of an $[n,0]$ code is defined as the smallest non-zero weight of any stabilizer in the code. The physical interpretation for this definition given is, "An $[[n, 0, d]]$ code is a quantum state such that, when subjected to a decoherence of $[(d − 1)/2]$ coordinates, ...


3

It should be $IY \ne - YI$ instead of $IY = - YI$. $$IY \ne - YI \\ \begin{pmatrix} 1&0\\ 0& 1 \end{pmatrix} \begin{pmatrix} 0&-i\\ i& 0 \end{pmatrix} \ne -\begin{pmatrix} 0&-i\\ i& 0 \end{pmatrix} \begin{pmatrix} 1&0\\ 0& 1 \end{pmatrix} \\ Y = \begin{pmatrix} 0&-i\\ i& 0 \end{pmatrix} \ne -\begin{pmatrix} 0&-i\...


2

Firstly, I'm presuming that when you write $E_0^3$ it corresponds to $E_0^{q_1} \otimes E_0^{q_2} \otimes E_0^{q_3}$. In question 2. you've written out how the Superoperator of the Kraus operators acts on the density matrix, In 1. we should also assume that this is the case, and the pre-factor of $\sqrt{r}(1-r)$ is a probability amplitude, so measuring with ...


2

The way that I tend to think about it is to write out the $(n-k)\times 2n$ binary matrices specifying the generators. The first $n$ bits of each row are the locations of Pauli $X$ matrices, while the second $n$ are the locations of the Pauli $Z$ matrices. $$ G=\left(\begin{array}{c|c} G_x & G_z \end{array}\right) $$ Now, imagine we introduce a new ...


2

This is basically what DaftWullie said in the comments, with a bit of elaboration —$\def\ket#1{\lvert #1 \rangle}\def\bra#1{\!\!\:\langle #1 \rvert}$ Notice that $Z_1 Z_2$ is an $8 \times 8$ operator when taken as an operation on 3 qubits, and $\{ \ket{000}, \ket{001}, \ket{110}, \ket{111} \}$ is a set of $8 \times 1$ column-vectors. There can't be ...


Only top voted, non community-wiki answers of a minimum length are eligible