The problem: you cannot copy a qubit to protect it
Classical error correction protects a bit by copying it — send 000 instead of 0, and majority vote fixes a single flip. Quantum information cannot use that trick directly: the no-cloning theorem forbids making an independent copy of an unknown quantum state. The 3-qubit bit-flip code, one of the simplest quantum error-correcting codes, gets around this by entangling one logical qubit across three physical qubits instead of copying it — CNOT gates spread a single qubit's state into a correlated triple without ever duplicating the unknown amplitudes:
|0⟩ → |000⟩ |1⟩ → |111⟩ α|0⟩+β|1⟩ → α|000⟩ + β|111⟩ (entangled, NOT three independent copies)
Визначення пошкоджень без читання стану
Вимірювання кубіта безпосередньо для перевірки на помилки призведе до колапсу його суперпозиції та знищить ту саму інформацію, яку ви захищаєте. Рішення полягає у вимірюванні лише парності — чи узгоджуються пари кубітів — за допомогою допоміжних кубітів і операторів Z1Z2 та Z2Z3, які комутують із закодованими станами |000⟩ та |111⟩ і таким чином нічого не розкривають про α або β, лише про узгодженість між трьома фізичними кубітами. Чотири можливі результати цих двох перевірок парності утворюють синдром помилок:
синдром (Z1Z2, Z2Z3) значення (+1, +1) відсутність помилки (-1, +1) кубіт 1 перевернутий (-1, -1) кубіт 2 перевернутий (+1, -1) кубіт 3 перевернутий Синдром точно вказує, який фізичний кубіт перевернувся, якщо це взагалі так, не вимірюючи ніколи логічну величину α|000⟩ + β|111⟩ саму по собі — суперпозиція залишається без змін. Визначено, то корекція — один, детермінований гейт X на позначений кубіт. Це основна хитрощі кожної кодової схеми стабілізаторів: вимірюйте оператори, які комутують із простором коду (тобто вони не порушують закодовану інформацію) але антикомутують з конкретними помилками (так вони розкривають, яка саме помилка сталася).
syndrome (Z1Z2, Z2Z3) meaning (+1, +1) no error (-1, +1) qubit 1 flipped (-1, -1) qubit 2 flipped (+1, -1) qubit 3 flipped
Що цей код робить і не робить
3-бітова кодова система виправляє будь-яку поодину помилку перевороту біта (X) на будь-якому з трьох фізичних кубітів — точно аналогічно класичній кодовій системі більшості голосів, і це тому, що бітові перевертання комутують із перевіркою парності Z так само, як і класичні бітові помилки. Але вона не бачить помилок перевороту фази (Z), які залишають парність без змін, але все ще погіршують закодовану суперпозицію. Незалежна 3-бітова кодова система перевороту фази обробляє цей випадок шляхом кодування в основі |+⟩/|−⟩ замість цього; код Петера Шора на 9 кубітах (1995) — перший коли-небудь опублікований квантовий код корекції помилок — вбудовує обидва конструкти разом (кодова система перевороту біта застосовується до блоків коду перевороту фази), щоб виправити будь-яку поодину однобітову помилку будь-якого типу, або їх комбінацію.
Understanding Error Correction in Quantum Computing
The core challenge in building fault-tolerant quantum computers lies in mitigating errors. Each physical qubit, representing a bit of information, is susceptible to random fluctuations – these are called errors.
Each error has an associated probability, denoted as 'p', that a particular qubit will flip its state during a single error correction cycle. For example, if p = 0.01 (1%), there’s a 1% chance each qubit will flip.
A simple demonstration involves a 3-qubit code where the overall failure rate depends on the simultaneous flipping of qubits. The probability of two or more qubits failing simultaneously is approximately 3p² for small p. This means that if p is very low, the chances of multiple errors occurring at once are relatively small.
Increasing the number of physical qubits per logical qubit (a concept in fault-tolerant quantum computing) can actually reduce the overall logical error rate exponentially. Instead of increasing with more qubits, the error rate decreases dramatically – a key factor in achieving practical quantum computation.
P_logical ≈ 3p²(1-p) + p³ ≈ 3p² for small p break-even point: p < 1/3 ⇒ encoding helps rather than hurts
From toy code to real hardware
The 3-qubit code is a teaching example, not what runs on today’s quantum processors — real machines (superconducting qubits from IBM and Google, trapped ions from Quantinuum and IonQ) mostly implement the surface code, which arranges dozens to thousands of physical qubits in a 2D lattice and measures many overlapping X- and Z-type stabilisers at once, correcting both bit- and phase-flip errors simultaneously with a distance that scales with lattice size.
Google’s 2023–2024 surface-code experiments were the first to demonstrate that a larger code distance measurably reduces the logical error rate below the physical one — the threshold theorem in action, on real hardware, using exactly the syndrome-measure-and-correct loop this simulation shows at the smallest possible scale.
Frequently asked questions
Чому квантове коректування помилок не може просто копіювати кубіт, як роблять класичні коди?
Теорема про неприведенність (no-cloning theorem) доводить, що жодна операція не може дублювати будь-який невідомий квантовий стан. 3-кубітна кодова схема обходить це шляхом заплутування кубіта між трьома фізичними кубітами за допомогою гейтів CNOT, розподіляючи інформацію без створення незалежної копії.
Як вимірювання синдрому не руйнує закодований кубіт?
Вимірювання синдрому перевіряє лише парність між парами кубітів (Z1Z2 та Z2Z3), оператори, які комутують з обома базисними станами коду: |000⟩ та |111⟩. Це означає, що вимірювання розкриває, який кубіт змінився, не руйнуючи та не розкриваючи при цьому саму суперпозицію α|000⟩ + β|111⟩.
Чи захищає 3-кубітна кодова схема від усіх квантових помилок?
Ні — вона виправляє лише помилки бітового перемикання (X) та сліпа для помилок фазового перемикання (Z), які не змінюють її перевірки парності. Код Шорта на 9 кубітах поєднує бітову кодову схему з фазовою кодовою схемою для обробки обох, а в реальному обладнанні сьогодні переважно використовується більш ефективний поверхневий код.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Quantum Error Correction і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Quantum Error Correction