דלג לתוכן הראשי

הפצה לאחור של אופרטורים (OBP)

הפצה לאחור של אופרטורים (OBP) היא טכניקה להפחתת עומק Circuit על ידי גזירת פעולות מסופו במחיר של מדידות אופרטורים נוספות. ישנן מספר דרכים לבצע הפצה לאחור של אופרטורים, וחבילה זו משתמשת בשיטה המבוססת על תורת ההפרעות של קליפורד [1].

ככל שמפיצים אופרטור יותר דרך Circuit, גודל האובסרבבל למדידה גדל בצורה אקספוננציאלית. הדבר גורם לעומס משאבים קלאסיים וקוונטיים כאחד. עם זאת, עבור חלק מה-Circuit-ים, ההתפלגות של איברי פאולי הנוספים מרוכזת יותר מהגרוע ביותר של הגדילה האקספוננציאלית. משמעות הדבר היא שחלק מהאיברים באובסרבבל עם מקדמים קטנים ניתן לחתוך מהמדידות הסופיות המשמשות לשחזור OO מבלי לגרום לשגיאה גדולה. השגיאה שנגרמת על ידי כך ניתן לשלוט בה כדי למצוא איזון מתאים בין דיוק ויעילות.

התקנה

ניתן להתקין את חבילת OBP באחת משתי דרכים: דרך PyPI או בנייה מהמקור. שקול להתקין חבילות אלה בסביבה וירטואלית virtual environment כדי להבטיח הפרדה בין תלויות חבילות.

התקנה מ-PyPI

הדרך הפשוטה ביותר להתקין את חבילת qiskit-addon-obp היא דרך PyPI.

pip install qiskit-addon-obp

בנייה מהמקור

משתמשים המעוניינים לתרום לחבילה זו או להתקין אותה ידנית יכולים לעשות זאת על ידי שכפול המאגר תחילה:

git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_

ולהתקין את החבילה דרך `pip`. המאגר מכיל גם מחברות לדוגמה. אם אתה מתכנן לפתח במאגר, התקן את תלויות `dev`.

התאם את האפשרויות לצרכיך:

```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'

רקע תיאורטי

נוהל OBP המיושם בחבילה זו מתואר בפירוט ב-[1]. כאשר משתמשים ב-Estimator primitive, הפלט של עומס עבודה קוונטי הוא אומדן של ערך ציפייה אחד או יותר O\langle O \rangle ביחס למצב שהוכן באמצעות QPU. סעיף זה מסכם את הנוהל.

ראשית, התחל על ידי כתיבת מדידת ערך הציפייה של האובסרבבל OO במונחים של מצב התחלתי כלשהו ψ|\psi\rangle ו-Circuit קוונטי UQU_Q:

OUψ=ψUOUψ.\langle O \rangle_{U|\psi\rangle} = \langle\psi | U^\dagger O U |\psi \rangle.

כדי לחלק בעיה זו בין משאבים קלאסיים וקוונטיים, פצל את ה-Circuit UU לשני Circuit-ים משניים, UCU_C ו-UQU_Q, סמלץ קלאסית את ה-Circuit UCU_C, לאחר מכן הרץ את ה-Circuit UQU_Q על חומרת קוונטום והשתמש בתוצאות הסימולציה הקלאסית לשחזור מדידת האובסרבבל OO.

OBP diagram depicting splitting a circuit into two subcircuits, classically computing one of the subcircuits, then measuring the other circuit using quantum hardware

ה-Circuit המשני UCU_C צריך להיבחר כך שיהיה ניתן לסימולציה קלאסית ויחשב את ערך הציפייה

OUCOUC,\langle O' \rangle \equiv U_C^\dagger O U_C,

שהיא הגרסה של האופרטור ההתחלתי OO שעבר אבולוציה דרך ה-Circuit UCU_C. ברגע ש-OO' נקבע, עומס העבודה הקוונטי מוכן כאשר המצב ψ|\psi\rangle מאותחל, מוחל עליו ה-Circuit UQU_Q, ולאחר מכן מודד את ערך הציפייה OO'. ניתן להראות שזה שקול למדידת O\langle O \rangle על ידי כתיבה:

ψUQOUQψ=ψUQUCOUCUQψ=ψUOUψ=OUψ \langle \psi | U_Q^\dagger O' U_Q \psi \rangle = \langle \psi | U_Q^\dagger U_C^\dagger O U_CU_Q \psi \rangle = \langle\psi | U^\dagger O U |\psi \rangle = \langle O \rangle_{U|\psi\rangle}

לבסוף, כדי למדוד את ערך הציפייה O\langle O' \rangle, עלינו לדרוש שיהיה ניתן לפרקו לסכום של מחרוזות פאולי

O=PcPP,O' = \sum_P c_P P,

כאשר cPc_P הם מקדמים ממשיים של הפירוק ו-PP היא מחרוזת פאולי כלשהי המורכבת מאופרטורים II, XX, YY ו-ZZ. זה מבטיח שתוכל לשחזר את ערך הציפייה של OO על ידי

ψUQOψ=PcPψUQPUQψ.\langle \psi | U_Q^\dagger O' |\psi \rangle = \sum_P c_P \langle \psi | U_Q^\dagger P U_Q | \psi \rangle.

חיתוך איברים

תכנית זו מציעה איזון בין עומק ה-Circuit הנדרש של UQU_Q, מספר הרצות ה-Circuit על חומרת קוונטום, וכמות משאבי המחשוב הקלאסי הנדרשים לחישוב OO'. באופן כללי, ככל שבוחרים להפיץ לאחור יותר דרך Circuit, מספר מחרוזות הפאולי למדידה וכן עומס הפחתת שגיאות גדלים באופן אקספוננציאלי (לצד המשאבים הקלאסיים הנדרשים לסימולציה של UCU_C).

למרבה המזל, פירוק OO' יכול לעתים קרובות להכיל מקדמים שקטנים למדי וניתן לחתוך אותם מהמדידות הסופיות המשמשות לשחזור OO מבלי לגרום לשגיאה רבה. חבילת qiskit-addon-obp מכילה פונקציונליות לציון תקציב שגיאה, שיכולה לחפש אוטומטית איברים הניתנים לחיתוך, בתוך סבילות שגיאה מסוימת.

תורת ההפרעות של קליפורד

לבסוף, חבילת qiskit-addon-obp מתקרבת להפצה לאחור של אופרטורים על בסיס תורת ההפרעות של קליפורד. לשיטה זו יש את היתרון שהעומס שנגרם מהפצת Gate-ים שונים לאחור מתרחב עם אי-הקליפורד-יות של UCU_C (כלומר, כמה מ-UCU_C מורכב מהוראות שאינן קליפורד).

גישה זו ל-OBP מתחילה בפיצול ה-Circuit המסומלץ UCU_C ל-פרוסות:

UC=s=1SUs=US...U2U1,U_C = \prod_{s=1}^S \mathcal{U}_s = \mathcal{U}_S...\mathcal{U}_2\mathcal{U}_1,

כאשר SS מייצג את מספר הפרוסות הכולל ו-Us\mathcal{U}_s מציין פרוסה בודדת של ה-Circuit UCU_C. כל אחת מהפרוסות הללו מוחלת לאחר מכן בסדר אנליטי למדידת האופרטור המופץ לאחור OO' ועשויה או לא לתרום לגודל הכולל של הסכום, בהתאם לשאלה אם הפרוסה היא פעולת קליפורד או לא. אם מוקצה תקציב שגיאה, חיתוך יתבצע בין החלת כל פרוסה.

השלבים הבאים

Recommendations

מקורות

[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).