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

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-slc docs]

  • การดูดซับข้อมูลโมเดลสัญญาณรบกวนเข้าไปในออบเซอร์เวเบิลเป้าหมายเพื่อลดทอนข้อผิดพลาดของค่าคาดหมายในโมเดล Ising สนามตามขวาง 2 มิติ [7] [qiskit-addon-pna docs]

  • การตัดเกตท้ายเซอร์กิตเพื่อสร้างเซอร์กิต Trotter ที่มีความลึกต่ำลงสำหรับวิวัฒนาการเชิงเวลาของโมเดลสปิน 2 มิติ [8] [qiskit-addon-obp docs]

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

รายละเอียดซอฟต์แวร์​

  • อินเทอร์เฟซ Python ที่เร่งความเร็วด้วย Rust

  • รองรับการจำลองที่มีสัญญาณรบกวน [guide]

  • สามารถตัดพจน์ระหว่างวิวัฒนาการตามค่าความคลาดเคลื่อนสัมประสิทธิ์สัมบูรณ์ จำนวนพจน์คงที่ในตัวดำเนินการที่กำลังวิวัฒน์ หรือทั้งสองอย่างร่วมกัน

  • สามารถทำ Pauli propagation ได้ทั้งในกรอบ Schrödinger และ Heisenberg

  • เทคนิคใหม่สำหรับประมาณการคอนจูเกชันของตัวดำเนินการแบบผลรวม Pauli ด้วยตัวดำเนินการ Pauli อีกตัว การทำงานเชิงฮิวริสติกนี้สร้างส่วนร่วมต่อผลคูณที่คาดว่าจะมีนัยสำคัญที่สุดแบบละโมบ ดูรายละเอียดเพิ่มเติมได้ที่ภาคผนวก B ของ [7]

  • เธรดเดียว

ความต้องการด้านการคำนวณ​

ทั้งต้นทุนหน่วยความจำและเวลาของรูทีน Pauli propagation โดยทั่วไปจะเพิ่มตามขนาดที่ตัวดำเนินการที่วิวัฒน์ได้รับอนุญาตให้เติบโตถึง

propagate_through_rotation_gates(): เมื่อตัวดำเนินการ Pauli ถูกแพร็อพาเกตในฐาน Pauli ภายใต้การกระทำของลำดับเกตหมุน Pauli จำนวน NN เกตของเซอร์กิต MM ควอนตัมบิต จำนวนพจน์จะเพิ่มขึ้นตาม O(2N)\mathcal{O}(2^N) ไปสู่ค่าสูงสุด 4M4^M องค์ประกอบ Pauli ที่ไม่ซ้ำกัน เพื่อควบคุมการใช้หน่วยความจำ ตัวดำเนินการจะถูกตัดทอนหลังใช้เกตแต่ละเกต ซึ่งทำให้เกิดความคลาดเคลื่อนที่เป็นสัดส่วนกับขนาดของสัมประสิทธิ์ของพจน์ที่ถูกตัด ความต้องการหน่วยความจำเป็นเชิงเส้นตามขนาดของตัวดำเนินการที่วิวัฒน์ และเวลาทำงานเพิ่มเชิงเส้นทั้งตามขนาดตัวดำเนินการและจำนวนเกต

propagate_through_operator(): คอนจูเกตตัวดำเนินการหนึ่งในฐาน Pauli ด้วยอีกตัวหนึ่งโดยสะสมพจน์ในผลรวม ∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k แบบละโมบ โดยที่ i,j,ki,j,k เป็นดัชนีแบบเบาบางบนฐาน Pauli การทำงานนี้เรียงสัมประสิทธิ์ในตัวดำเนินการแต่ละตัวตามขนาดจากมากไปน้อย แล้วค้นหาในปริภูมิดัชนี 3 มิติเพื่อหาพจน์ที่มีสัมประสิทธิ์ใหญ่ที่สุด โดยเริ่มจากจุดกำเนิด (0,0,0)(0,0,0) และสะสมไตรเพลต (i,j,k)(i,j,k) จนถึงค่าตัดที่กำหนด เวลาที่ใช้ค้นหามักทำให้เล็กน้อยได้โดยเพิ่มขนาดก้าวการค้นหาในปริภูมิ (i,j,k)(i,j,k) ซึ่งให้การเร่งความเร็วระดับกำลังสามสำหรับรูทีนย่อยนี้ จากการทำโปรไฟล์ของเรา อาจต้องใช้เวลามากไปกับการเรียงลำดับตัวดำเนินการและการคูณ Pauli เพื่อสร้างพจน์ในตัวดำเนินการใหม่

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

ซอร์สโค้ดมีให้ใช้งานบน GitHub

คู่มือนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรูทของรีโพซิทอรีของโปรเจกต์นี้ การเข้าร่วมถือว่าคุณจะปฏิบัติตามจรรยาบรรณของ Qiskit

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

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

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

สัญญาอนุญาต​

Apache License 2.0

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

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

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

  1. [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].

  2. Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].

  5. Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].

  7. 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].