Кодовые пространства и кодовые слова
Квантовый код с исправлением ошибок часто отождествляется с кодовым пространством (Nielsen & Chuang определенно, похоже, так и делают). Кодовое пространство из , например , в п -qubit коды коррекции ошибок квантовых есть векторное подпространство C ⊆ H ⊗ п 2 .CnC⊆H⊗n2
Кодовое слово (терминология , которая была заимствована из классической теории коррекции ошибок) является состоянием для некоторого кодового пространства: то есть, это состояние , которое кодирует некоторые данные.|ψ⟩∈C
Квантовые коды с исправлением ошибок
На практике мы требуем некоторых нетривиальных свойств для хранения кода квантовой коррекции ошибок, таких как:
- dimC⩾2
- Что существует множество по крайней мере двух операторов, включая оператор , такое, что - если является ортогональным проектором на - мы имеем
для некоторых скаляров (известных как условия Книла-Лафламма ).E 1 = 1 P C P E j E k P = α j , k P α j , kE={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Это определяет некоторый набор операторов ошибок, от которых вы в принципе можете защитить состояние , в том случае, если выполняются условия Книла-Лафламма для набора операторов и некоторого оператора влияет на ваше состояние, в принципе возможно обнаружить факт возникновения (в отличие от какого-либо другого оператора в ) и отменить ошибку, не нарушая данные, сохраненные в исходном состоянии .E E ∈ E E E | г | ⟩|ψ⟩∈CEE∈EEE|ψ⟩
Код коррекции Квантового ошибка является код пространства , вместе с набором операторов ошибок , которые удовлетворяют условия Knill-Лафламм - то есть, квантовый код исправления ошибок , необходимо указать , какие ошибки она предназначена для защиты от ,ECE
Почему часто идентифицируют квантовые коды с исправлением ошибок по их кодовым пространствам
Вы не можете определить уникальный набор операторов, удовлетворяющих условиям Knill-Лафламм из кодового пространства в одиночку. Однако чаще всего считают, какие операторы с малым весом (те, которые действуют только на небольшое количество кубитов) могут быть одновременно исправлены с помощью кода, и в некоторой степени это может быть получено только из кодового пространства. Кодовое расстояние кодового пространства является наименьшим числом кубитов , что вы должны действовать дальше, чтобы преобразовать один «кодовое слово» в отличие кодовое слово . Если мы тогда опишем кодовое пространство какC C | г | ⟩ ∈ C | ψ ' ⟩ ∈ C [ECC|ψ⟩∈C|ψ′⟩∈CC ⊆ H ⊗ n 2 2 k E ⌊ ( d - 1 ) / 2 ⌋[[n,k,d]] код, это то говорит , что имеет размерность , и что множество , что мы считаем , является множество всех операторов Паули с весом не более .C⊆H⊗n22kE⌊(d−1)/2⌋
В некоторых случаях достаточно описать код как Код. Например, 5-кубитный код является кодом , И можно показать, что пять кубитов не могут кодировать один кубит таким образом, что любые другие ошибки могут быть исправлены в дополнение ко всем ошибкам одного кубита. Однако это не относится к коду Steane , может защитить от любой ошибки Паули в одном кубе, а также от некоторых (но не всех) ошибок Паули в . Какие два-кубитные ошибки Паули вы должны[[[n,k,d]][[[5,1,3]]X Z[[7,1,3]]защита от зависит от вашей модели ошибок; и если ваш шум симметричен и независимо распределен, то, что вы выберете, не будет иметь большого значения (так что вы, вероятно, сделаете обычный выбор любой отдельной ошибки вместе с любой отдельной ошибкой ). Это, однако, выбор , который поможет вам защитить ваши данные от шума.XZ
Коды стабилизатора
Код стабилизатор представляет собой код с исправлением квантовой ошибки определяется набором из стабилизатора генераторов , которые являются операторы Паули , которые коммутируют друг с другом, и которые определяют код-пространство на пересечении их + 1-подпространств. (Часто полезно рассмотреть группу стабилизаторов образованную продуктами )C G P ∈ SSC GP∈S
Почти все коды квантовой коррекции ошибок, которые люди рассматривают на практике, являются кодами стабилизатора. Это одна из причин, почему у вас могут возникнуть проблемы при различении этих двух терминов. Однако мы не требуем, чтобы код квантовой коррекции ошибок был кодом стабилизатора - так же, как в принципе, мы не требуем, чтобы классический код коррекции ошибок был линейным кодом. Стабилизирующие коды просто оказались чрезвычайно успешным способом описания квантовых кодов с исправлением ошибок, так же как линейные коды с исправлением ошибок являются чрезвычайно успешным способом описания классических кодов с исправлением ошибок. И действительно, коды стабилизатора можно рассматривать как естественное обобщение теории классических линейных кодов на квантовую коррекцию ошибок.
Поскольку людей часто интересуют только операторы с небольшим весом, которые составляют менее половины кодового расстояния, набор стабилизаторов часто все говорят о коде коррекции стабилизатора. Однако, чтобы указать набор ошибок от которых может защищать код, необходимо также указать отношение между операторами продукта Паули и подмножествами , так что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 , и только эти элементы.)
Кодовое слово (для квантового кода) - это квантовое состояние, которое обычно связано с состоянием в логической основе. Таким образом, у вас будет некоторое состояние которое соответствует состоянию 0 кубита, который нужно закодировать (вам не нужно использовать кубиты, но, вероятно, так оно и есть), и у вас будет другое, которое который соответствует состоянию 1 кубита, который должен быть закодирован.|ψ0⟩ |ψ1⟩
Кодовое пространство - это пространство, охватываемое кодовыми словами, т.е. все пространство для всех возможных и (нормализовано).α|ψ0⟩+β|ψ1⟩ α β
Стабилизирующий код - это один из возможных формализмов, объясняющий, как работать с кодовыми словами и, следовательно, с пространством кода. Для кода [[n, k, d]] вам дается nk стабилизирующих операторов ( ), которые взаимно коммутируют и действуют на n кубитов. Любое состояние в пространстве кода удовлетворяет условию . Кроме того, у вас будут операторы и для которые все коммутируют со стабилизаторами но попарно антикоммутируют, , для соответствующих индексов. Они определяют логические операторы Паули для кода, и поэтому кодовые слова являются состояниями, которые удовлетворяютS 2 = I | г | ⟩S S2=I |ψ⟩ Z м Х м м = 1 , ... K S { Z м , Х т } = 0 Z м | г | ⟩ = & plusmn ; | г | ⟩S|ψ⟩=|ψ⟩ Zm Xm m=1,…k S {Zm,Xm}=0 Zm|ψ⟩=±|ψ⟩ .
источник
В коде с исправлением квантовых ошибок вы храните несколько логических кубитов, , в состоянии многих физических кубитов, .нk n
Кодовое слово - это состояние физических кубитов, которое связано с конкретным логическим состоянием. Так, например, однако, вы сохраняете состояние для одного из ваших логических кубитов - это кодовое слово.|0⟩
Кодовое пространство - это гильбертово пространство, охватываемое всеми возможными кодовыми словами. Для кода стабилизатора этот термин является синонимом пространства стабилизатора. Любое состояние в этом кодовом пространстве является кодовым словом
Код стабилизатора - это код с квантовой коррекцией ошибок, описываемый формализмом стабилизатора. Пространство стабилизатора определяется как взаимное собственное пространство взаимно коммутирующих и независимых тензорных произведений операторов Паули.н - к+1 n−k
источник