Fault-Tolerant State Preparation
Encoding a fresh logical state must itself resist faults, or the errors introduced during preparation defeat the code before computation begins.
Why preparation is dangerous
A logical computation starts by preparing encoded states, usually the logical |0> and logical |+>. The encoding circuit entangles many physical qubits, and a single fault during it can spread into a high-weight error on the fresh logical qubit. If preparation is not fault tolerant, the state enters the computation already corrupted beyond what the code can fix.
Verification and repetition
The standard remedy is prepare-and-verify. The state is encoded, then a non-destructive check measures whether a dangerous error is present. If the check fires, the state is thrown away and preparation is retried. Because faulty preparations are discarded, only clean states proceed, at the cost of some repetitions. This is a form of postselection restricted to the preparation stage.
- Logical |0> is prepared by measuring all Z-type stabilizers and the logical Z.
- A verification round detects encoding faults that survived the projection.
- Flagged or failed preparations are discarded and retried.
- For CSS codes, transversal preparation of |0> and |+> is naturally fault tolerant.
For CSS codes there is a clean route: logical |0> can be prepared by measuring the Z stabilizers, since |0> is already a +1 eigenstate of all Z operators, and the process spreads X errors in a way the X stabilizers catch. Verification adds robustness against the measurement faults themselves.
Fault-tolerant preparation of ordinary logical states is comparatively cheap; the expensive case is preparing the non-stabilizer magic states needed for the T gate, which cannot be made transversally and require distillation. The distinction between easy stabilizer-state preparation and costly magic-state preparation drives much of a machine's resource budget.