Pauli propagation
แพ็กเกจ pauli-prop มอบอินเทอร์เฟซ Python ที่เร่งความเร็วด้วย Rust สำหรับทำ Pauli propagation
Pauli propagation เป็นกรอบการทำงานสำหรับประมาณวิวัฒนาการของตัวดำเนินการในฐาน Pauli ภายใต้การกระทำของตัวดำเนินการอื่น เช่น เกตของควอนตัมเซอร์กิตและช่องสัญญาณรบกวน แนวทางนี้อาจได้ผลดีเมื่อคาดว่าตัวดำเนินการที่เกี่ยวข้องจะยังคงเบาบางในฐาน Pauli
รูทีนย่อยในแพ็กเกจนี้สามารถใช้สร้างเทคนิคการลดทอนข้อผิดพลาด เช่น lightcone shading [6] และ propagated noise absorption [7], operator backpropagation [8] เพื่อลดความลึกของเซอร์กิต และการจำลองค่าคาดหมายแบบคลาสสิก [1-5]
เริ่มต้นใช้งาน
มีคู่มือง่าย ๆ ที่ช่วยให้คุณเริ่มต้นใช้แพ็กเกจนี้ได้อย่างรวดเร็วใน quickstart guide
ตัวอย่างกรณีการใช้งาน
Pauli propagation สามารถใช้เป็นเอนจินระดับล่างเพื่อสร้างเทคนิคหลากหลายแบบ ตัวอย่างบางส่วนที่เคยนำไปใช้ได้แก่:
-
Lightcone shading เพื่อลดโอเวอร์เฮดการสุ่มตัวอย่างของ probabilistic error cancellation (PEC) สำหรับลดทอนข้อผิดพลาดของค่าคาดหมายในโมเดล Ising สนามตามขวาง 1 และ 2 มิติ [6] [
qiskit-addon-slcdocs] -
การดูดซับข้อมูลโมเดลสัญญาณรบกวนเข้าไปในออบเซอร์เวเบิลเป้าหมายเพื่อลดทอนข้อผิดพลาดของค่าคาดหมายในโมเดล Ising สนามตามขวาง 2 มิติ [7] [
qiskit-addon-pnadocs] -
การตัดเกตท้ายเซอร์กิตเพื่อสร้างเซอร์กิต Trotter ที่มีความลึกต่ำลงสำหรับวิวัฒนาการเชิงเวลาของโมเดลสปิน 2 มิติ [8] [
qiskit-addon-obpdocs]
การอภิปรายทางเทคนิค
รายละเอียดซอฟต์แวร์
-
อินเทอร์เฟซ Python ที่เร่งความเร็วด้วย Rust
-
รองรับการจำลองที่มีสัญญาณรบกวน [guide]
-
สามารถตัดพจน์ระหว่างวิวัฒนาการตามค่าความคลาดเคลื่อนสัมประสิทธิ์สัมบูรณ์ จำนวนพจน์คงที่ในตัวดำเนินการที่กำลังวิวัฒน์ หรือทั้งสองอย่างร่วมกัน
-
สามารถทำ Pauli propagation ได้ทั้งในกรอบ Schrödinger และ Heisenberg
-
เทคนิคใหม่สำหรับประมาณการคอนจูเกชันของตัวดำเนินการแบบผลรวม Pauli ด้วยตัวดำเนินการ Pauli อีกตัว การทำงานเชิงฮิวริสติกนี้สร้างส่วนร่วมต่อผลคูณที่คาดว่าจะมีนัยสำคัญที่สุดแบบละโมบ ดูรายละเอียดเพิ่มเติมได้ที่ภาคผนวก B ของ [7]
-
เธรดเดียว
ความต้องการด้านการคำนวณ
ทั้งต้นทุนหน่วยความจำและเวลาของรูทีน Pauli propagation โดยทั่วไปจะเพิ่มตามขนาดที่ตัวดำเนินการที่วิวัฒน์ได้รับอนุญาตให้เติบโตถึง
propagate_through_rotation_gates(): เมื่อตัวดำเนินการ Pauli ถูกแพร็อพาเกตในฐาน Pauli ภายใต้การกระทำของลำดับเกตหมุน Pauli จำนวน เกตของเซอร์กิต ควอนตัมบิต จำนวนพจน์จะเพิ่มขึ้นตาม ไปสู่ค่าสูงสุด องค์ประกอบ Pauli ที่ไม่ซ้ำกัน เพื่อควบคุมการใช้หน่วยความจำ ตัวดำเนินการจะถูกตัดทอนหลังใช้เกตแต่ละเกต ซึ่งทำให้เกิดความคลาดเคลื่อนที่เป็นสัดส่วนกับขนาดของสัมประสิทธิ์ของพจน์ที่ถูกตัด ความต้องการหน่วยความจำเป็นเชิงเส้นตามขนาดของตัวดำเนินการที่วิวัฒน์ และเวลาทำงานเพิ่มเชิงเส้นทั้งตามขนาดตัวดำเนินการและจำนวนเกต
propagate_through_operator(): คอนจูเกตตัวดำเนินการหนึ่งในฐาน Pauli ด้วยอีกตัวหนึ่งโดยสะสมพจน์ในผลรวม แบบละโมบ โดยที่ เป็นดัชนีแบบเบาบางบนฐาน Pauli การทำงานนี้เรียงสัมประสิทธิ์ในตัวดำเนินการแต่ละตัวตามขนาดจากมากไปน้อย แล้วค้นหาในปริภูมิดัชนี 3 มิติเพื่อหาพจน์ที่มีสัมประสิทธิ์ใหญ่ที่สุด โดยเริ่มจากจุดกำเนิด และสะสมไตรเพลต จนถึงค่าตัดที่กำหนด เวลาที่ใช้ค้นหามักทำให้เล็กน้อยได้โดยเพิ่มขนาดก้าวการค้นหาในปริภูมิ ซึ่งให้การเร่งความเร็วระดับกำลังสามสำหรับรูทีนย่อยนี้ จากการทำโปรไฟล์ของเรา อาจต้องใช้เวลามากไปกับการเรียงลำดับตัวดำเนินการและการคูณ Pauli เพื่อสร้างพจน์ในตัวดำเนินการใหม่
การมีส่วนร่วม
ซอร์สโค้ดมีให้ใช้งานบน GitHub
คู่มือนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรูทของรีโพซิทอรีของโปรเจกต์นี้ การเข้าร่วมถือว่าคุณจะปฏิบัติตามจรรยาบรรณของ Qiskit
เราใช้ GitHub issues เพื่อติดตามคำขอและบั๊ก
การอ้างอิงแพ็กเกจนี้
หากคุณใช้แพ็กเกจนี้ในงานวิจัย ให้ใช้ไฟล์ CITATION.bib ในรีโพซิทอรีของโปรเจกต์นี้เพื่ออ้างอิงเอกสารที่เหมาะสม
สัญญาอนุญาต
นโยบายการเลิกใช้
เราปฏิบัติตามsemantic versioning บางครั้งเราอาจทำการเปลี่ยนแปลงที่ไม่เข้ากันกับของเดิมเพื่อปรับปรุงประสบการณ์ผู้ใช้ เมื่อเป็นไปได้ เราจะเก็บอินเทอร์เฟซเดิมไว้และทำเครื่องหมายว่าเลิกใช้ ตราบเท่าที่ยังอยู่ร่วมกับอินเทอร์เฟซใหม่ได้ การปรับปรุงที่สำคัญ การเปลี่ยนแปลงที่ไม่เข้ากันกับของเดิม หรือการเลิกใช้ทุกครั้งจะถูกบันทึกไว้ในrelease notes
เอกสารอ้างอิง
-
[Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, Fast and converged classical simulations of evidence for the utility of quantum computing before fault tolerance, arXiv:2308.05077 [quant-ph].
-
Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].
-
Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].
-
Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].
-
Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].
-
Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].
-
Andrew Eddins, et al., Computing noise-canceling observables via Pauli propagation, arXiv:2606.20441 [quant-ph].
8 Bryce Fuller, et al., Improved Quantum Computation using Operator Backpropagation, arXiv:2502.01897 [quant-ph].