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

נוסחאות מרובות-מכפלה (MPF)

Package versions

The code on this page was developed using the following requirements. We recommend using these versions or newer.

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

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

התקנת חבילת MPF

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

התקנה מ-PyPI

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

pip install qiskit-addon-mpf

בנייה מהמקור

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

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

ולהתקין את החבילה דרך pip. המאגר מכיל גם מספר תלויות אופציונליות המאפשרות תכונות מסוימות.

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

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

רקע תיאורטי

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

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

כאשר xjx_j הם מקדמי המשקל, ρjkj\rho_j^{k_j} הוא מטריצת הצפיפות המתאימה למצב הטהור המתקבל על ידי אבולוציה של המצב ההתחלתי דרך נוסחת מכפלה SkjS^{k_j} המקרבת את אופרטור האבולוציה בזמן עם kjk_j צעדי טרוטר, ו-jj מאנדקס כל נוסחת מכפלה שבה נעשה שימוש בסכום.

Several circuits with a varying number of Trotter steps are used to compute the target observable

באופן כללי, המטרה של סימולציה של דינמיקה קוונטית היא למדוד אובסרבבל כלשהו O(t)\mathcal{O}(t), שהוא פונקציה של הזמן. כאשר משתמשים ב-MPF, מספר Circuit-ים --- כל אחד משתמש ב-kjk_j צעדי טרוטר --- מורצים כדי להשיג מדידות רבות של האובסרבבל היעד Okj(t)\mathcal{O}_{k_j}(t). מדידת האובסרבבל היעד מתקבלת לאחר מכן על ידי חישוב:

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

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

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

קביעת מקדמי MPF

הפונקציונליות המרכזית של חבילת qiskit-addon-mpf טמונה בקביעת מקדמי ה-MPF xj(t)x_j(t) (שעשויים להיות תלויי זמן). התהליך להשגת כל xj(t)x_j(t) כרוך בפתרון מערכת משוואות ליניאריות Ax=bAx=b שבה xx הוא וקטור המקדמים לקביעה, AA הוא מטריצה התלויה בכל kjk_j ובנוסחת המכפלה שנעשה בה שימוש SS (כלומר, סדר הקירוב ומספר צעדי טרוטר), ו-bb הוא וקטור אילוצים. מערכת משוואות זו ניתן לפתור או באופן מדויק או עם מודל קירוב שממזער את ה-1-נורמה של המקדמים. בנוסף, הבחירה של כל kjk_j היא תהליך היוריסטי, אך ניתן לחסום אותה על ידי האילוצים הבאים:

  1. ערך kjk_j הגדול ביותר מוגבל על ידי עומק ה-Circuit הגבוה ביותר שניתן להריץ בצורה אמינה
  2. ה-kjk_j הקטן ביותר צריך לקיים dt=t/kj<1dt = t/k_j < 1 שכן שם שגיאת טרוטר מתנהגת בצורה הטובה ביותר
  3. אף אחד מהמקדמים xjx_j לא צריך להיות קרוב ל-00 שכן זה מרמז שהם לא תורמים הרבה ל-MPF
  4. כמו כן, המקדם המשויך לערך kjk_j הגדול ביותר לא צריך לשלוט, שכן זה מרמז שמשתמשים בנוסחת מכפלה בודדת
  5. לבסוף, הנורמה של המקדמים xjx_j שהתקבלו צריכה להיות קטנה, שכן זה מצביע על MPF מותנה היטב 1

השלבים הבאים

Recommendations

מקורות

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].