Active error correction is usually described as a three-step process -- measuring syndromes, decoding the error, and applying the correcting operator. There seem to be alternatives to this approach, such as self-correcting dissipative memories. I will now describe an error correction procedure that is basically unitary. My questions will be if this procedure has a name, can be generalized or could be useful.
Consider the following circuit
One can check that for any statevector which lies in the repetition code subspace $|\psi\rangle=\alpha|000\rangle+\beta|111\rangle$ up to a single-qubit $X$ error (i.e. including $X_1|\psi\rangle, X_2|\psi\rangle$ and $X_3|\psi\rangle$) it acts as $|\psi\rangle=\alpha|000\rangle+\beta|111\rangle\to (\alpha|0\rangle+\beta|1\rangle)|state_{23}\rangle$. I.e. the first qubit acquires the decoded logical state and isn't entangled with the last two. For details see a table at the end. Therefore, this unitary circuit both corrects a single-qubit error $X$ and decodes a logical state. I will call it a decoder-corrector. Applying this decoder-corrector + resetting the ancilla qubits + making the repetition encoding again has the same effect as the usual error correction process, but without any syndrome measurements and decoding.
Although I do not have a nice circuit, I know that [[5, 1, 3]] code admits correction of arbitrary 1q errors in the same way (unitary decoder-corrector+ancilla reset+re-encoding).
- Does this procedure have a name? Does it exist for any error correcting code?
- Given that measuring syndromes+decoding is a costly process, could there be a setting where a similar procedure outperforms the standard active error correction?
Decoder-corrector circuit acting on the code space of the repetition code+single X errors.