М. Нильсен, И. Чанг - Квантовые вычисления и квантовая информация (1156771), страница 136
Текст из файла (страница 136)
Упражнение 10.40. Покажите, что стабилизатор для трехкубитового кода, исправляющего фезовые ошибки, задается образующими Х1 Хз и ХзХз. Деедтппкубитпоеый код Шоре Стабилизатор девятикубитового кода Шора имеет восемь образующих, показанных на рис. 10.11. Легко проверить условие теоремы 10.8 для множества ошибок, содержащего 1 и все однокубитовые ошибки. Рассмотрим, например, однокубитовые ошибки Хт и У4. Произведение ХтУ4 антикоммутирует с ЯтЯз и, следовательно, не входит в Ат(Я). Аналогично все остальные произведении двух ошибок из этого множества либо входят в Я, либо антикоммутируют, по крайней мере, с одним элементом Я и, значит, не входят в Ф(Я).
Следовательно, код Шора может исправлять произвольную однокубитовую ошибку. 'Упражнение 10.47. Проверьте, что образующие на рис. 10.11 задают два кодовых слова из формулы (10.13). 574 Глава 10. Исправление квантовых ошибок 'Упражнение 10.48. Покажите, что операторы Я = Х1ХгХзХаХзХеХтХзХэ и Х = Я~ЯзЯзЯ4ЯзЯвЯгЯзЯо являются логическими операторами Я и Х для кубита, закодированного кодом Шора, т. е. что оператор Я независим и коммутирует с образующими кода Шора, а оператор Х независим и коммутирует с образующими кода Шора и аитикоммутирует с Я. Рис. 10.11. Восемь образующих для девятикубитового кода Шора и логические операторы и и Х. (В последних двух строчках, как зто ни странно, ошибки нет') Плтигсубитоевгй код дьяков минимальный размер квантового кода, способного закодировать один кубит так, чтобы можно было исправить произвольную ошибку в любом кубите закодированного состояния? Ответ на этот вопрос: пять кубитов (см.
подразд. 12.4.3). Стабилизатор пятикубитового кода задается образующими, показанными на рис. 10.12. Так как пятикубитовый код является минимальным возможным кодом, способным защитить закодированное состояние от произвольной ошибки в одном кубите, может показаться, что это наиболее полезный код. Однако, во многих случаях удобнее использовать семикубитовый код Стина. Рис. 10.12. Четыре образующих для пятикубитового кода и логические операторы Х и В Обратите внимание, что последние три образующие могут быть получены из переса сдвигом вправо. 10.5. Симплектические коды 575 Упражнение 10.49. Используя теорему 10.8, проверьте, что пятикубитовый код защищает закодированное состояние от произвольной ошибки в одном кубите.
Кодовые слова для пятикубитового кода: [О,) = — РООООО) + [10010) + [01001) + [10100) 1[ 4~ + [01010) — [11011) — [00110) — [11000) — [Ш01) — [ОООП) — [11ПО) — [01111) — [10001) — [01100) — [10111) + [00101) (10.104) [1ь) = - ~[ПШ) + [ОПО1) + [1ОПО) + [01ОП) 1( 4~ + [10101) — [00100) — [11001) — [00111) — [00010) — [11100) — [00001) — [10000) — [01110) — [10011) — [01000) + [11010) (10.105) Упражнение 10.50.
Покажите, что пятикубвтовый код превращает кванто- вую границу Хзмминга [неравенство (10.51)[ в равенство. СЯЯ коды и семикубитоеый код Н(Сл) О (10.106) Чтобы показать, что эта матрица определяет симплектический код, нужно проверить, что она удовлетворяет условию коммутативности Н(Сел)Н(С~) = О. Так как Сз С См мы имеем Н(Сзд)Н(С~) = [Н(С~)С(Сз)) = О. Легко доказать, что этот код совпадает с СЯЯ(См Сз) и может исправлять ошибки в 1 кубитах. Семикубитовый код Стина является примером СЯЯ кода. Мы уже встречались с его проверочной матрицей (см. формулу (10.83)).
Закодированные операторы Я и Х для кода Стина определяются как г = Я,г,гзг,г,г,г„, Х =- Х,Х,Х,Х.Х,Х,Х,. (10.107) СЯЯ коды являются отличным примером симплектических кодов, демонстрирующим, насколько формализм стабилизаторов упрощает построение квантовых кодов. Пусть С~ и Сз — классические линейные [и, й~[- и [и, аз[-коды такие, что Сз С См а коды С~ и Сел могУт испРавлЯть $ ошибок.
ОпРеделим пРоверочную матрицу следующим образом: 576 Глава 10. Исправление квантовых ошибок 10.5.7 Стандартная форма симплектического кода Вид логических операторов Я и Х для симплектического кода станет суще- ственно проще, если привести код к стандартной форме. Чтобы понять, что такое стандартная форма, рассмотрим проверочную матрицу для симплекти- ческого [в, вв]-кода С: (10.108) С = [С1[С2].
Матрица имеет и — й строк. Перестановка строк матрицы соответствует пере- обозначению образующих, перестановка соответствующих столбцов в левой и правой частях — переобозначению кубитов, сложение строк — умножению образующих. Легко видеть, что можно заменить образующую д; на д;дз, если 1 ~ у. Следовательно, существует эквивалентный код с проверочной матрицей, полученной из С приведением матрицы С~ к стандартному гауссову виду, возможно с перестановкой кубитов: (10.109) где т — ранг матрицы Сд.
Затем, переставляя кубиты, приведем матрицу Е к стандартному гауссову виду: г и-Ь-г-в в+в г и-Ь-г-в й+в В С С Рв Х Ез Рг 0 О т( и — Й вЂ” г — э( ( 1 А1 Аэ 0 0 0 0 0 О (10.110) Последние з образующих могут коммутировать с первыми г образующими, если только Рэ = О. Поэтому можно положить э = О. Если также сделать Св = О, взяв подходящие линейные комбинации столбцов,то проверочная матрица при этом примет вид г и-Й-~ /с « и-й-г Ь ([хв,в]в«с 'Упражнение 10.51. Докажите, что проверочная матрица, заданная выра жением (10.106), соответствует стабилизатору кода СИЯ(Сы Сэ) и, используя теорему 10.8, покажите, что этот код может исправлять произвольные ошибки в Ф кубитах.
Упражнение 10.52. Прямым вычислением закодированных состояний про- верьте, что операторы (10.107) являются логическими операторами Х и Я. 10.5. Симплектические коды 577 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 О 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 (10.112) Матрица Аз = (1,1,0),и, следовательно, закодированный оператор Я имеет проверочную матрипу [0000000[110000Ц, т. е.
Я = Я~ЯзБр. Вспомнив, что кубиты 1 и 4, 3 и 4, 6 и 7 были переставлены, для исходного кода получим Е = ЯэЯ~Яе. Может показаться странным, что этот оператор не соответствует формуле (10.107), где Я = Я~ЯзЯзЕ~Я~ЯеЯ~. Однако, дело в том, что эти 37 кваю ые м ее где мы переобозначили Ез на Е и Р~ на Р. Легко видеть, что такая процедура не единственна, однако мы говорим, что код с проверочной матрицей (10.111) находится в стандартной форме. Если код находится в стандартной форме, для него легко определить закодированные операторы Я. Для этого нужно найти Й операторов, независимых друг от друга и от образующих стабилизатора, а также коммутирующих друг с другом и с образующими стабилизатора.
Запишем проверочную матрицу для этих й закодированных операторов Я в виде С„= [Г~ГэРз[Е4ЕэЕе], где все матрицы Ем..., Ее имеют к строк и г, п — й — г, к, г, п — Ы вЂ” г и к столбцов соответственно. Выберем эти матрицы так, что С, = [000[А~з01]. Коммутативность таких закодированных операторов Я с элементами стабилизатора следует из уравнения 1 х (А~ ~)г + Аз = О. Эти операторы также коммутативны друг с другом, поскольку состоят только из произведеняй операторов Я.
Независимость закодированных операторов Е от первых г образующих следует из того, что в их определении нет членов Х, а независимость от следующих и — Й вЂ” г образующих обусловлена наличием (и — *к — г) х (и — Й вЂ” г) единичной матрицы в проверочной матрице для образующих и отсутствием соответствующих членов в проверочной матрице для закодированных операторов Я. Похожим образом мы можем построить закодированные операторы Х с й х 2п проверочной матрицей [ОЕтТ[Сг00]. Упражнение 10.53. Докажите, что закодированные операторы Я независимы друг от друга. 'Упражнение 10.54. Докажите, что закодированные операторы Х, заданные введенной выше проверочной матрицей, независимы друг от друга и от образующих, коммутнруют друг с другом и с образующими, а также Х. коммутирует с Яь для всех 1 ф Й и антикоммутирует с Я .
В качестве примера приведем к стандартной форме проверочную матрицу кода Стина (10.83). Для этого кода и = 7, к = 1. Изучение проверочной матрицы показывает, что для ее левой части и ранг т = 3. Матрица может быть приведена к стандартной форме перестановкой кубитов 1 и 4, 3 и 4, 6 и 7 и прибавлением строки 6 к строке 4, строки 6 к строке 5, строк 4 и 5 к строке 6. Полученная матрица имеет стандартную форму 578 Глава 10.
Исправление квантовых ошибок два оператора отличаются множителем Я1 ЯзЯ»8т, который является элементом стабилизатора кода Стива. Следовательно, оба эти оператора одинаково действуют на закодированные состояния. Упражнение 10.55. Найдите оператор Х для стандартной формы кода Стина. Упражнение 10. 56. Покажите, что умножение закодированного оператора Х или Я на некоторый элемент стабилизатора д слева не меняет его действие на код.
Упражнение 10.57. Запишите проверочные матрицы для пятикубитового и девятикубитового кодов в стандартной форме. 10.5.8 Квантовые схемы для кодирования, декодирования и исправления ошибок Структура симплектических кодов позволяет систематически строить схемы кодирования, декодирования и исправления ошибок. Мы сначала опишем общий метод, а затем построим в качестве примеров несколько конкретных цепей. Начнем с общего случая симплектического [п,й)-кода с образующими дм..., д„» и логическими операторами Ям..., Я».
Приготовление закодированного состояния ~0) е», обычного начального состояния для квантовых вычислений, является простой процедурой. Мы начинаем с легко приготавливаемого состояния (0)е» и последовательно измеряем наблюдаемые дп..., д„», Яп..., Я». Полученное состояние имеет стабилизатор (хдп..., хд~-», ~Ям..., ~Яа), где различные знаки зависят от результа тов измерений и, следовательно, известны. Эти знаки могут бьггь изменены на +, путем применения соответствующих произведений операторов Паули, как описано в доказательстве утверждения 10.4. В результате получим состояние со стабилизатором (ды...,д„», Ап..., Я~), т.
е. закодированное состояние ~0)е». Это состояние можно превратить в произвольное состояние вычислительного базиса ~хп...,х»), применив к нему соответствующие операторы из набора Хп..., Х». Недостаток такого кодирования в том, что оно не унитарно. Для унитарного кодирования может быть использован другой подход, основанный на стандартной форме проверочной матрицы. Этот подход описан в задаче 10.3.