ในการจำลองการปรับปรุงวงจร Stabilizerโดย Aaronson และ Gottesman นั้นจะอธิบายวิธีการคำนวณตารางที่อธิบายผลิตภัณฑ์ Pauli tensor ซึ่ง X และ Z ที่สังเกตได้ของแต่ละ qubit ได้รับการจับคู่กับวงจร Clifford
นี่คือตัวอย่างวงจร Clifford:
0: -------@-----------X---
| |
1: ---@---|---@---@---@---
| | | |
2: ---|---|---@---|-------
| | |
3: ---@---@-------Y-------
และตารางอธิบายว่ามันทำหน้าที่อย่างไรกับ X และ Z ที่สามารถสังเกตได้ของแต่ละ qubit:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ X_ __ Z_ |
| 1 | ZZ YZ Z_ ZZ |
| 2 | __ Z_ XZ __ |
| 3 | Z_ X_ __ XZ |
+------+---------------------+-
| sign | ++ ++ ++ ++ |
+------+---------------------+-
แต่ละคอลัมน์ของตารางอธิบายถึงวิธีการที่วงจรทำงานบน X ที่สังเกตได้ (ครึ่งซ้ายของคอลัมน์) และ Z ที่สังเกตได้ (ครึ่งขวาของคอลัมน์) ของแต่ละ qubit ตัวอย่างเช่นด้านซ้ายของคอลัมน์ 3 คือ Z, Z, _, X หมายถึงการดำเนินการ X3 (Pauli X บน qubit 3) ที่ด้านขวามือของวงจรเทียบเท่ากับการดำเนินการ Z1 * Z2 * X4 ที่มือซ้าย ด้านข้างของวงจร แถว 'sign' หมายถึงสัญลักษณ์ของผลิตภัณฑ์ซึ่งเป็นสิ่งสำคัญหากคุณกำลังจะทำการจำลองการวัด (มันจะบอกคุณว่าจะกลับผลหรือไม่)
คุณสามารถคำนวณตารางสำหรับการผกผันของวงจร ในกรณีตัวอย่างที่ฉันได้รับตารางผกผันคือ:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ Y_ __ Z_ |
| 1 | _Z YZ Z_ _Z |
| 2 | __ Z_ XZ __ |
| 3 | Z_ Y_ __ XZ |
+------+---------------------+-
| sign | ++ -+ ++ ++ |
+------+---------------------+-
ตารางมีลักษณะเกือบจะเหมือนกันหากคุณเปลี่ยนแถวและคอลัมน์ แต่รายการไม่เหมือนกันทั้งหมด นอกจากการแปลงคุณจะต้องเข้ารหัสตัวอักษรเป็นบิต ( _
= 00, X
= 01, Z
= 10, Y
= 11) จากนั้นสลับบิตกลางแล้วถอดรหัส ตัวอย่างเช่น ZZ เข้ารหัสเป็น 1,010 ซึ่งแลกเปลี่ยนเป็น 1100 ซึ่งถอดรหัสเป็น Y_
คำถามที่ฉันมีคือ: นอกจากนี้ยังมีกฎง่ายๆสำหรับการคำนวณสัญญาณของตารางผกผัน?
ขณะนี้ฉันกำลังย้อนกลับตารางเหล่านี้โดยแยกพวกมันออกเป็นวงจรกลับหัวกลับหางจากนั้นคูณมันกลับเข้าด้วยกัน มันไม่มีประสิทธิภาพมากเมื่อเทียบกับ transpose + replace แต่ถ้าฉันจะใช้ transpose + replace ฉันต้องมีกฎการลงชื่อ