ข้ามไปยังเนื้อหาหลัก
โครงการนี้อยู่ในช่วงเบต้า พบข้อผิดพลาด? สร้าง GitHub Issue มีคำถามหรือไอเดีย? ถามใน Discussions — ยินดีรับฟังความคิดเห็น!
คุณภาพการแปลในหน้านี้เป็นอย่างไร?

Dressed box

กลไก noise ทางกายภาพที่เกิดขึ้นระหว่างการรัน quantum circuit ขึ้นอยู่กับบริบท เมื่อใช้งานการดำเนินการบนชุดของ qubit ที่ไม่ซ้อนทับกันพร้อมกัน noise profile ของการดำเนินการโดยรวมอาจต่างจาก noise profile ของส่วนประกอบแต่ละส่วนหากใช้แยกกัน ในทำนองเดียวกัน สำหรับการดำเนินการที่ในอุดมคติสลับที่กันได้บน qubit เดียวกัน noise profile ของแต่ละการดำเนินการอาจไม่สลับที่กัน และอาจแตกต่างไปโดยสิ้นเชิงหากลำดับการดำเนินการเปลี่ยนไป ดังนั้น โปรโตคอลสำหรับการลด การบรรเทา และการแก้ไข noise จึงต้องรู้บริบทที่ noise นั้นเกิดขึ้น

Samplomatic ใช้คำสั่ง box เพื่อให้เหตุผลเกี่ยวกับกลุ่มของการดำเนินการใน circuit ที่ควรถือว่ามีบริบท noise ที่เสถียร และใช้ annotation บน box เพื่อให้ผู้ใช้ประกาศและกำหนดค่าเจตนานั้น ทุก box คือขอบเขตที่เป็นเจ้าของชุดของ qubit การดำเนินการที่กระทำกับ qubit เหล่านั้น และรายการของ annotation โดย annotation ของ Samplomatic ระบุ directive และ dressing Directive ระบุว่าจะทำอะไรกับ box เช่น twirl box นั้น ส่วน dressing คือกลุ่มของ gate แบบพารามิเตอร์ที่จะเพิ่มทางด้านซ้ายหรือขวาของ box เช่น ชั้นของ gate แบบ single qubit โดย gate ใน dressing รวม gate จาก box และการดำเนินการที่จำเป็นต่อการทำให้ directive เกิดผล เช่นต่อไปนี้

  • Gate ใน box ที่เข้ากันได้และอยู่ด้านเดียวกับ gate แบบพารามิเตอร์

  • Twirling gate ที่สุ่มจากเซตเพื่อทำให้ box เป็นแบบสุ่ม

  • Noise injection gate ที่สุ่มจาก Pauli Lindblad map

  • Gate เปลี่ยน basis ที่ผู้ใช้กำหนดเอง

โปรดทราบว่า directive สามารถเปลี่ยนแปลง dressing ของ box อื่นได้

ตัวอย่าง​

สมมติว่าเราต้องการ twirl circuit ต่อไปนี้ โดยเพิ่ม Pauli gate แบบสุ่มก่อนและหลัง entangling gate ที่ทำงานขนานกัน ซึ่งไม่เปลี่ยนเนื้อหาเชิงตรรกะของ circuit แต่เปลี่ยน noise model ที่มีผลจริง

../_images/undressed_pauli.drawio.png

Circuit ที่จะทำ Pauli twirl

ทำได้โดยแบ่ง circuit เป็น box เป็นชั้น ๆ และเพิ่ม annotation สำหรับ twirl

../_images/dressed_pauli_twirl.drawio.png

Circuit ที่มี directive สำหรับ Pauli twirling สัญลักษณ์ @ ใช้ระบุ directive โดยค่าเริ่มต้น dressing จะอยู่ทางซ้าย

แต่ละ dressed box ประกอบด้วยชั้นของ gate แบบ single-qubit และชั้นของ gate แบบ two-qubit entangling บนคู่ของ qubit ที่ไม่ซ้อนทับกัน ชั้นของ entangling gate ถูกล้อมด้วยชั้นของ Pauli gate แบบสุ่มในลักษณะที่การกระทำเชิงตรรกะของ box ไม่เปลี่ยนแปลง ชั้น Pauli แบบสุ่มเหล่านี้เป็นแบบ virtual เช่นเดียวกับ virtual Z gate คือไม่เพิ่มการดำเนินการให้กับ circuit แต่ทำหน้าที่เป็น directive เพื่อเปลี่ยนวิธีที่ gate แบบ single-qubit ที่อยู่ติดกันถูกนำไปใช้

../_images/pauli_twirl.drawio.png

Circuit ที่มี dressing และ gate จาก directive Dressing คือ box เส้นประ ชั้น Pauli ที่เชื่อมด้วยลูกศรจะหักล้างกัน ชั้น Pauli สุดท้ายจะถูกนำไปใช้เป็น bit flip กับผลลัพธ์การวัด

ชั้น Pauli แบบสุ่มระหว่าง entangling gate กับ gate แบบ single-qubit จะถูกรวมเข้ากับชั้นของ gate แบบ single-qubit และถูกนำไปใช้ใน dressing ของมัน ส่วนชั้น Pauli แบบสุ่มอีกชั้นจะถูกรวมเข้ากับ dressing ของ dressed box ถัดไป

โดยสรุป directive แบบ twirl ซ้าย (หรือขวา) จะนำ Pauli แบบสุ่มไปใช้ใน dressing ของ box นี้ และนำ Pauli ที่ย้อนกลับมันไปใช้ใน dressing ของ box ถัดไป (หรือก่อนหน้า) ส่วน directive แบบ inject noise และเปลี่ยน basis ก็ทำงานในลักษณะเดียวกัน

การทำ circuit randomization ด้วย virtual gate​

Samplomatic ใช้กรอบแนวคิดของ virtual gate เพื่อให้เหตุผลเกี่ยวกับ circuit ที่มี dressed box ในเชิงแนวคิด และตามที่ implement ในอินสแตนซ์ Samplex ที่สร้างจากกระบวนการ build() virtual gate จะถูกสร้างที่ขอบของ box ฝั่งตรงข้ามกับ dressing Virtual gate เหล่านี้จะถูกเลื่อนผ่าน circuit ในแบบที่กำหนดไว้ และต้องถูกรวมเข้ากับ dressing ถ้า virtual gate ทั้งหมดสามารถรวมเข้ากับ dressing ได้ ก็สามารถสร้าง randomization ของ circuit ได้ตามขั้นตอน

../_images/dressed_box.drawio.png

Circuit ที่มี directive แบบ twirl, เปลี่ยน basis และ inject noise

Gate ที่อยู่ฝั่งของ dressing ซึ่งเข้ากันได้กับ template parametrization ของ dressing สามารถถูกรวมเข้าไปได้ ทำให้จำนวน gate จริงลดลง gate เหล่านี้เรียกว่า gate แบบ easy ส่วนที่เหลือของ box เรียกว่า hard และถูกนำไปใช้ตามเดิม

../_images/dressed_box_uncollected.drawio.png

ตัวอย่างของ circuit ที่มี virtual gate ค้างอยู่ Virtual gate ที่อยู่ฝั่งตรงข้ามของ dressing ไม่มีที่ให้นำไปใช้

../_images/dressed_box_collected.drawio.png

ตัวอย่างของ circuit ที่ virtual gate ทั้งหมดถูกรวมเข้ากับ dressing การวัดจะรวม Pauli gate เข้าไปโดยคำนึงถึง bit flip ที่มันก่อให้เกิด

../_images/dressed_box_mixed_collect.drawio.png

ตัวอย่างที่ซับซ้อนซึ่ง virtual gate ทั้งหมดถูกรวบรวม Virtual gate ที่สร้างโดย box หนึ่งสามารถถูกรวมเข้ากับ dressing ที่ต่างกันได้

ซึ่งทำให้สร้างโครงสร้างที่ dressed box ไม่จำเป็นต้องมีความกว้างเท่ากันได้