อะไรคือความแตกต่างระหว่าง "รหัสพื้นที่", "รหัสคำ" และ "รหัสโคลง"


12

ฉันอ่านต่อไปเรื่อย ๆ (เช่น Nielsen และ Chuang, 2010; pg. 456 และ 465) สามขั้นตอนต่อไปนี้ "space code", "word word" และ "code stabilizer" - แต่ตอนนี้มีช่วงเวลาที่ยากลำบากในการค้นหาคำจำกัดความของพวกเขาและที่สำคัญกว่าพวกเขาแตกต่างกันอย่างไร

คำถามของฉันคือ; คำสามคำนี้มีความหมายอย่างไรและเกี่ยวข้องกันอย่างไร

คำตอบ:


11

รหัสพื้นที่และรหัสคำ

รหัสการแก้ไขข้อผิดพลาดเชิงควอนตัมมักถูกระบุด้วยรหัสพื้นที่ (Nielsen & Chuang ดูเหมือนจะทำเช่นนั้น) รหัสพื้นที่ ของ e กรัม -qubit ควอนตัมรหัสแก้ไขข้อผิดพลาดเป็นเวกเตอร์สเปซn}CnCH2n

คำรหัส (คำศัพท์ที่ยืมมาจากทฤษฎีคลาสสิกของการแก้ไขข้อผิดพลาด) เป็นรัฐที่สำหรับบางรหัสพื้นที่: นั่นคือมันเป็นรัฐที่เข้ารหัสข้อมูลบางอย่าง|ψC

รหัสแก้ไขข้อผิดพลาดของควอนตัม

ในทางปฏิบัติเราต้องการคุณสมบัติที่ไม่สำคัญเพื่อเก็บรหัสแก้ไขข้อผิดพลาดของควอนตัมเช่น:

  • นั่นเพื่อให้มีการเข้ารหัสข้อมูลจำนวนไม่เป็นศูนย์;dimC2
  • ว่ามีชุดอย่างน้อยสองผู้ประกอบการรวมทั้งผู้ดำเนินการเช่นนั้น - ถ้าเป็น orthogonal projector บน - เรามี สำหรับสเกลาร์บางตัว (รู้จักกันในชื่อเงื่อนไขKnill – Laflamme )E={E1,E2,}E1=1PC
    PEjEkP=αj,kP
    αj,k

สิ่งนี้กำหนดชุดของตัวดำเนินการข้อผิดพลาดบางอย่างซึ่งคุณสามารถป้องกันหลักการ , ในกรณีที่เงื่อนไข Knill – Laflamme เก็บชุดตัวดำเนินการและตัวดำเนินการบางตัวทำหน้าที่ในสถานะของคุณเป็นไปได้ในหลักการในการตรวจสอบความจริงที่ว่าได้เกิดขึ้น (ตรงข้ามกับโอเปอเรเตอร์อื่นใน ) และยกเลิกข้อผิดพลาดโดยไม่รบกวนข้อมูลที่เก็บไว้ในสถานะเดิม\|ψCEEEEE|ψ

รหัสแก้ไขข้อผิดพลาดควอนตัมเป็นรหัสพื้นที่ , ร่วมกับชุดของผู้ประกอบการผิดพลาดซึ่งตามเงื่อนไข Knill-Laflamme - นั่นคือข้อผิดพลาดควอนตัมรหัสต้องระบุข้อผิดพลาดที่มันจะหมายถึงการป้องกันแก้ไข .CE

เหตุใดจึงเป็นเรื่องปกติที่จะระบุรหัสการแก้ไขข้อผิดพลาดเชิงควอนตัมด้วยรหัสพื้นที่

คุณไม่สามารถกำหนดชุดของตัวดำเนินการที่ไม่ซ้ำกันซึ่งตรงตามเงื่อนไข Knill – Laflamme จาก code-spaceเพียงอย่างเดียว อย่างไรก็ตามมันเป็นเรื่องธรรมดามากที่สุดที่จะต้องพิจารณาว่าตัวดำเนินการที่มีน้ำหนักเบาเพียงใด (ตัวดำเนินการที่มีจำนวน qubits เพียงเล็กน้อย) สามารถแก้ไขได้ด้วยรหัสพร้อมกันและขอบเขตนี้สามารถได้รับจากรหัสพื้นที่เพียงอย่างเดียว ระยะรหัสพื้นที่รหัสเป็นจำนวนที่เล็กที่สุดของ qubits ที่คุณจะต้องทำหน้าที่ในการแปลงหนึ่ง "codeword"เป็นที่แตกต่างกัน codewordC หากเราอธิบายรหัสพื้นที่ว่าเป็นECC|ψC|ψC[[n,k,d]]โค้ดนี่บอกว่ามีมิติและเซตที่เราพิจารณาคือ ชุดของผู้ประกอบการ Pauli ทั้งหมดที่มีน้ำหนักมากที่สุด \CH2n2kE(d1)/2

ในบางกรณีการอธิบายรหัสเป็นรหัสก็เพียงพอแล้ว ตัวอย่างเช่นรหัส 5-qubit เป็นรหัสและเป็นไปได้ที่จะแสดงว่าห้า qubits ไม่สามารถเข้ารหัส qubit เดียวในลักษณะที่ข้อผิดพลาดอื่น ๆสามารถแก้ไขได้ นอกเหนือจากข้อผิดพลาดแบบควิบิตเดียวทั้งหมด อย่างไรก็ตามสิ่งเดียวกันนี้ไม่เป็นความจริงของรหัส Steaneซึ่งสามารถป้องกันข้อผิดพลาด Pauli เดียว qubit เดียวรวมทั้งข้อผิดพลาด Pauli สองบางส่วน (แต่ไม่ใช่ทั้งหมด) ข้อผิดพลาด Pauli สองบิตใดที่คุณควรทำ[[n,k,d]][[5,1,3]][[7,1,3]]ป้องกันขึ้นอยู่กับรุ่นข้อผิดพลาดของคุณคืออะไร; และถ้าเสียงของคุณสมมาตรและกระจายอย่างอิสระมันจะไม่สำคัญกับสิ่งที่คุณเลือก (ดังนั้นคุณน่าจะเลือกแบบทั่วไปของข้อผิดพลาดใด ๆ เดียวพร้อมกับข้อผิดพลาดใด ๆ) อย่างไรก็ตามเป็นตัวเลือกและเป็นตัวเลือกที่จะเป็นแนวทางในการปกป้องข้อมูลของคุณจากเสียงรบกวนXZ

รหัสโคลง

โคลงโค้ดเป็นรหัสแก้ไขข้อผิดพลาดเชิงควอนตัมที่กำหนดโดยชุดของเครื่องกำเนิดโคลงซึ่งเป็นตัวดำเนินการ Pauli ซึ่งเดินทางกับอีกคนหนึ่งและกำหนดรหัสพื้นที่ -โดยการแยกของ (มันมักจะเป็นประโยชน์ในการพิจารณากลุ่มโคลงเกิดจากผลิตภัณฑ์ของ )SC GPS

เกือบทั้งหมดรหัสการแก้ไขข้อผิดพลาดของควอนตัมที่คนพิจารณาในทางปฏิบัติเป็นรหัสโคลง นี่คือเหตุผลหนึ่งว่าทำไมคุณอาจมีปัญหาในการแยกคำสองคำ อย่างไรก็ตามเราไม่ต้องการให้รหัสการแก้ไขข้อผิดพลาดของควอนตัมเป็นรหัสโคลง - ตามหลักการที่เราไม่ต้องการให้รหัสการแก้ไขข้อผิดพลาดแบบดั้งเดิมเป็นรหัสเชิงเส้น รหัส Stabilizer เป็นวิธีที่ประสบความสำเร็จอย่างมากในการอธิบายรหัสแก้ไขข้อผิดพลาดของควอนตัมเช่นเดียวกับรหัสแก้ไขข้อผิดพลาดเชิงเส้นเป็นวิธีที่ประสบความสำเร็จอย่างมากในการอธิบายรหัสแก้ไขข้อผิดพลาดแบบดั้งเดิม และแน่นอนว่าโคลงรหัสสามารถถือได้ว่าเป็นลักษณะทั่วไปของทฤษฎีของรหัสเชิงเส้นคลาสสิกเพื่อการแก้ไขข้อผิดพลาดควอนตัม

เนื่องจากผู้คนมักให้ความสนใจกับตัวดำเนินการที่มีน้ำหนักเบาซึ่งน้อยกว่าครึ่งหนึ่งของระยะห่างของรหัสชุดโคลงที่มักจะทุกคนพูดถึงรหัสการแก้ไขโคลง อย่างไรก็ตามเพื่อระบุชุดของข้อผิดพลาดซึ่งรหัสสามารถป้องกันได้มีความจำเป็นต้องระบุความสัมพันธ์ระหว่างผู้ดำเนินการผลิตภัณฑ์ Pauliและส่วนย่อยเช่นนั้นEσESS

  • E anticommutes กับถ้าหากว่าสำหรับ ;PSPSσ(E,S)
  • ถ้าทั้งความพึงพอใจและแล้ว\E,Eσ(E,S)σ(E,S)EEG=S

สิ่งนี้กำหนด setของข้อผิดพลาดที่รหัสสามารถป้องกันได้ ชุดย่อยเรียกว่ากลุ่มอาการข้อผิดพลาดและความสัมพันธ์ที่ฉันเรียกว่าที่นี่ (ซึ่งคุณมักจะไม่เห็นชื่อที่ชัดเจน) เชื่อมโยงกลุ่มอาการข้อผิดพลาดอย่างน้อยหนึ่งข้อซึ่งเป็นสาเหตุของโรคนั้น และมีผลกระทบต่อรหัสเทียบเท่า

E={E|SS:σ(E,S)}
SSσ

'ซินโดรม' เป็นตัวแทนของข้อมูลที่สามารถได้รับจริงเกี่ยวกับข้อผิดพลาดโดย 'การวัดที่สอดคล้องกัน' - นั่นคือโดยการวัดค่าตัวดำเนินการในฐานะที่เป็นสิ่งที่สังเกตได้ (กระบวนการซึ่งโดยทั่วไปแล้ว ข้อผิดพลาดของ 'ทำให้เกิด' กลุ่มอาการของโรคถ้าสำหรับคำรหัสใด ๆรัฐอยู่ใน eigenspace ของทั้งหมด ผู้ประกอบการและใน -eigenspace ของผู้ประกอบการอื่น ๆ ทั้งหมดในS (คุณสมบัตินี้เกี่ยวข้องโดยตรงกับ anticommutation ของกับองค์ประกอบทั้งหมดของPSESS|ψCE|ψ1PS+1SESSและองค์ประกอบเหล่านั้นเท่านั้น)


ในย่อหน้าที่สองของคุณคุณบอกว่าคำว่ารหัสคือสถานะในคือสถานะที่เข้ารหัสข้อมูลบางส่วน คุณกำลังพูดในสิ่งที่คำตอบอื่น ๆ ดูเหมือนว่าจะพูดว่า - คือ codewords เป็นรัฐเหล่านั้นเราเชื่อมโยงกับตรรกะเช่นและ\ หรือว่าโดยทั่วไปสถานะใด ๆ ในเรียกว่าคำรหัส? C|0|1C
สปาเกตตี้ควอนตัม

2
คำศัพท์อาจแตกต่างกันเล็กน้อย ตัวอย่างเช่นคุณอ่านวิทยานิพนธ์ของ Gottesman และเขาพูดถึงคำรหัสที่เป็นสถานะที่ถูกต้องในพื้นที่รหัสและเขาแยก 'รหัสคำพื้นฐาน' เป็นตรรกะ 0 และ 1
DaftWullie

1
@QuantumSpaghettification: เป็น DaftWullie แนะนำผมหมายถึงรัฐใด ๆ ในC บ่อยครั้งเป็นความผิดพลาดที่จะหมกมุ่นอยู่กับมาตรฐานมากเกินไป ในอดีตมันง่ายที่สุดในการอธิบาย QECC โดยอ้างอิงถึงช่วงของสองสถานะเฉพาะและเพื่ออธิบายคุณสมบัติการแก้ไขในแง่ของสองสถานะ ทฤษฎีของโคลงโค้ดทำให้คำอธิบายประเภทนี้ไม่จำเป็นและช่วยให้คุณมีความยืดหยุ่นกับกรอบอ้างอิงเชิงตรรกะคืออะไรดังนั้นจึงเป็นการดีกว่าที่จะหลีกเลี่ยงการกำหนดสิ่งต่าง ๆ ในลักษณะที่เน้นมาตรฐานเป็นหลัก C
Niel de Beaudrap

@NieldeBeaudrap ขออภัยที่ต้องกลับมาที่โพสต์นี้อีกหนึ่งเดือนต่อมา ฉันถูกต้องในการบอกว่าการทำแผนที่อาจเป็นแบบหนึ่งต่อหลายคนหากผลของข้อผิดพลาดใน "คำรหัสพื้นฐาน" แย่ลง ฉันคิดว่าขั้นตอนการพลิกรหัสของชอร์ μ
สปาเกตตี้ควอนตัม

@QuantumSpaghettification: ตามที่ฉันได้อธิบายไว้ที่นี่จริง ๆ แล้วมันจำเป็นที่จะต้องเป็นสิ่งที่มีค่ามากมายสำหรับ setเพื่อทำงานที่ฉันได้อธิบายไว้สำหรับรหัสที่แย่ลง --- ซึ่งคือ ไม่ใช่สิ่งที่ฉันตั้งใจ ฉันจะแก้ไขคำตอบของฉันในไม่ช้า μE
Niel de Beaudrap

5

คำรหัส (สำหรับรหัสควอนตัม) เป็นสถานะควอนตัมที่มักจะเกี่ยวข้องกับรัฐในตรรกะพื้นฐาน ดังนั้นคุณจะมีสถานะที่สอดคล้องกับสถานะ 0 ของ qubit ที่จะถูกเข้ารหัส (คุณไม่ต้องใช้ qubits แต่คุณอาจเป็น) และคุณจะมีอีกที่สอดคล้องกับ 1 สถานะของ qubit ที่จะเข้ารหัส|ψ0|ψ1

พื้นที่โค้ดคือช่องว่างที่ถูกครอบคลุมโดยคำของโค้ดนั่นคือพื้นที่ทั้งหมดสำหรับทั้งหมดที่เป็นไปได้และ (ปรับให้เป็นมาตรฐาน)α|ψ0+β|ψ1αβ

โคลงโค้ดเป็นพิธีการหนึ่งที่เป็นไปได้สำหรับการบอกคุณถึงวิธีการทำงานของคำรหัสและพื้นที่โค้ด สำหรับโค้ด [[n, k, d]] คุณจะได้รับตัวดำเนินการเอ็นโคลง ( ) ที่เดินทางร่วมกันและดำเนินการกับ n qubits ใด ๆ ของรัฐในพื้นที่ตอบสนองรหัสSคุณจะต้องมีโอเปอเรเตอร์และสำหรับที่เดินทางไปกับตัวปรับความคงตัวแต่ anticommute แบบสำหรับการห้อย สิ่งเหล่านี้กำหนดตัวดำเนินการ Logical Pauli สำหรับรหัสและคำของรหัสจึงเป็นสถานะที่ตอบสนองSS2=I|ψS|ψ=|ψZmXmm=1,kS{Zm,Xm}=0Zm|ψ=±|ψZ_m


5

ในรหัสข้อผิดพลาดควอนตัมการแก้ไขคุณเก็บจำนวนของตรรกะ qubits,ในรัฐ qubits ทางกายภาพหลายnkn

รหัสคำคือสถานะของฟิสิคัล qubits ที่เชื่อมโยงกับสถานะโลจิคัลที่เจาะจง ตัวอย่างเช่นอย่างไรก็ตามคุณเก็บสถานะสำหรับหนึ่งใน qubits เชิงตรรกะของคุณคือคำรหัส|0

พื้นที่โค้ดคือพื้นที่ Hilbert ที่ถูกขยายโดยคำที่เป็นไปได้ทั้งหมด สำหรับโค้ดตัวโคลงคำศัพท์นี้มีความหมายเหมือนกันกับพื้นที่ของตัวโคลง สถานะใด ๆ ภายในพื้นที่โค้ดนี้คือคำของโค้ด

โคลงโค้ดเป็นรหัสการแก้ไขข้อผิดพลาดเชิงควอนตัมที่อธิบายโดยพิธีการโคลง พื้นที่โคลงถูกกำหนดให้เป็น eigenspace ร่วมกันของเดินทางร่วมกันและผลิตภัณฑ์เทนเซอร์อิสระของผู้ประกอบการ Pauli+1nk

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.