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

Operator backpropagation

แพ็กเกจนี้ implement operator backpropagation (OBP) เพื่อลดความลึกของ circuit ในการคำนวณค่าคาดหมาย (expectation value) เทคนิคนี้ส่ง observable ย้อนกลับผ่าน gate ที่ท้าย quantum circuit ทำให้ circuit ตื้นลงโดยแลกกับฐานการวัด observable ที่เพิ่มขึ้น เมื่อ backpropagate operator ผ่าน circuit ไปไกลขึ้น ขนาดของ observable จะโตแบบเอกซ์โปเนนเชียล ส่งผลให้เกิดภาระทรัพยากรทั้งฝั่งคลาสสิกและควอนตัม อย่างไรก็ตาม สำหรับบาง circuit การกระจายตัวของ Pauli observable ที่ได้จะกระจุกตัวกว่าการโตแบบเอกซ์โปเนนเชียลในกรณีที่แย่ที่สุด หมายความว่าบางเทอมใน Hamiltonian ที่มีสัมประสิทธิ์น้อยสามารถตัดทิ้งเพื่อลดภาระฝั่งควอนตัมได้ ค่าความคลาดเคลื่อนที่เกิดจากการทำเช่นนี้ควบคุมได้ เพื่อหาจุดสมดุลที่เหมาะสมระหว่างความแม่นยำกับประสิทธิภาพ

operator backpropagation ทำได้หลายวิธี แพ็กเกจนี้ใช้วิธีที่อิงทฤษฎีการรบกวนแบบ Clifford (Clifford perturbation theory) ซึ่งมีข้อดีคือภาระที่เกิดจากการ backpropagate gate แต่ละตัวถูกกำหนดโดยความไม่เป็น Clifford ของ gate นั้น ทำให้มีประสิทธิภาพสูงขึ้นสำหรับ circuit บางตระกูลเมื่อเทียบกับวิธี OBP ที่อิง tensor network ซึ่งปัจจุบันยังมีภาระฝั่งคลาสสิกสูง แม้ในกรณีที่ภาระฝั่งควอนตัมยังควบคุมได้

แพ็กเกจนี้เหมาะสำหรับการประมาณค่าคาดหมายของ quantum circuit ทั่วไปและ Pauli observable อย่างไรก็ตาม สำหรับ circuit ที่มี magic สูง (ไม่เป็น Clifford มาก) ค่าความคลาดเคลื่อนของ observable ที่เกิดจากการตัดทอนมีแนวโน้มสูงจนใช้ไม่ได้ก่อนที่ observable จะถูกส่งผ่านส่วนที่มีนัยสำคัญของ circuit สำหรับ circuit ที่ใกล้เคียง Clifford อาจส่งผ่านได้ลึกกว่ามากโดยยังคงขอบเขตความคลาดเคลื่อนค่อนข้างเล็ก

เริ่มต้นใช้งาน​

คู่มืออย่างง่ายที่ช่วยให้คุณเริ่มใช้แพ็กเกจนี้ได้อย่างรวดเร็วอยู่ใน คู่มือเริ่มต้นอย่างรวดเร็ว

ตัวอย่างกรณีการใช้งาน​

เทคนิคนี้ถูกใช้ implement Trotter circuit ที่ลึกน้อยลงสำหรับการวิวัฒน์ตามเวลาของโมเดลสปิน 2 มิติ [1]

การอภิปรายเชิงเทคนิค​

  • จุดเริ่มต้นเดียว: ฟังก์ชัน backpropagate ทำ OBP

  • ตัวควบคุมอิสระสองตัวสำหรับการแลกเปลี่ยนระหว่างความลึกกับความแม่นยำ:

    • OperatorBudget จำกัดว่า observable โตได้ใหญ่แค่ไหนระหว่าง backpropagation

    • TruncationErrorBudget จำกัดว่าเกิดความคลาดเคลื่อนได้มากแค่ไหนระหว่าง backpropagation

  • ประสิทธิผลขึ้นอยู่กับว่า circuit เป็น Clifford มากเพียงใด: สำหรับ circuit ที่มี magic สูง (คือไม่เป็น Clifford มาก) เทอมที่เพิ่มเข้าใน observable มักมีสัมประสิทธิ์ใหญ่กว่า จึงเกิดความคลาดเคลื่อนจากการตัดทอนเร็วขึ้น ทำให้ประหยัดความลึกได้จำกัดภายใต้งบความคลาดเคลื่อนคงที่ circuit ที่ใกล้เคียง Clifford ตัดทอนได้เข้มข้นกว่าและ backpropagate ได้ลึกกว่าภายใต้งบเดียวกัน

  • ตรวจสอบภายในได้เต็มที่: การรันแต่ละครั้งคืนอ็อบเจกต์ OBPMetadata ที่บันทึกจำนวน Pauli ต่อ slice จำนวนกลุ่ม QWC และความคลาดเคลื่อนจากการตัดทอนสะสม พร้อมตัวช่วย plot_* เพื่อแสดงภาพการเติบโตของ operator และความคลาดเคลื่อนเทียบกับความลึกของ circuit ซึ่งมีประโยชน์สำหรับปรับงบก่อนใช้เวลา QPU จริง

การมีส่วนร่วม​

คู่มือนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรากของ repository ของโปรเจกต์นี้ เมื่อเข้าร่วม คุณควรยึดถือ code of conduct ของ Qiskit

เราใช้ GitHub issues เพื่อติดตามคำขอและบั๊ก

การอ้างอิงแพ็กเกจนี้​

หากคุณใช้แพ็กเกจนี้ในงานวิจัย ให้ใช้ไฟล์ CITATION.bib ใน repository ของโปรเจกต์นี้เพื่ออ้างอิงเอกสารที่เหมาะสม

ใบอนุญาต​

Apache License 2.0

นโยบายการเลิกใช้ (Deprecation)​

แพ็กเกจนี้ใช้ semantic versioning บางครั้งเราอาจทำการเปลี่ยนแปลงที่ไม่เข้ากันกับของเดิมเพื่อปรับปรุงประสบการณ์ผู้ใช้ เมื่อเป็นไปได้ เราจะคงอินเทอร์เฟซเก่าไว้และทำเครื่องหมายว่า deprecated ตราบเท่าที่ยังอยู่ร่วมกับอินเทอร์เฟซใหม่ได้ การปรับปรุงที่สำคัญ การเปลี่ยนแปลงที่ไม่เข้ากัน หรือการเลิกใช้แต่ละครั้งจะถูกบันทึกไว้ใน release notes

เอกสารอ้างอิง​

    1. Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]