CSS Codes
Mga klasikal na linear na codeβ
Unang pinag-aralan ang mga klasikal na error correcting code noong 1940s, at marami na ngayon ang kilala, kung saan ang pinaka-karaniwan at ginagamit na mga code ay nasa kategoryang tinatawag na linear codes. Makikita natin kung ano ang ibig sabihin ng salitang "linear" sa kontekstong ito sa ilang sandali, ngunit isang napaka-simpleng paraan para mailarawan ang mga linear code sa ngayon ay na sila ay mga stabilizer code na klasikal ang katangian. Ang mga CSS code ay mahahalagang pares ng mga klasikal na linear na code na pinagsama upang lumikha ng isang quantum error correcting code. Kaya, para sa talakayan na susunod, kailangan nating maunawaan ang ilang pangunahing bagay tungkol sa mga klasikal na linear na code.
Hayaan ang na maging binary alphabet para sa buong talakayan na ito. Kapag sinasabi natin ang klasikal na linear na code, tinutukoy natin ang isang hindi-walang-laman na set ng mga binary string na may haba para sa ilang positibong integer na dapat matupad ang isang pangunahing katangian: kung ang at ay mga binary string sa ang string na ay nasa rin. Dito, ang ay tumutukoy sa bitwise exclusive-OR ng at na natagpuan natin nang maraming beses sa kursong "Fundamentals of quantum algorithms".
Sa esensya, kapag tinutukoy natin ang isang klasikal na error correcting code bilang linear, iniisip natin ang mga binary string na may haba bilang mga -dimensional na vector, kung saan ang mga entry ay o lamang, at hinihiling na ang code mismo ay bumubuo ng isang linear subspace. Sa halip na ordinaryong vector addition sa mga tunay o kumplikadong numero, gayunpaman, gumagamit tayo ng addition modulo na simpleng exclusive-OR. Ibig sabihin, kung mayroon tayong dalawang codeword at na ibig sabihin ang at ay mga binary string sa ang modulo 2, na ibig sabihin ay ay dapat ding maging codeword sa Pansinin, lalo na, na ang implikasyong ito ay dapat totoo kahit na Ipinahihiwatig nito na ang ay dapat maglaman ng all-zero string na dahil ang bitwise exclusive-OR ng anumang string sa sarili nito ay ang all-zero string.
Halimbawa: ang 3-bit repetition codeβ
Ang 3-bit repetition code ay isang halimbawa ng klasikal na linear na code. Sa partikular, mayroon tayong kaya, kaugnay ng kondisyon ng linearidad, may dalawang posibleng pagpipilian para sa at dalawang posibleng pagpipilian para sa Madaling suriin ang apat na posibleng pares upang makita na palagi tayong nakakakuha ng codeword kapag kinuha natin ang bitwise exclusive-OR:
Halimbawa: ang -Hamming codeβ
Narito ang isa pang halimbawa ng klasikal na linear na code na tinatawag na -Hamming code. Ito ay isa sa mga pinakaunang klasikal na error correcting code na natuklasan, at binubuo ito ng 16 na binary string na may haba 7. (Minsan ang -Hamming code ay nauunawaan bilang ang code na may mga string na binaliktad, ngunit isasaalang-alang natin ito bilang ang code na naglalaman ng mga string na ipinapakita dito.)
Mayroong napaka-simpleng lohika sa likod ng pagpili ng mga string na ito, ngunit ito ay pangalawa sa aralin at hindi ipapaliwanag dito. Sa ngayon, sapat na na obserbahan na ito ay isang klasikal na linear na code: ang pag-XOR ng anumang dalawang string dito ay palaging magreresulta sa isa pang string sa code.
Ang notasyon na (sa iisang square bracket) ay nangangahulugang katulad sa double square bracket notation para sa mga stabilizer code na binanggit sa nakaraang aralin, ngunit dito ito ay para sa mga klasikal na linear na code. Sa partikular, ang mga codeword ay may bits, maaari tayong mag-encode ng bits gamit ang code (dahil mayroong na codeword), at nagkataon itong maging distance code, na nangangahulugang ang anumang dalawang natatanging codeword ay dapat mag-iba sa hindi bababa sa posisyon β kaya hindi bababa sa bits ang dapat i-flip upang mabago ang isang codeword sa isa pa. Ang katotohanan na ito ay distance code na nagpapahiwatig na maaari itong mag-correct ng hanggang isang bit-flip error.
Paglalarawan ng mga klasikal na linear na codeβ
Ang mga halimbawa na binanggit ay napaka-simpleng halimbawa ng mga klasikal na linear na code, ngunit kahit ang -Hamming code ay mukhang medyo misteryoso kapag simpleng inilista ang mga codeword. Mayroong mas mahusay, mas episyenteng mga paraan upang ilarawan ang mga klasikal na linear na code, kabilang ang sumusunod na dalawang paraan.
-
Mga generator. Isang paraan upang ilarawan ang isang klasikal na linear na code ay sa pamamagitan ng isang minimal na listahan ng mga codeword na nagge-generate ng code, ibig sabihin sa pamamagitan ng pagkuha ng lahat ng posibleng subset ng mga codeword na ito at pag-XOR sa kanila, makukuha natin ang buong code.
Sa mas detalyadong pagpapaliwanag, ang mga string na ay nagge-generate ng klasikal na linear na code kung
sa pag-unawa na ang kapag at kapag at sinasabi natin na ang listahang ito ay minimal kung ang pag-aalis ng isa sa mga string ay nagge-generate ng mas maliit na code. Isang natural na paraan upang isipin ang ganitong paglalarawan ay na ang koleksyon ay bumubuo ng isang basis para sa bilang isang subspace, kung saan iniisip natin ang mga string bilang mga vector na may binary-valued entries, isinasaalang-alang na nagtatrabaho tayo sa isang vector space kung saan ang aritmetika ay ginagawa modulo
-
Mga parity check. Isa pang natural na paraan upang ilarawan ang isang klasikal na linear na code ay sa pamamagitan ng mga parity check β ibig sabihin ang isang minimal na listahan ng mga binary string kung saan ang mga string sa code ay tiyak na ang mga may binary dot product na zero sa bawat isa sa mga parity check string na ito. (Katulad ng bitwise exclusive-OR, ang binary dot product ay lumabas nang maraming beses sa "Fundamentals of quantum algorithms".)
Ibig sabihin, ang mga string na ay mga parity check string para sa klasikal na linear na code kung
at ang set ng mga string na ito ay minimal kung ang pag-aalis ng isa ay nagresulta sa mas malaking code. Tinatawag itong mga parity check string dahil ang ay may binary dot product na katumbas ng zero sa kung at kung ang mga bit ng sa mga posisyon kung saan ang ay may 1s ay may pantay na parity. Kaya, upang matukoy kung ang isang string ay nasa code sapat na suriin ang parity ng ilang subset ng mga bit ng
Isang mahalagang bagay na dapat pansinin dito ay na ang binary dot product ay hindi isang inner product sa pormal na kahulugan. Sa partikular, kapag ang dalawang string ay may binary dot product na katumbas ng zero, hindi ito nangangahulugang sila ay orthogonal sa karaniwang paraan na iniisip natin ang orthogonality. Halimbawa, ang binary dot product ng string na sa sarili nito ay zero β kaya posible na ang isang parity check string para sa isang klasikal na linear na code ay nasa code mismo.
Ang mga klasikal na linear na code sa binary alphabet ay palaging naglalaman ng bilang ng mga string na kapangyarihan ng β at para sa isang solong klasikal na linear na code na inilarawan sa dalawang magkaibang paraan na binanggit, palaging totoo na ang Sa partikular, kung mayroon tayong minimal na set ng na generator, ang code ay nag-e-encode ng bits at mayroon tayong na codeword; at kung mayroon tayong minimal na set ng na parity check string, mayroon tayong na codeword. Kaya, bawat generator ay nagdodoble ng laki ng code space habang ang bawat parity check string ay naghahatid ng kalahati ng laki ng code space.
Halimbawa, ang 3-bit repetition code ay isang linear na code, kaya maaari itong ilarawan sa parehong paraan na ito. Sa partikular, isang pagpipilian lamang para sa isang generator ang gumagana: Maaari rin nating ilarawan ang code sa dalawang parity check string, tulad ng at β na dapat ay pamilyar mula sa aming mga nakaraang talakayan tungkol sa code na ito β o maaari rin nating gamitin ang mga parity check string na at o at (Ang mga generator at parity check string ay sa pangkalahatan ay hindi natatangi para sa isang naibigay na klasikal na linear na code.)
Para sa ikalawang halimbawa, isaalang-alang ang -Hamming code. Narito ang isang pagpipilian para sa listahan ng mga generator na gumagana.
At narito ang isang pagpipilian para sa listahan ng mga parity check para sa code na ito.
Dito, sa pamamagitan ng paraan, makikita natin na ang lahat ng ating mga parity check string ay nasa code mismo.
Isang panghuling puna tungkol sa mga klasikal na linear na code, na nagkokonekta sa kanila sa stabilizer formalism, ay na ang mga parity check string ay katumbas ng mga stabilizer generator na binubuo lamang ng at identity Pauli matrices. Halimbawa, ang mga parity check string na at para sa 3-bit repetition code ay tiyak na katumbas ng mga stabilizer generator na at na naaayon sa mga talakayan ng Pauli observables mula sa nakaraang aralin.
Kahulugan ng mga CSS codeβ
Ang mga CSS code ay mga stabilizer code na nakuha sa pamamagitan ng pagsasama ng ilang pares ng mga klasikal na linear na code. Hindi ito gumagana para sa dalawang arbitrary na klasikal na linear na code β ang dalawang code ay dapat magkaroon ng isang tiyak na relasyon. Gayunpaman, ang konstruksyon na ito ay nagbubukas ng maraming posibilidad para sa mga quantum error correcting code, batay sa mahigit 75 taon ng klasikal na coding theory.
Sa stabilizer formalism, ang mga stabilizer generator na naglalaman lamang ng at identity Pauli matrices ay katumbas ng mga parity check, tulad ng aming naobserbahan para sa 3-bit repetition code. Para sa isa pang halimbawa, isaalang-alang ang sumusunod na mga parity check string para sa -Hamming code.
Ang mga parity check string na ito ay katumbas ng sumusunod na mga stabilizer generator (isinulat nang walang mga simbolo ng tensor product), na nakuha natin sa pamamagitan ng pagpapalit ng bawat ng at bawat ng Ito ay tatlo sa anim na stabilizer generator para sa 7-qubit Steane code.
Bigyan natin ng pangalang stabilizer generator ang mga stabilizer generator na ganito, ibig sabihin mayroon lamang silang Pauli at identity tensor factor β kaya ang at Pauli matrices ay hindi kailanman lumalabas sa stabilizer generators.
Maaari rin nating isaalang-alang ang mga stabilizer generator kung saan ang at identity Pauli matrices lamang ang lumalabas bilang mga tensor factor. Ang mga stabilizer generator na ganito ay maaaring ituring bilang katulad ng -stabilizer generator, maliban na inilarawan nila ang mga parity check sa basis sa halip na sa standard basis. Ang mga stabilizer generator ng ganitong anyo ay tinatawag na stabilizer generator β kaya walang pinapayagang o Pauli matrices sa pagkakataong ito.
Halimbawa, isaalang-alang ang natitirang tatlong stabilizer generator mula sa 7-qubit Steane code.
Sumusunod sila sa eksaktong parehong pattern mula sa -Hamming code tulad ng -stabilizer generator, maliban sa pagkakataong ito ay pinapalitan natin ang para sa sa halip na Ang makukuha natin mula sa tatlong stabilizer generator na ito lamang ay isang code na naglalaman ng 16 na estado na ipinapakita dito, na nakuha natin sa pamamagitan ng pag-apply ng mga operasyon ng Hadamard sa mga standard basis state na katumbas ng mga string sa -Hamming code. (Syempre, ang code space para sa code na ito ay naglalaman din ng mga linear combination ng mga estado na ito.)
Maaari na nating tukuyin ang mga CSS code sa napaka-simpleng mga tuntunin.
Ibig sabihin, ang mga CSS code ay mga stabilizer code kung saan mayroon tayong mga stabilizer generator na walang lumalabas na Pauli matrices, at kung saan ang at ay hindi kailanman lumalabas sa parehong stabilizer generator.
Upang maging malinaw, sa kahulugang ito, ang isang CSS code ay isa kung saan posible na pumili ng at stabilizer generator lamang β ngunit dapat nating isaalang-alang na may kalayaan sa kung paano natin pinipili ang mga stabilizer generator para sa mga stabilizer code. Kaya, sa pangkalahatan ay magkakaroon ng iba't ibang pagpipilian para sa mga stabilizer generator ng isang CSS code na hindi naman magiging o stabilizer generator (bilang karagdagan sa hindi bababa sa isang pagpipilian kung saan sila ay).
Narito ang isang napaka-simpleng halimbawa ng CSS code na naglalaman ng parehong stabilizer generator at isang stabilizer generator:
Malinaw na ito ay isang CSS code, dahil ang unang stabilizer generator ay isang stabilizer generator at ang pangalawa ay isang stabilizer generator. Syempre, ang isang CSS code ay dapat ding maging isang wastong stabilizer code β ibig sabihin ang mga stabilizer generator ay dapat mag-commute, bumuo ng isang minimal generating set, at mag-fix ng hindi bababa sa isang quantum state vector. Ang mga kinakailangang ito ay madaling obserbahan para sa code na ito. Tulad ng aming nabanggit sa nakaraang aralin, ang code space para sa code na ito ay ang isang-dimensional na space na na-span ng Bell state. Ang katotohanan na ang parehong stabilizer generator ay nag-fix ng estado na ito ay maliwanag sa pamamagitan ng pagsasaalang-alang ng sumusunod na dalawang pahayag ng isang e-bit, kasama ang isang interpretasyon ng mga stabilizer generator na ito bilang mga parity check sa at bases.
Ang 7-qubit Steane code ay isa pang halimbawa ng CSS code.
Dito mayroon tayong tatlong stabilizer generator at tatlong stabilizer generator, at napatunayan na natin na ito ay isang wastong stabilizer code.
At ang 9-qubit Shor code ay isa pang halimbawa.
Sa pagkakataong ito mayroon tayong anim na stabilizer generator at dalawang stabilizer generator lamang. Ayos lang ito, hindi kailangang magkaroon ng balanse o simmetri sa pagitan ng dalawang uri ng generator (kahit na madalas ay mayroon).
Muli, kritikal na ang mga CSS code ay mga wastong stabilizer code, at sa partikular ang bawat stabilizer generator ay dapat mag-commute sa bawat stabilizer generator. Kaya, hindi bawat koleksyon ng at stabilizer generator ay nagtatakda ng isang wastong CSS code.
Pagtuklas at pagwawasto ng errorβ
Kaugnay ng pagtuklas at pagwawasto ng error, ang mga CSS code sa pangkalahatan ay may katulad na katangian sa 9-qubit Shor code, na ang at na error ay maaaring matukoy at maitama nang ganap na nakapag-iisa; ang stabilizer generator ay naglalarawan ng isang code na nagpoprotekta laban sa mga bit flip, at ang stabilizer generator ay naglalarawan ng isang code na nakapag-iisang nagpoprotekta laban sa mga phase flip. Gumagana ito dahil ang stabilizer generator ay kinakailangan mag-commute sa mga error, pati na rin ang mga operasyon na inilalapat bilang mga pagwawasto, kaya ganap silang bigo sa pareho, at ganoon din para sa stabilizer generator, mga error, at mga pagwawasto.
Bilang halimbawa, isaalang-alang natin ang 7-qubit Steane code.
Ang pangunahing ideya para sa code na ito ay maliwanag na ngayon: ito ay isang -Hamming code para sa mga bit-flip error at isang -Hamming code para sa mga phase-flip error. Ang katotohanan na ang at stabilizer generator ay mag-commute ay maaaring masabing magandang swerte, dahil ito ay hindi magiging isang wastong stabilizer code kung hindi. Ngunit mayroon, sa katunayan, maraming kilalang halimbawa ng mga klasikal na linear na code na nagbubunga ng isang wastong stabilizer code kapag ginamit sa katulad na paraan.
Sa pangkalahatan, ipagpalagay na mayroon tayong isang CSS code kung saan ang stabilizer generator ay nagpapahintulot ng pagwawasto ng hanggang na bit-flip error, at ang stabilizer generator ay nagpapahintulot ng pagwawasto ng hanggang na phase-flip error. Halimbawa, at para sa Steane code, dahil ang -Hamming code ay maaaring mag-correct ng isang bit flip. Sumusunod dito, sa pamamagitan ng discretization ng mga error, na ang CSS code na ito ay maaaring mag-correct ng anumang error sa isang bilang ng mga qubit hanggang sa minimum ng at Ito ay dahil, kapag sinukat ang syndrome, ang isang arbitrary na error sa bilang na ito ng mga qubit ay epektibong nag-collapse nang probabilistiko sa ilang kombinasyon ng error, error, o pareho β at pagkatapos ang error at error ay natatukoy at naitatama nang nakapag-iisa.
Sa buod, sa kondisyon na mayroon tayong dalawang klasikal na linear na code (o dalawang kopya ng isang solong klasikal na linear na code) na compatible, sa kahulugang nagtatakda sila ng at stabilizer generator na nag-commute, ang CSS code na nakuha natin sa pamamagitan ng pagsasama sa kanila ay nagmamana ng mga katangian ng pagwawasto ng error ng dalawang code na iyon, sa kahulugang binanggit lamang.
Pansinin na may bayad na dapat bayaran, na ang mga qubit na maaari nating i-encode ay mas kakaunti kaysa sa mga bit na maaari nating i-encode gamit ang dalawang klasikal na code. Ito ay dahil ang kabuuang bilang ng mga stabilizer generator para sa CSS code ay ang kabuuan ng bilang ng mga parity check para sa dalawang klasikal na linear na code, at ang bawat stabilizer generator ay naghahatid ng kalahati ng dimensyon ng code space. Halimbawa, ang -Hamming code ay nagpapahintulot ng pag-encode ng apat na klasikal na bit, dahil mayroon lamang tatlong parity check string para sa code na ito, samantalang ang 7-qubit Steane code ay nag-e-encode lamang ng isang qubit, dahil mayroon itong anim na stabilizer generator.
Mga code space ng CSS codeβ
Ang huling bagay na gagawin natin sa talakayan ng mga CSS code ay isaalang-alang ang mga code space ng mga code na ito. Bibigyan tayo nito ng pagkakataon na mas detalyadong suriin ang relasyon na dapat mangyari sa pagitan ng dalawang klasikal na linear na code upang maging compatible, sa kahulugang maaari silang pagsamahin upang bumuo ng isang CSS code.
Isaalang-alang ang anumang CSS code sa na qubit, at hayaan ang na maging -bit parity check string na katumbas ng stabilizer generator ng code na ito. Ibig sabihin nito na ang klasikal na linear na code na inilarawan ng stabilizer generator lamang, na pananganlan nating ay may sumusunod na anyo.
Sa salita, ang klasikal na linear na code ay naglalaman ng bawat string na ang binary dot product sa bawat isa sa mga parity check string na ay zero.
Sa katulad na paraan, hayaan nating kunin ang na maging -bit parity check string na katumbas ng stabilizer generator ng ating code. Kaya, ang klasikal na linear na code na katumbas ng stabilizer generator ay may ganitong anyo.
Ang stabilizer generator lamang ay naglalarawan ng isang code na katulad ng code na ito, ngunit sa basis sa halip na sa standard basis.
Ngayon ay ipapakilala natin ang dalawang bagong klasikal na linear na code na nagmula sa parehong mga pagpipilian ng mga string, at ngunit kung saan kinukuha natin ang mga string na ito bilang mga generator sa halip na mga parity check string. Sa partikular, nakukuha natin ang dalawang code na ito.
Ang mga ito ay kilala bilang mga dual code ng mga code na tinukoy noon: ang ay ang dual code ng at ang ay ang dual code ng Maaaring hindi malinaw sa puntong ito kung bakit ang mga dual code na ito ay may kaugnayan, ngunit lumabas na sila ay medyo may kaugnayan sa maraming dahilan, kabilang ang dalawang dahilan na ipinaliliwanag sa mga sumusunod na talata.
Una, ang mga kondisyon na dapat mangyari para sa dalawang klasikal na linear na code at na maging compatible, sa kahulugang maaari silang ipares upang bumuo ng isang CSS code, ay maaaring ilarawan sa simpleng paraan sa pamamagitan ng pagtukoy sa mga dual code. Sa partikular, dapat na ang o katumbas nito, na ang Sa salita, ang dual code ay naglalaman ng mga string na katumbas ng stabilizer generator, at ang kanilang pagkaloob sa ay katumbas ng binary dot product ng bawat isa sa mga string na ito sa mga katumbas ng stabilizer generator na zero. Iyon naman ay katumbas ng bawat stabilizer generator na nag-commute sa bawat stabilizer generator. Bilang kahalili, sa pamamagitan ng pagpapalit ng mga papel ng at stabilizer generator at pagsisimula mula sa pagkaloob maaari tayong makarating sa parehong konklusyon.
Ikalawa, sa pamamagitan ng pagtukoy sa mga dual code, madali nating mailalarawan ang mga code space ng isang naibigay na CSS code. Sa partikular, ang code space ay na-span ng mga vector na may sumusunod na anyo.
Sa salita, ang mga vector na ito ay mga uniform superposition sa mga string sa dual code ng code na katumbas ng stabilizer generator, na inilipat ng (ibig sabihin, bitwise XORed sa) mga string sa code na katumbas ng stabilizer generator. Upang maging malinaw, ang iba't ibang pagpipilian para sa shift β na kinakatawan ng string na sa pahayag na ito β ay maaaring magresulta sa parehong vector. Kaya, ang mga estadong ito ay hindi lahat natatangi, ngunit sama-sama nilang nispanspan ang buong code space.
Narito ang isang intuitive na paliwanag kung bakit ang mga ganitong vector ay nasa code space at nispanspan ito. Isaalang-alang ang -qubit standard basis state na para sa ilang arbitrary na -bit string at ipagpalagay na i-project natin ang estado na ito sa code space. Ibig sabihin, hayaan ang na tumukoy sa projection sa code space ng ating CSS code, isaalang-alang ang vector na Mayroong dalawang kaso:
-
Kaso 1: Ipinahihiwatig nito na ang bawat stabilizer generator ng ating CSS code ay kumikilos nang walang epekto sa Ang mga stabilizer generator, sa kabilang banda, bawat isa ay simpleng nagba-flip ng ilang bit ng Sa partikular, para sa bawat generator ng ang stabilizer generator na katumbas ng ay nagbabago ng sa Sa pamamagitan ng pag-characterize ng projection bilang average sa mga elemento ng stabilizer (tulad ng aming nakita sa nakaraang aralin), nakukuha natin ang formula na ito:
-
Kaso 2: Ipinahihiwatig nito na hindi bababa sa isa sa mga parity check na katumbas ng stabilizer generator ay hindi pumasa, na ibig sabihin ang ay dapat maging eigenvector ng hindi bababa sa isa sa stabilizer generator. Ang code space ng CSS code ay ang intersection ng eigenspace ng mga stabilizer generator. Kaya, bilang eigenvector ng hindi bababa sa isa sa stabilizer generator, ang ay samakatuwid na orthogonal sa code space:
At ngayon, habang tayo ay nagpapalawak sa lahat ng -bit string itinapon ang mga kung saan at ni-normalize ang natitirang mga ito, nakukuha natin ang mga vector na inilarawan noon, na nagpapakita na nispanspan nila ang code space.
Maaari rin nating gamitin ang simmetri sa pagitan ng at stabilizer generator upang ilarawan ang code space sa katulad ngunit naiibang paraan. Sa partikular, ito ay ang space na na-span ng mga vector na may sumusunod na anyo.
Sa esensya, ang at ay napalitan sa bawat pagkakataon na lumabas sila β ngunit dapat din nating palitan ang standard basis para sa basis, kaya kasama ang mga operasyon ng Hadamard.
Bilang halimbawa, isaalang-alang natin ang 7-qubit Steane code. Ang mga parity check string para sa parehong at stabilizer generator ay pareho: at Ang mga code at ay samakatuwid na pareho; parehong katumbas ng -Hamming code.
Ang mga dual code at ay samakatuwid na pareho rin. Mayroon tayong tatlong generator, kaya nakakakuha tayo ng walong string.
Ang mga string na ito ay lahat nakapaloob sa -Hamming code, kaya ang CSS kondisyon ay natutupad: o katumbas nito,
Dahil ang ay naglalaman ng kalahati ng lahat ng mga string sa may dalawang natatanging vector lamang na na maaaring makuha sa pamamagitan ng pagpili ng Ito ay inaasahan, dahil ang 7-qubit Steane code ay may dalawang-dimensional na code space. Maaari nating gamitin ang dalawang estado na nakuha natin sa ganitong paraan upang i-encode ang lohikal na estado at tulad ng sumusunod.
Tulad ng dati, hindi ito sapilitan sa atin β malaya tayong gamitin ang code space upang i-encode ang mga qubit kung paano man natin gusto. Ang encoding na ito, gayunpaman, ay naaayon sa halimbawa ng isang encoding circuit para sa 7-qubit Steane code sa nakaraang aralin.