ข้ามไปยังเนื้อหาหลัก

9-qubit Shor code

ตอนนี้เราจะมาพูดถึง 9-qubit Shor code ซึ่งเป็น quantum error correcting code ที่ได้จากการรวม code สองอันที่พิจารณาในส่วนก่อนหน้า: 3-bit repetition code สำหรับ Qubit ซึ่งช่วยให้แก้ single bit-flip error ได้ และเวอร์ชัน modified ของ code นั้น ซึ่งช่วยให้แก้ single phase-flip error ได้

คำอธิบาย code

9-qubit Shor code คือ code ที่เราได้จากการ concatenate สอง code จากส่วนก่อนหน้า ซึ่งหมายความว่าเราใช้การเข้ารหัสหนึ่งก่อน ซึ่งเข้ารหัส Qubit หนึ่งตัวเป็นสาม แล้วใช้การเข้ารหัสอีกอันกับ แต่ละ Qubit ในสาม Qubit ที่ใช้สำหรับการเข้ารหัสแรก ส่งผลให้ได้ Qubit เก้าตัวโดยรวม

ให้แม่นยำยิ่งขึ้น แม้ว่าเราจะใช้สอง code ในลำดับใดก็ได้ในกรณีนี้ เราจะเลือกใช้เวอร์ชัน modified ของ 3-bit repetition code ก่อน (ที่ตรวจจับ phase-flip errors) แล้วเข้ารหัส แต่ละ Qubit ในสามตัวที่ได้อย่างอิสระโดยใช้ original 3-bit repetition code (ที่ตรวจจับ bit-flip errors) นี่คือแผนภาพ circuit ของการเข้ารหัสนี้

Encoding circuit สำหรับ 9-qubit Shor code แสดงสามบล็อก

ดังที่รูปแนะนำ เราจะคิดถึง Qubit เก้าตัวของ Shor code ว่าแบ่งเป็นสามบล็อกของสาม Qubit แต่ละบล็อกได้จากขั้นตอนการเข้ารหัส ที่สอง (ซึ่งคือ ordinary 3-bit repetition code) ordinary 3-bit repetition code ซึ่งที่นี่ใช้สามครั้งอย่างอิสระ เรียกว่า inner code ในบริบทนี้ ในขณะที่ outer code คือ code ที่ใช้สำหรับขั้นตอนการเข้ารหัสแรก ซึ่งคือเวอร์ชัน modified ของ 3-bit repetition code ที่ตรวจจับ phase-flip errors

เราสามารถระบุ code อีกทางหนึ่งโดยอธิบายว่าสถานะฐานมาตรฐานสองอันสำหรับ Qubit เดิมของเราถูกเข้ารหัสอย่างไร

0122(000+111)(000+111)(000+111)1122(000111)(000111)(000111)\begin{aligned} \vert 0\rangle & \:\mapsto\: \frac{1}{2\sqrt{2}} (\vert 000\rangle + \vert 111\rangle) \otimes (\vert 000\rangle + \vert 111\rangle) \otimes (\vert 000\rangle + \vert 111\rangle) \\[4mm] \vert 1\rangle & \:\mapsto\: \frac{1}{2\sqrt{2}} (\vert 000\rangle - \vert 111\rangle) \otimes (\vert 000\rangle - \vert 111\rangle) \otimes (\vert 000\rangle - \vert 111\rangle) \end{aligned}

เมื่อทราบสิ่งนี้ เราสามารถกำหนดโดย linearity ว่า qubit state vector แบบสุ่มถูกเข้ารหัสอย่างไร

การแก้ bit-flip และ phase-flip errors

ข้อผิดพลาดและ CNOT gates

เพื่อวิเคราะห์ว่าข้อผิดพลาด XX และ ZZ ส่งผลต่อการเข้ารหัสของ Qubit อย่างไร ทั้งสำหรับ 9-qubit Shor code และ code อื่น ๆ จะเป็นประโยชน์ที่จะสังเกตความสัมพันธ์ง่าย ๆ บางอย่างระหว่างข้อผิดพลาดเหล่านี้กับ CNOT gates เมื่อเราเริ่มวิเคราะห์ 9-qubit Shor code นี่เป็นช่วงเวลาที่เหมาะสมที่จะหยุดทำสิ่งนี้

แผนภาพ circuit ต่อไปนี้แสดงความสัมพันธ์พื้นฐานสามอย่างระหว่าง XX gates และ CNOT gates โดยเฉพาะอย่างยิ่ง การใช้ XX gate กับ target qubit ก่อน CNOT เทียบเท่ากับการสลับลำดับและทำ CNOT ก่อน แต่การใช้ XX gate กับ control qubit ก่อน CNOT เทียบเท่ากับการใช้ XX gates กับทั้งสอง Qubit หลัง CNOT สุดท้าย การใช้ XX gates กับทั้งสอง Qubit ก่อน CNOT เทียบเท่ากับการทำ CNOT ก่อนแล้วใช้ XX gate กับ control qubit ความสัมพันธ์เหล่านี้สามารถตรวจสอบได้โดยการคูณเมทริกซ์ที่จำเป็นหรือคำนวณผลของ circuits บนสถานะฐานมาตรฐาน

X errors ก่อนและหลัง CNOT gates

สถานการณ์คล้ายกันสำหรับ ZZ gates ยกเว้นว่าบทบาทของ control และ target qubits สลับกัน โดยเฉพาะอย่างยิ่ง เรามีความสัมพันธ์สามอย่างที่แสดงโดย quantum circuits ต่อไปนี้

Z errors ก่อนและหลัง CNOT gates

การแก้ bit-flip errors

ตอนนี้เราจะพิจารณาว่าข้อผิดพลาดสามารถตรวจจับและแก้ไขได้อย่างไรโดยใช้ 9-qubit Shor code โดยเริ่มจาก bit-flip errors — ซึ่งเราจะเรียกว่า XX errors ต่อไปนี้เพื่อความกระชับ

เพื่อตรวจจับและแก้ไข XX errors เราสามารถจัดการแต่ละบล็อกในการเข้ารหัสแยกกัน แต่ละบล็อกเป็นการเข้ารหัสของ Qubit โดยใช้ 3-bit repetition code ซึ่งป้องกัน XX errors — ดังนั้นโดยการทำ syndrome measurements และการแก้ไข XX errors ที่อธิบายไว้ก่อนหน้ากับแต่ละบล็อก เราสามารถตรวจจับและแก้ไข XX error ได้ไม่เกินหนึ่งอันต่อบล็อก โดยเฉพาะอย่างยิ่ง ถ้ามี XX error ไม่เกินหนึ่งอันบน Qubit เก้าตัวของการเข้ารหัส ข้อผิดพลาดนี้จะถูกตรวจจับและแก้ไขโดยขั้นตอนนี้

กล่าวโดยย่อ การแก้ bit-flip errors เป็นเรื่องง่ายสำหรับ code นี้ เพราะ inner code แก้ bit-flip errors

การแก้ phase-flip errors

ต่อไปเราจะพิจารณา phase-flip errors หรือ ZZ errors เพื่อความกระชับ คราวนี้ไม่ชัดเจนนักว่าเราควรทำอะไร เพราะ outer code คือ code ที่ตรวจจับ ZZ errors แต่ inner code ดูเหมือนจะ "ขวางทาง" อยู่ ทำให้การตรวจจับและแก้ไขข้อผิดพลาดเหล่านี้ยากขึ้นเล็กน้อย

สมมติว่า ZZ error เกิดขึ้นบน Qubit หนึ่งในเก้า Qubit ของ Shor code เช่นตัวที่บ่งบอกในแผนภาพนี้

Z error บน Qubit สำหรับ 9-qubit Shor code

เราได้สังเกตแล้วว่าเกิดอะไรขึ้นเมื่อ ZZ error เกิดขึ้นเมื่อใช้ 3-bit repetition code — มันเทียบเท่ากับ ZZ error ที่เกิดขึ้นก่อนการเข้ารหัส ในบริบทของ 9-qubit Shor code นี่หมายความว่า ZZ error บน Qubit ใด ๆ ในบล็อกหนึ่งมีผลเหมือนกันเสมอ ซึ่งเทียบเท่ากับ ZZ error ที่เกิดขึ้นบน Qubit ที่สอดคล้องก่อนที่จะใช้ inner code

ตัวอย่างเช่น แผนภาพ circuit ข้างต้นเทียบเท่ากับแผนภาพต่อไปนี้ สิ่งนี้สามารถอนุมานได้โดยใช้ความสัมพันธ์ระหว่าง ZZ และ CNOT gates ที่อธิบายข้างต้น หรือโดยการประเมิน circuits บน qubit state แบบสุ่ม ψ\vert\psi\rangle

Z error ก่อน inner code สำหรับ 9-qubit Shor code

สิ่งนี้แนะนำวิธีหนึ่งสำหรับตรวจจับและแก้ไข ZZ errors คือการ ถอดรหัส inner code ทิ้งไว้กับสาม Qubit ที่ใช้สำหรับ outer encoding พร้อมกับ workspace qubits ที่ initialized แล้วหกตัว จากนั้นเราสามารถตรวจสอบสาม Qubit เหล่านี้ของ outer code สำหรับ ZZ errors แล้วในที่สุดสามารถเข้ารหัสใหม่โดยใช้ inner code เพื่อกลับไปยังการเข้ารหัส 9-Qubit ที่ได้จาก Shor code ถ้าเราตรวจพบ ZZ error เราสามารถแก้ไขได้ก่อนเข้ารหัสใหม่ด้วย inner code หรือหลังการเข้ารหัสใหม่ โดยใช้ ZZ gate กับ Qubit ใด ๆ ในบล็อกนั้น

นี่คือแผนภาพ circuit ที่รวม encoding circuit และข้อผิดพลาดที่แนะนำข้างต้นเข้ากับขั้นตอนที่เพิ่งอธิบาย (แต่ไม่รวมขั้นตอนการแก้ไขจริง)

Z error detection สำหรับ 9-qubit Shor code

ในตัวอย่างนี้โดยเฉพาะ การวัดซินโดรมให้ค่า 1111 ซึ่งระบุว่า ZZ error เกิดขึ้นบน Qubit ใดก็ตามในบล็อกกลาง

ข้อดีอย่างหนึ่งของการแก้ ZZ errors หลังจากขั้นตอนการเข้ารหัสใหม่แทนที่จะเป็นก่อน คือเราสามารถทำให้ circuit ข้างต้นง่ายขึ้น circuit ต่อไปนี้เทียบเท่า แต่ต้องการ CNOT gates น้อยกว่าสี่ตัว

Simplified Z error detection สำหรับ 9-qubit Shor code

อีกครั้ง ซินโดรมไม่ได้ระบุว่า Qubit ใดได้รับผลกระทบจาก ZZ error แต่ระบุว่าบล็อกใดมี ZZ error โดยผลเหมือนกันไม่ว่า Qubit ในบล็อกตัวใดจะได้รับผลกระทบ จากนั้นเราสามารถแก้ไขข้อผิดพลาดได้โดยใช้ ZZ gate กับ Qubit ใดก็ตามในสาม Qubit ของบล็อกที่ได้รับผลกระทบ

สังเกตด้วยว่าเราเห็นตัวอย่างของ degeneracy ใน quantum error-correcting code ที่นี่ ซึ่งเราสามารถแก้ข้อผิดพลาดบางอย่าง (ZZ errors ในกรณีนี้) โดยไม่สามารถระบุได้อย่างเฉพาะเจาะจง

Bit- และ phase-flip errors พร้อมกัน

เราได้เห็นแล้วว่าทั้ง XX และ ZZ errors สามารถตรวจจับและแก้ไขได้โดยใช้ 9-qubit Shor code และโดยเฉพาะอย่างยิ่ง XX error ไม่เกินหนึ่งอันหรือ ZZ error ไม่เกินหนึ่งอันสามารถตรวจจับและแก้ไขได้ ตอนนี้สมมติว่าทั้ง bit-flip และ phase-flip error เกิดขึ้น อาจบน Qubit เดียวกัน ปรากฏว่าไม่จำเป็นต้องทำอะไรแตกต่างในสถานการณ์นี้จากที่ได้พูดถึงไปแล้ว — code สามารถตรวจจับและแก้ไข XX error ไม่เกินหนึ่งอันและ ZZ error ไม่เกินหนึ่งอันพร้อมกัน โดยไม่ต้องปรับเพิ่มเติม

ให้แม่นยำยิ่งขึ้น XX errors ถูกตรวจจับโดยการใช้ ordinary 3-bit repetition code syndrome measurement ซึ่งดำเนินการแยกกันกับแต่ละสามบล็อกของสาม Qubit; และ ZZ errors ถูกตรวจจับผ่านขั้นตอนที่อธิบายข้างต้น ซึ่งเทียบเท่ากับการถอดรหัส inner code ดำเนินการ syndrome measurement สำหรับ modified 3-bit repetition code สำหรับ phase-flips แล้วเข้ารหัสใหม่ ขั้นตอนการตรวจจับข้อผิดพลาดสองอย่างนี้ — รวมถึงการแก้ไขที่สอดคล้อง — สามารถดำเนินการอย่างอิสระจากกันอย่างสมบูรณ์ และในความเป็นจริงไม่สำคัญว่าจะดำเนินการในลำดับใด

เพื่อดูว่าทำไมถึงเป็นเช่นนี้ พิจารณาตัวอย่างที่แสดงในแผนภาพ circuit ต่อไปนี้ ซึ่งทั้ง XX และ ZZ errors ส่งผลต่อ Qubit ล่างของบล็อกกลาง

XZ error สำหรับ 9-qubit Shor code

ขอสังเกตก่อนว่าลำดับของข้อผิดพลาดไม่สำคัญ ในแง่ที่ว่าการสลับตำแหน่งของ XX และ ZZ errors ให้ circuit ที่เทียบเท่า ให้ชัดเจนว่า XX และ ZZ ไม่ commute แต่ anti-commute:

XZ=(0110)(1001)=(0110)=(1001)(0110)=ZX.XZ = \begin{pmatrix} 0 & 1\\[1mm] 1 & 0 \end{pmatrix} \begin{pmatrix} 1 & 0\\[1mm] 0 & -1 \end{pmatrix} = \begin{pmatrix} 0 & -1\\[1mm] 1 & 0 \end{pmatrix} = - \begin{pmatrix} 1 & 0\\[1mm] 0 & -1 \end{pmatrix} \begin{pmatrix} 0 & 1\\[1mm] 1 & 0 \end{pmatrix} = -ZX.

ซึ่งหมายความว่า circuit ต่อไปนี้เทียบเท่ากับ circuit ข้างต้นยกเว้นตัวคูณ global phase เป็น 1-1

ZX error สำหรับ 9-qubit Shor code

ตอนนี้เราสามารถย้าย ZZ error เหมือนก่อนหน้าเพื่อให้ได้ circuit ที่เทียบเท่าอีกอัน

ZX error สำหรับ 9-qubit Shor code

ณ จุดนี้ชัดเจนว่าถ้าขั้นตอนตรวจจับและแก้ไข XX errors ดำเนินการก่อน XX error จะถูกแก้ไข หลังจากนั้นขั้นตอนตรวจจับและแก้ไข ZZ errors สามารถดำเนินการเพื่อกำจัด ZZ error ได้เหมือนก่อน

หรือขั้นตอนตรวจจับและแก้ไข ZZ errors สามารถดำเนินการก่อน ข้อเท็จจริงที่ว่าขั้นตอนนี้ทำงานตามที่คาดหวังแม้ในกรณีที่มี XX errors หนึ่งอันขึ้นไป มาจากข้อเท็จจริงที่ว่า XX gates บน Qubit ใด ๆ ในเก้าตัวที่ใช้สำหรับการเข้ารหัส commute กับ gate ทั้งหมดใน simplified circuit ของเราสำหรับการวัดซินโดรมสำหรับ ZZ errors ดังนั้น syndrome measurement นี้จะยังคงระบุได้อย่างถูกต้องว่าบล็อกใดได้รับผลกระทบจาก ZZ error ข้อเท็จจริงที่ว่า ZZ error บนบล็อกใด ๆ ถูกแก้ไขโดยการใช้ ZZ gate กับ Qubit ใด ๆ ของบล็อกนั้น แม้ว่าจะเกิด XX error ด้วย มาจากข้อโต้แย้งเดิมข้างต้นเกี่ยวกับการเรียงลำดับของ XX และ ZZ gates ที่ให้ circuits ที่เทียบเท่ายกเว้น global phase

ดังนั้น 9-qubit Shor code สามารถแก้ XX error, ZZ error หรือทั้งสอง บน Qubit ใด ๆ ในเก้าตัวที่ใช้สำหรับ code นี้ จริง ๆ แล้ว เราสามารถแก้ข้อผิดพลาดได้มากกว่านั้น รวมถึง XX errors หลายอัน (ตราบใดที่อยู่ในบล็อกต่างกัน) หรือ ZZ errors หลายอัน (ตราบใดที่ไม่เกินหนึ่งบล็อกมีจำนวนคี่ของ errors) — แต่ต่อไปนี้ สิ่งที่เกี่ยวข้องมากที่สุดสำหรับวัตถุประสงค์ของบทเรียนนี้คือเราสามารถแก้ XX error, ZZ error หรือทั้งสองบน Qubit ใด ๆ ได้

การลดข้อผิดพลาดสำหรับข้อผิดพลาดแบบสุ่ม

ก่อนที่เราจะไปยังส่วนสุดท้ายของบทเรียน ซึ่งเกี่ยวกับข้อผิดพลาดควอนตัมแบบสุ่ม ลองพิจารณาประสิทธิภาพของ 9-qubit Shor code อย่างย่อ เมื่อข้อผิดพลาดที่แทนด้วย Pauli matrices เกิดขึ้น แบบสุ่ม บน Qubit

ให้เป็นรูปธรรมยิ่งขึ้น พิจารณา noise model ง่าย ๆ ที่ข้อผิดพลาดเกิดขึ้น อย่างอิสระ บน Qubit โดยแต่ละ Qubit ประสบข้อผิดพลาดด้วยความน่าจะเป็น pp และไม่มีความสัมพันธ์ระหว่างข้อผิดพลาดบน Qubit ต่าง ๆ — ในแนวทางเดียวกับ binary symmetric channel สำหรับบิตคลาสสิก เราสามารถกำหนดความน่าจะเป็นที่แตกต่างกันสำหรับ X,X, Y,Y, และ ZZ errors แต่เพื่อให้ง่ายที่สุด เราจะพิจารณากรณีที่เลวร้ายที่สุดสำหรับ 9-qubit Shor code ซึ่งคือ YY error เกิดขึ้นบนแต่ละ Qubit ที่ได้รับผลกระทบ YY error อย่างไรก็ตาม เทียบเท่า (ยกเว้นตัวคูณ global phase ที่ไม่เกี่ยวข้อง) กับทั้ง XX และ ZZ error ที่เกิดขึ้นบน Qubit เดียวกัน เนื่องจาก Y=iXZY = iXZ สิ่งนี้อธิบายการที่เราดูเหมือนไม่สนใจ YY errors จนถึงจุดนี้

ตอนนี้ สมมติว่า Q\mathsf{Q} เป็น Qubit ในสถานะหนึ่งที่เราต้องการป้องกันจากข้อผิดพลาด เราสามารถพิจารณาตัวเลือกในการใช้ 9-qubit Shor code คำถามที่เป็นธรรมชาติที่จะถามคือ "เราควรใช้หรือไม่?"

คำตอบไม่จำเป็นต้องเป็น "ใช่" ถ้ามีสัญญาณรบกวนมากเกินไป หมายความในบริบทนี้ว่า pp ใหญ่เกินไป การใช้ Shor code อาจทำให้แย่ลง — เช่นเดียวกับ 3-bit repetition code ที่แย่กว่าไม่มี code เมื่อ pp มากกว่าหนึ่งในสอง แต่ถ้า pp เล็กพอ คำตอบคือ "ใช่" เราควรใช้ code เพราะมันจะลดความน่าจะเป็นที่สถานะที่เข้ารหัสจะเสียหาย ลองดูว่าทำไมถึงเป็นเช่นนี้ และอะไรหมายความว่า pp ใหญ่เกินไปหรือเล็กพอสำหรับ code นี้

Shor code แก้ข้อผิดพลาด Pauli ใด ๆ บน Qubit เดียว รวมถึง YY error แน่นอน แต่ไม่แก้ YY errors สองอันขึ้นไปอย่างถูกต้อง ให้ชัดเจนว่า เราสมมติว่าเราใช้การแก้ไข XX และ ZZ errors ที่อธิบายไว้ก่อนหน้าในส่วนนี้ (แน่นอน ถ้าเราทราบล่วงหน้าว่าต้องกังวลเฉพาะ YY errors เราจะเลือกการแก้ไขแตกต่างออกไปตามธรรมชาติ — แต่นั่นเป็นการโกง noise model และเราจะสามารถเปลี่ยน model ได้เสมอโดยเลือก Pauli errors ต่าง ๆ เพื่อทำให้การเลือกการแก้ไขใหม่นี้ล้มเหลวเมื่อ Qubit สองตัวขึ้นไปได้รับผลกระทบจากข้อผิดพลาด)

ดังนั้น code ป้องกัน Q\mathsf{Q} ตราบใดที่ไม่เกินหนึ่ง Qubit ในเก้าตัวได้รับผลกระทบจากข้อผิดพลาด ซึ่งเกิดขึ้นด้วยความน่าจะเป็น

(1p)9+9p(1p)8.(1-p)^9 + 9 p (1-p)^8.

มิฉะนั้น ด้วยความน่าจะเป็น

1(1p)99p(1p)8,1 - (1-p)^9 - 9 p (1-p)^8,

code จะล้มเหลวในการป้องกัน Q\mathsf{Q}

โดยเฉพาะอย่างยิ่ง สิ่งที่หมายความในบริบทนี้คือ ยกเว้น global phase การดำเนินการ Pauli ที่ไม่ใช่ identity จะถูกใช้กับ Qubit Q\mathsf{Q} (เป็น logical qubit) กล่าวคือ ถ้าตรวจจับและแก้ไข XX และ ZZ errors สำหรับ Shor code ตามที่อธิบายไว้ก่อนหน้าในบทเรียน เราจะเหลือการเข้ารหัสของสถานะที่เทียบเท่า ยกเว้น global phase กับการเข้ารหัสของการดำเนินการ Pauli ที่ไม่ใช่ identity ที่ใช้กับสถานะเดิมของ Q\mathsf{Q} วิธีกระชับกว่าในการพูดสิ่งนี้คือ logical error จะเกิดขึ้น ซึ่งอาจมีผลต่อสถานะเดิมของ Q\mathsf{Q} หรือไม่ก็ได้ — หรือกล่าวอีกนัยหนึ่ง logical qubit ที่เราเข้ารหัสด้วย physical qubits เก้าตัว — แต่เพื่อวัตถุประสงค์ของการวิเคราะห์นี้ เราถือว่าเหตุการณ์นี้หมายถึงความล้มเหลว

ในทางกลับกัน ถ้าเราไม่ใช้ code Qubit เดียวของเราก็จะประสบชะตากรรมที่คล้ายกัน (ถูกใช้การดำเนินการ Pauli ที่ไม่ใช่ identity) ด้วยความน่าจะเป็น pp Code ช่วยเมื่อความน่าจะเป็นแรกน้อยกว่าความน่าจะเป็นที่สอง:

1(1p)99p(1p)8<p.1 - (1-p)^9 - 9 p (1-p)^8 < p.

นี่คือกราฟที่แสดงสำหรับค่า pp ที่น้อยมาก ๆ ว่า code ให้ความได้เปรียบ โดยจุดคุ้มทุนอยู่ที่ประมาณ 0.03230.0323

กราฟความน่าจะเป็นข้อผิดพลาดสำหรับ independent Y errors โดยใช้ Shor code

ถ้า pp น้อยกว่าจุดคุ้มทุนนี้ code ช่วย; ที่จุดคุ้มทุนความน่าจะเป็นเท่ากัน ดังนั้นเราเสียเวลาและ Qubit เพิ่มเติมอีก 8 ตัวเปล่า ๆ ถ้าใช้ code; และเลยจุดคุ้มทุนเราไม่ควรใช้ code นี้เลยเพราะมัน เพิ่ม โอกาสเกิด logical error บน Q\mathsf{Q}

ประมาณสามและหนึ่งในสี่เปอร์เซ็นต์อาจไม่ดูเหมือนจุดคุ้มทุนที่ดีมากนัก โดยเฉพาะเมื่อเทียบกับ 50%50\% ซึ่งเป็นจุดคุ้มทุนที่คล้ายกันสำหรับ 3-bit repetition code สำหรับสารสนเทศคลาสสิก ความแตกต่างนี้ส่วนใหญ่เป็นเพราะสารสนเทศควอนตัมละเอียดอ่อนและป้องกันได้ยากกว่าสารสนเทศคลาสสิก แต่ยัง — แม้ว่าจะยอมรับว่า 9-qubit Shor code เป็นการค้นพบที่ยอดเยี่ยมในฐานะ quantum error correcting code แรกของโลก — ควรยอมรับว่ามันไม่ใช่ code ที่ดีมากในแง่ปฏิบัติ

Source: IBM Quantum docs — updated 15 ม.ค. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569