Pauli propagation
החבילה pauli-prop מספקת ממשק Python מואץ ב-Rust לביצוע Pauli propagation.
Pauli propagation היא מסגרת לקירוב ההתפתחות של אופרטורים בבסיס Pauli תחת פעולה של אופרטורים אחרים, כמו שערי מעגל קוונטי וערוצי רעש. הגישה הזאת יכולה להיות יעילה כשצפוי שהאופרטורים המעורבים יישארו דלילים בבסיס Pauli.
אפשר להשתמש בשגרות של החבילה הזאת כדי לממש טכניקות להפחתת שגיאות כמו lightcone shading [6] ו-propagated noise absorption [7], operator backpropagation [8] להפחתת עומק המעגל, וסימולציה קלאסית של ערכי תצפית [1-5].
איך מתחילים
מדריך פשוט שעוזר להתחיל במהירות עם החבילה הזאת זמין ב-מדריך ההתחלה המהירה.
דוגמאות לשימוש
אפשר להשתמש ב-Pauli propagation כמנוע ברמה נמוכה יותר כדי לממש מגוון טכניקות. כמה דוגמאות לשימושים שלו:
-
Lightcone shading להפחתת תקורת הדגימה של probabilistic error cancellation (PEC) להפחתת שגיאות בערכי תצפית במודל Ising עם שדה רוחבי חד-ממדי ודו-ממדי [6] [
qiskit-addon-slcתיעוד] -
הטמעת מידע על מודל הרעש באובזרבבל היעד כדי להפחית שגיאות בערכי תצפית במודל Ising דו-ממדי עם שדה רוחבי [7] [
qiskit-addon-pnaתיעוד] -
קיצוץ שערים בסוף המעגל כדי לייצר מעגלי Trotter בעומק נמוך יותר להתפתחות בזמן של מודל ספינים דו-ממדי [8] [
qiskit-addon-obpתיעוד]
דיון טכני
פרטי התוכנה
-
ממשק Python מואץ ב-Rust
-
תמיכה בסימולציות רועשות [מדריך]
-
היכולת לקטוע איברים במהלך ההתפתחות לפי סף מוחלט של מקדם, מספר קבוע של איברים באופרטור המתפתח, או שילוב של השניים
-
היכולת לבצע Pauli propagation גם במסגרת Schrödinger וגם במסגרת Heisenberg
-
טכניקה חדשנית לקירוב הצמדה של אופרטור שהוא סכום Pauli על ידי אופרטור Pauli אחר. המימוש ההיוריסטי הזה מייצר בשיטה חמדנית את התרומות למכפלה שצפוי שיהיו המשמעותיות ביותר. למידע נוסף ראו נספח B ב-[7].
-
חד-תהליכוני (single-threaded)
דרישות חישוב
גם עלות הזיכרון וגם עלות הזמן של שגרות Pauli propagation גדלות בדרך כלל עם הגודל שאליו מותר לאופרטור המתפתח לגדול.
propagate_through_rotation_gates(): כשאופרטור Pauli מקודם בבסיס Pauli תחת פעולה של סדרה של שערי סיבוב Pauli במעגל של qubit, מספר האיברים יגדל כ- לעבר מקסימום של רכיבי Pauli ייחודיים. כדי לשלוט בשימוש בזיכרון, האופרטור נקטע אחרי הפעלת כל שער, מה שמכניס שגיאה מסוימת שפרופורציונלית לגודל המקדמים של האיברים שנקטעו. דרישות הזיכרון לינאריות בגודל האופרטור המתפתח, וזמן הריצה גדל באופן לינארי גם בגודל האופרטור וגם במספר השערים.
propagate_through_operator(): מבצע הצמדה של אופרטור אחד בבסיס Pauli על ידי אופרטור אחר, באמצעות צבירה חמדנית של איברים בסכום , כאשר הם אינדקסים דלילים על פני בסיס Pauli. המימוש הזה ממיין את המקדמים בכל אופרטור לפי גודל יורד ואז מחפש במרחב האינדקסים התלת-ממדי את האיברים עם המקדמים הגדולים ביותר, מתחיל מהראשית , וצובר שלשות עד סף מוגדר. אפשר לרוב להפוך את זמן החיפוש לזניח על ידי הגדלת גודל צעד החיפוש במרחב , מה שנותן האצה מעוקבת לשגרה הזאת. בפרופיילינג שלנו, זמן משמעותי יכול להיות מושקע במיון האופרטורים ובביצוע כפל Pauli כדי לייצר את האיברים באופרטור החדש.
תרומה לפרויקט
קוד המקור זמין ב-GitHub.
מדריך המפתחים נמצא ב-CONTRIBUTING.md בשורש המאגר של הפרויקט. בהשתתפות בפרויקט אתם מתחייבים לשמור על קוד ההתנהגות של Qiskit.
אנחנו משתמשים ב-GitHub issues כדי לעקוב אחרי בקשות ובאגים.
ציטוט החבילה
אם אתם משתמשים בחבילה הזאת במחקר שלכם, השתמשו בקובץ CITATION.bib שבמאגר של הפרויקט כדי לצטט את ההפניות המתאימות.
רישיון
מדיניות הוצאה משימוש
אנחנו עוקבים אחרי semantic versioning. לפעמים אנחנו עשויים לבצע שינויים שוברים כדי לשפר את חוויית המשתמש. כשאפשר, נשמור ממשקים ישנים ונסמן אותם כמוצאים משימוש, כל עוד הם יכולים לדור בכפיפה אחת עם החדשים. כל שיפור משמעותי, שינוי שובר או הוצאה משימוש יתועדו ב-הערות הגרסה.
הפניות
-
[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].