Дискретизація помилок
Дотепер ми розглядали помилки та у контексті 9-кубітного коду Шора, а в цьому розділі розглянемо довільні помилки. З'ясується, що для обробки таких помилок не потрібно робити нічого відмінного від уже описаного; здатність виправляти помилки або обидві одночасно автоматично означає здатність виправляти довільні помилки. Це явище іноді називають дискретизацією помилок.
Унітарні помилки на кубітах
Почнемо з поодиноких унітарних помилок на кубіті. Наприклад, така помилка може відповідати дуже малому повороту сфери Блоха, що може представляти похибку вентиля, який є недосконалим. Або це може бути будь-яка інша унітарна операція на кубіті — не обов'язково близька до тотожної.
Здавалося б, виправлення таких помилок є складним завданням. Адже є нескінченно багато можливих помилок такого виду, і навіть уявити неможливо, що можна точно визначити кожну помилку і потім її скасувати. Однак, якщо ми здатні виправити помилку перевертання біта, перевертання фази або обидві одразу, то нам вдасться виправити довільну поодиноку унітарну помилку на кубіті за допомогою процедур, описаних раніше в уроці.
Щоб зрозуміти чому, спочатку зауважимо, що довільну унітарну матрицю , яка представляє помилку на окремому кубіті, можна виразити як лінійну комбінацію чотирьох матриць Паулі (включаючи матрицю тотожності).
Як ми побачимо, під час виконання схем виявлення помилок виміри, що дають нам синдромні біти, ефективно стохастично проектують стан кодування на стан, у якому відбулася помилка (або її відсутність), описана однією з чотирьох матриць Паулі. (З того, що є унітарною, випливає, що числа та мають задовольняти умову і справді, значення та є ймовірностями, з якими закодований стан колапсує до стану з відповідною помилкою Паулі.)
Для більш детального пояснення зручно використовувати нижні індекси, щоб вказувати, на який кубіт діє та чи інша унітарна операція. Наприклад, використовуючи нумерацію кубітів Qiskit для 9 кубітів коду Шора, маємо такі вирази для різних унітарних операцій на поодиноких кубітах, де в кожному випадку унітарна матриця тензорно перемножена з матрицею тотожності на всіх інших кубітах.
Отже, для заданої унітарної операції на кубіті дію , застосованої до кубіта , можна задати такою формулою, яка є аналогічною до попередньої, з тією різницею, що кожна матриця представляє операцію на кубіті
Тепер нехай — 9-кубітне кодування деякого стану кубіта. Якщо помилка відбулася на кубіті отримуємо стан який можна виразити як лінійну комбінацію операцій Паулі, що діють на
На цьому етапі зробимо заміну
Тепер розглянемо кроки виявлення та виправлення помилок, описані раніше. Можна думати про результати вимірювань трьох перевірок парності внутрішнього коду разом із перевіркою зовнішнього коду як про єдиний синдром із 8 бітів. Безпосередньо перед фактичними вимірюваннями у стандартному базисі, що породжують ці синдромні біти, стан має такий вигляд:
Уточнимо: на цьому етапі маємо дві системи. Система зліва — це 8 кубітів, які ми виміряємо для отримання синдрому, де тощо позначають той 8-кубітний стан стандартного базису, який відповідає відповідній помилці (або її відсутності). Система справа — це 9 кубітів, які використовуються для кодування.
Зауважимо, що ці дві системи тепер (загалом) є скорельованими, і це є ключем до того, чому це спрацьовує. Вимірюючи синдром, стан 9 кубітів справа фактично колапсує до стану, в якому до одного з кубітів було застосовано помилку Паулі, узгоджену з виміряним синдромом. Більш того, сам синдром надає достатньо інформації для того, щоб скасувати помилку і відновити вихідне кодування
Зокрема, якщо синдромні кубіти виміряно і виконано відповідні виправлення, отримуємо стан, який можна виразити у вигляді матриці густини:
де
Найважливіше тут: це є добутковим станом. Вихідне, неушкоджене кодування є правим тензорним множником, а зліва маємо матрицю густини що описує випадковий синдром помилки. Більше немає жодної кореляції з системою справа, тобто тією, яка нам важлива, оскільки помилки було виправлено. На цьому етапі синдромні кубіти можна відкинути або скинути, щоб використовувати їх знову. Так випадковість — або ентропія, — породжена помилками, виводиться із системи.
Це і є дискретизація помилок для окремого випадку унітарних помилок. По суті, вимірюючи синдром, ми фактично проектуємо помилку на помилку, описану матрицею Паулі.
На перший погляд може здатися занадто гарним те, що ми можемо виправляти довільні унітарні помилки в такий спосіб, навіть помилки, які є мікроскопічними і самі по собі майже непомітними. Але важливо усвідомлювати: це унітарна помилка на одному кубіті, і через конструкцію коду поодинока операція на кубіті не може змінити стан логічного кубіта, який був закодований. Все, що вона може зробити, — це перевести стан за межі підпростору дійсних кодувань, але тоді виявлення помилок колапсує стан, а виправлення повертають його до початкового.
Довільні помилки на кубітах
Нарешті, розглянемо довільні помилки, які не обов'язково є унітарними. Точніше, розглянемо помилку, описану довільним каналом кубіта Наприклад, це може бути канал дефазування або деполяризації, канал скидання або якийсь незвичний канал, про який ми ще не думали.
Першим кроком є розгляд довільного представлення Крауса для
Це канал кубіта, тому кожне є матрицею яку можна виразити як лінійну комбінацію матриць Паулі.
Це дозволяє виразити дію помилки на вибраний кубіт через матриці Паулі таким чином.
Коротко кажучи, ми просто розклали всі матриці Крауса у вигляді лінійних комбінацій матриць Паулі.
Якщо тепер обчислити та виміряти синдром помилки і виправити виявлені помилки, ми отримаємо стан, подібний до того, який мали у випадку унітарної помилки:
де цього разу
Деталі тут дещо складніші та не наводяться повністю. Концептуально ідея є тією самою, що й у унітарному випадку.
Узагальнення
Дискретизація помилок узагальнюється на інші коди квантового виправлення помилок, включаючи ті, що можуть виявляти та виправляти помилки на кількох кубітах. У таких випадках помилки на кількох кубітах можна виразити як тензорні добутки матриць Паулі, і відповідно різні синдроми задають виправлення у вигляді операцій Паулі, які можуть виконуватися на кількох кубітах, а не лише на одному.
Знову ж таки, вимірюючи синдром, помилки фактично проектуються або колапсують на дискретну множину можливостей, представлену тензорними добутками матриць Паулі, і, виправляючи ці помилки Паулі, ми можемо відновити вихідний закодований стан. При цьому будь-яка випадковість, що виникає в процесі, переноситься до синдромних кубітів, які відкидаються або скидаються, тим самим виводячи породжену в цьому процесі випадковість із системи, що зберігає кодування.