0
$\begingroup$

In this paper: https://iopscience.iop.org/article/10.1088/1367-2630/14/12/123011, the authors describes how to inject a magic state into a small planar surface code, and then how to expand the code (see figures 8d and 8e).The figure from the paper showing the state injection and lattice expansion process.

I cannot understand the expansion process. Since the additional qubits are initialized to the |0> state, a transversal ZZZZ operator (the logical Z) is a stabilizer of the system before and after the syndrome measurements. Therefore, the system must end in either the logical 0 or logical 1, and cannot be in any superposition.

Another point of view on my question is that the suggested process "measures" the original (pink) surface code in the z basis. If the original (pink) code is in the 0 logical state, the four bottom face syndrome measurements must give even parity. If the original code is in the 1 logical state, these four syndrome measurements must give an odd parity. this is because the bottom row of green qubits are initialized in the 0 state, and their multiplication with the original logical Z (and one another green qubit in the same row of the original logical Z) equals the parity of the four bottom face syndrome measurements.

We can therefore identify the original state of the code in the Z basis, so this is a measurement. But if this is a measurement, we are no more in a superposition, and the state injection procedure fails.

Where is my mistake?

$\endgroup$

1 Answer 1

1
$\begingroup$

I'm pretty sure you're right that the expansion step is destroying the value. When you expand a surface code you need to match the reset basis to the boundary type being moved outward. Since both an X basis and Z basis boundary is moving outward here, there should be a mix of X basis and Z basis resets.

If you want a for-sure working state injection circuit, I included the raw circuits in my hook injection paper and simulated them to confirm they work.

$\endgroup$
1
  • $\begingroup$ Thank you very much. If I want to expand the code from a distance 3 with injected state into a larger code, how can I do it? $\endgroup$ Jun 13, 2023 at 6:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.