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

מבוא לאפשרויות

ניתן להעביר אפשרויות ל-primitives כדי להתאים אותם לצרכים שלך. סעיף זה מתמקד באפשרויות ה-primitives של Qiskit Runtime. בעוד שממשק מתודת run() של ה-primitives משותף לכל המימושים, האפשרויות שלהם אינן זהות. עיין בהפניות ה-API המתאימות למידע על אפשרויות qiskit.primitives ו-qiskit_aer.primitives.

סקירה כללית

מבנה

בעת קריאה ל-primitives, ניתן להעביר אפשרויות באמצעות מחלקת אפשרויות או מילון. אפשרויות נפוצות, כגון resilience_level, נמצאות ברמה הראשונה. אפשרויות אחרות מקובצות לקטגוריות שונות, כגון execution. ראה את הסעיף הגדרת אפשרויות primitive לפרטים מלאים.

ברירות מחדל

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

הטבלאות בסעיף סיכום מחלקות האפשרויות מפרטות את ערכי ברירת המחדל.

הגדרת אפשרויות

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

סיכום מחלקות האפשרויות

  • Dynamical decoupling: אפשרויות לניתוק דינמי.
  • Environment: אפשרויות סביבת ריצה, כגון רמת הלוגינג להגדרה ותגי משימה להוספה.
  • Execution: אפשרויות ריצה של ה-primitive, כולל אם לאתחל Qubits ועיכוב החזרה.
  • Resilience: אפשרויות מתקדמות להגדרת שיטות הפחתת שגיאות כגון הפחתת שגיאות מדידה, ZNE ו-PEC.
  • Simulator: אפשרויות סימולטור, כגון שערי הבסיס, זרע הסימולטור ומפת הצימוד. חל על מצב בדיקה מקומי בלבד.
  • Twirling: אפשרויות twirling, כגון אם להחיל twirling על שערים דו-Qubit ומספר הצילומים לביצוע עבור כל דגימה אקראית.

אפשרויות זמינות

הטבלה הבאה מתעדת אפשרויות מהגרסה האחרונה של qiskit-ibm-runtime. כדי לראות גרסאות אפשרויות ישנות יותר, בקר ב-qiskit-ibm-runtime API reference ובחר גרסה קודמת.

default_shots

המספר הכולל של צילומים לשימוש לכל Circuit לכל תצורה.

אפשרויות: מספר שלם >= 0

ברירת מחדל: None

תיעוד API של default_shots

default_precision

הדיוק הברירת מחדל לשימוש עבור כל PUB או קריאה ל-run() שאינה מציינת אחד.

אפשרויות: מספר עשרוני > 0

ברירת מחדל: 0.015625 (1 / sqrt(4096))

תיעוד API של default_precision

dynamical_decoupling

שליטה בהגדרות הפחתת שגיאות של ניתוק דינמי.

תיעוד API של dynamical_decoupling

dynamical_decoupling.enable

אפשרויות: True, False

ברירת מחדל: False

dynamical_decoupling.extra_slack_distribution

אפשרויות: middle, edges

ברירת מחדל: middle

dynamical_decoupling.scheduling_method

Choices: asap, alap Default: alap

dynamical_decoupling.sequence_type

Choices: XX, XpXm, XY4 Default: XX

dynamical_decoupling.skip_reset_qubits

Choices: True, False Default: False

environment

תיעוד API של environment

environment.callback

פונקציה callable שמקבלת את Job ID ואת Job result.

אפשרויות: None

ברירת מחדל: None

environment.job_tags

רשימת תגים.

אפשרויות: None

ברירת מחדל: None

environment.log_level

אפשרויות: DEBUG, INFO, WARNING, ERROR, CRITICAL

ברירת מחדל: WARNING

environment.private

אפשרויות: True, False

ברירת מחדל: False

execution

תיעוד API של execution

execution.init_qubits

האם לאפס את ה-Qubits למצב הבסיס עבור כל צילום.

אפשרויות: True, False

ברירת מחדל: True

execution.rep_delay

העיכוב בין מדידה ל-Circuit הקוונטי שאחריה.

אפשרויות: ערך בטווח שמסופק על ידי backend.rep_delay_range

ברירת מחדל: ניתן על ידי backend.default_rep_delay

max_execution_time

אפשרויות: מספר שלם של שניות בטווח [1, 10800]

ברירת מחדל: 10800 (3 שעות)

תיעוד API של max_execution_time

resilience

אפשרויות resilience מתקדמות לכוונון עדין של אסטרטגיית ה-resilience.

תיעוד API של resilience

resilience.layer_noise_learning

אפשרויות ללמידת רעש שכבות.

תיעוד API של resilience.layer_noise_learning

resilience.layer_noise_learning.layer_pair_depths

אפשרויות: list[int] של 2-10 ערכים בטווח [0, 200]

ברירת מחדל: (0, 1, 2, 4, 16, 32)

resilience.layer_noise_learning.max_layers_to_learn

אפשרויות: None, מספר שלם >= 1

ברירת מחדל: 4

resilience.layer_noise_learning.num_randomizations

אפשרויות: מספר שלם >= 1

ברירת מחדל: 32

resilience.layer_noise_learning.shots_per_randomization

אפשרויות: מספר שלם >= 1

ברירת מחדל: 128

resilience.layer_noise_model

אפשרויות: NoiseLearnerResult, Sequence[LayerError]

ברירת מחדל: None

resilience.measure_mitigation

אפשרויות: True, False

ברירת מחדל: True

resilience.measure_noise_learning

אפשרויות ללמידת רעש מדידה.

תיעוד API של resilience.measure_noise_learning

resilience.measure_noise_learning.num_randomizations

אפשרויות: מספר שלם >= 1

ברירת מחדל: 32

resilience.measure_noise_learning.shots_per_randomization

אפשרויות: מספר שלם, auto

ברירת מחדל: auto

resilience.pec_mitigation

אפשרויות: True, False

ברירת מחדל: False

resilience.pec

אפשרויות הפחתת שגיאות ביטול שגיאות הסתברותי.

תיעוד API של resilience.pec

resilience.pec.max_overhead

אפשרויות: None, מספר שלם >= 1

ברירת מחדל: 100

resilience.pec.noise_gain

אפשרויות: auto, מספר עשרוני בטווח [0, 1]

ברירת מחדל: auto

resilience.zne_mitigation

אפשרויות: True, False

ברירת מחדל: False

resilience.zne

resilience.zne.amplifier

אפשרויות: gate_folding, gate_folding_front, gate_folding_back, pea

ברירת מחדל: gate_folding

resilience.zne.extrapolated_noise_factors

אפשרויות: רשימת מספרים עשרוניים

ברירת מחדל: [0, *noise_factors]

resilience.zne.extrapolator

אפשרויות: אחד או יותר מבין: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback

ברירת מחדל: (exponential, linear)

resilience.zne.noise_factors

אפשרויות: רשימת מספרים עשרוניים; כל מספר עשרוני >= 1

ברירת מחדל: (1, 1.5, 2) עבור PEA, ו-(1, 3, 5) אחרת

resilience_level

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

אפשרויות: 0, 1, 2

ברירת מחדל: 1

תיעוד API של resilience_level

seed_estimator

אפשרויות: מספר שלם

ברירת מחדל: None

seed_estimator

simulator

אפשרויות להעברה בעת סימולציה של Backend

תיעוד API של simulator

simulator.basis_gates

אפשרויות: רשימת שמות שערי בסיס לפיתוח אליהם

ברירת מחדל: קבוצת כל שערי הבסיס הנתמכים על ידי סימולטור Qiskit Aer

simulator.coupling_map

אפשרויות: רשימת אינטראקציות מכוונות דו-Qubit

ברירת מחדל: None, מה שמרמז על ללא אילוצי קישוריות (קישוריות מלאה).

simulator.noise_model

אפשרויות: Qiskit Aer NoiseModel, או הייצוג שלו

ברירת מחדל: None

simulator.seed_simulator

אפשרויות: מספר שלם

ברירת מחדל: None

twirling

אפשרויות Twirling

תיעוד API של twirling

twirling.enable_gates

אפשרויות: True, False

ברירת מחדל: False

twirling.enable_measure

אפשרויות: True, False

ברירת מחדל: True

twirling.num_randomizations

אפשרויות: auto, מספר שלם >= 1

ברירת מחדל: auto

twirling.shots_per_randomization

אפשרויות: auto, מספר שלם >= 1

ברירת מחדל: auto

twirling.strategy

אפשרויות: active, active-circuit, active-accum, all

ברירת מחדל: active-accum

experimental

אפשרויות ניסיוניות, כאשר זמינות.

תאימות תכונות

בגלל הבדלים בתהליך הקומפילציה של המכשיר, תכונות runtime מסוימות אינן יכולות לשמש יחד במשימה אחת. לחץ על הכרטיסייה המתאימה לקבלת רשימת התכונות שאינן תואמות לתכונה הנבחרת:

אינו תואם עם:

  • ZNE מבוסס קיפול שערים
  • PEA
  • PEC
  • ניתוק דינמי

הערות נוספות:

  • ניתן להשתמש עם gate twirling עבור שערים לא-מותנים.
  • תואם עם שערים פרקציוניים בשימוש ב-qiskit-ibm-runtime גרסה v0.42.0 ואילך.

השלבים הבאים

המלצות