Кодові пробіли та кодові слова
Квантовий код для виправлення помилок часто ототожнюється з кодовим простором (напевно, схоже, це роблять Nielsen & Chuang). Кодова простір з , наприклад , в п -qubit коди корекції помилок квантових є векторне підпростір C ⊆ H ⊗ п 2 .CnC⊆H⊗n2
Кодове слово (термінологія , яка була запозичена з класичної теорії корекції помилок) є станом для деякого кодового простору: тобто, це стан , яке кодує деякі дані.|ψ⟩∈C
Квантові коди виправлення помилок
На практиці ми вимагаємо деяких нетривіальних властивостей, щоб містити квантовий код виправлення помилок, таких як:
- dimC⩾2
- Що є набір щонайменше двох операторів, включаючи оператор , таким чином, що - якщо - ортогональний проектор на - у нас є
для деяких скалярів (відомих як умови Кнілла-Лафлама ).E={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Це визначає деякий набір операторів помилок, проти яких можна в принципі захистити стан , якщо умови Knill – Laflamme містять набір операторів та деякий оператор діє на ваш стан, в принципі можна виявити факт виникнення (на відміну від якогось іншого оператора в ) та скасувати помилку, не порушуючи даних, що зберігаються у вихідному стані .|ψ⟩∈CEE∈EEE|ψ⟩
Код корекції Квантового помилка є код простору , разом з набором операторів помилок , які задовольняють умови Knill-Лафламм - тобто, квантовий код виправлення помилок , необхідно вказати , які помилки вона призначена для захисту від .CE
Чому прийнято ототожнювати квантові помилки, що виправляють коди, з кодовими просторами
Ви не можете визначити унікальний набір операторів, які відповідають умовам Knill-Лафламм з кодового простору в поодинці. Однак найчастіше враховувати, які оператори з низькою вагою (ті, які діють лише на невелику кількість кубітів) можуть бути одночасно виправлені кодом, і в якій мірі це може бути отримано лише з кодового простору. Кодова відстань кодового простору є найменшим числом кубітів , що ви повинні діяти далі, щоб перетворити один «кодове слово» на відміну кодове слово . Якщо ми тоді опишемо простір коду як аECC|ψ⟩∈C|ψ′⟩∈C[[n,k,d]]Код , це означає, що має розмірність , і що множина яку ми вважаємо, це безліч всіх операторів Паулі з вагою не більше .C⊆H⊗n22kE⌊(d−1)/2⌋
У деяких випадках опису коду як коду Досить. Наприклад, 5-кубітний код є кодом , І можна показати, що п'ять кубітів не можуть кодувати один кубіт таким чином, що будь-які інші помилки можна виправити на додаток до всіх одноквартирних помилок. Однак те ж саме не стосується коду Steane , Який може захистити від будь-якої одноквартирної помилки Паулі, а також деяких (але не всіх) двохубітних помилок Паулі. Які двокубітні помилки Паулі ви мали б[[n,k,d]][[5,1,3]][[7,1,3]]захист від залежить від вашої моделі помилок; і якщо ваш шум симетричний і незалежно розподілений, це буде не дуже важливим, що ви виберете (так що ви, ймовірно, зробите звичайний вибір будь-якої однієї помилки разом з будь-якою однією помилкою ). Однак це вибір , який визначатиме, як ви захищаєте свої дані від шуму.XZ
Коди стабілізатора
Код стабілізатор є код з виправленням квантової помилки визначається набором з стабілізатора генераторів , які є оператори Паулі , які комутують один з одним, і які визначають код-простір на перетині їх + 1-підпросторів. (Часто корисно розглянути групу стабілізатора утворену продуктами )SC GP∈S
Майже всі коди виправлення квантових помилок, які люди вважають на практиці, є кодами стабілізатора. Це одна з причин, чому у вас можуть виникнути проблеми з розмежуванням двох термінів. Однак ми не вимагаємо, щоб квантовий код виправлення помилок був кодом стабілізатора - так само, як і в принципі, нам не потрібно, щоб класичний код виправлення помилок був лінійним кодом. Стабілізаторні коди просто надзвичайно вдалий спосіб опису квантових виправлень помилок, так само як лінійні коди виправлення помилок є надзвичайно вдалим способом опису класичних кодів виправлення помилок. Дійсно, стабілізаторні коди можна розглядати як природне узагальнення теорії класичних лінійних кодів до квантової корекції помилок.
Оскільки люди часто цікавляться лише операторами з низькою вагою, які мають менше половини кодової відстані, набір стабілізаторів часто всі кажуть про код корекції стабілізатора. Однак, щоб вказати набір помилок проти яких може захищати код, необхідно також вказати співвідношення між операторами продукту Pauli та підмножинами таким чином, щоEσES⊆S
- E антикомунізує з тоді і тільки тоді, коли для ;P∈SP∈Sσ(E,S)
- Якщо обидва задовольняють і , то .E,E′σ(E,S)σ(E′,S)EE′∈G=⟨S⟩
Це визначає набір помилок, від яких код може захистити. Підмножини називаються синдромами помилок , а відношення, яке я тут назвав (якого ви зазвичай не бачите явного імені), пов'язує синдроми з однією або кількома помилками, які "викликають" цей синдром , чий вплив на код еквівалентний.
E={E∣∣∃S⊆S:σ(E,S)}
S⊆Sσ
"Синдроми" представляють інформацію, яку насправді можна отримати про помилку за допомогою "когерентного вимірювання" - тобто шляхом вимірювання операторів як спостережуваних (процес, який, як правило, моделюється оцінкою власного значення). Помилка 'викликає' синдром якщо для будь-якого кодового слова стан знаходиться у власному просторі всіх оператори , а в -подпространство всіх інших операторів в . (Ця властивість безпосередньо пов'язана з антикомутацією з усіма елементамиP∈SES⊆S|ψ⟩∈CE|ψ⟩−1P∈S+1SES⊆S , і лише ті елементи.)