انتقل إلى المحتوى الرئيسي

مقدمة إلى الخيارات

يمكنك تمرير خيارات إلى الأدوات البدائية لتخصيصها وفق احتياجاتك. يركّز هذا القسم على خيارات أدوات Qiskit Runtime البدائية. على الرغم من أن واجهة طريقة run()‎ مشتركة بين جميع التطبيقات، إلا أن خياراتها تختلف. راجع مراجع API المقابلة للاطلاع على معلومات حول خيارات qiskit.primitives وqiskit_aer.primitives.

نظرة عامة

البنية

عند استدعاء الأدوات البدائية، يمكنك تمرير الخيارات إما عبر فئة خيارات أو قاموس (dictionary). الخيارات الأكثر استخداماً، مثل resilience_level، تكون في المستوى الأول. أما الخيارات الأخرى فتُجمَّع في فئات مختلفة، كفئة execution. راجع قسم تعيين خيارات الأداة البدائية للاطلاع على التفاصيل الكاملة.

القيم الافتراضية

إن لم تحدّد قيمةً لأحد الخيارات، يُعطى قيمة خاصة هي Unset وتُستخدم القيمة الافتراضية للخادم. وبهذا تظل القيمة الافتراضية ثابتة بصرف النظر عن إصدار الكود الذي تستخدمه.

تسرد جداول قسم ملخص فئات الخيارات القيم الافتراضية.

تعيين الخيارات

يمكن تعريف الخيارات قبل إنشاء الأداة البدائية وتمريرها إليها، وستقوم الأداة بإنشاء نسخة منها. يمكن إجراء ذلك إما كقاموس متداخل أو باستخدام فئات الخيارات. علاوةً على ذلك، يمكن تغيير خيارات الأداة البدائية بعد إنشائها. استخدم الأسلوب الأنسب لتطبيقك. راجع تحديد الخيارات للتفاصيل الكاملة.

ملخص فئات الخيارات

الخيارات المتاحة

يوثّق الجدول التالي الخيارات من أحدث إصدار من qiskit-ibm-runtime. للاطلاع على إصدارات الخيارات الأقدم، تفضّل بزيارة مرجع API لـ qiskit-ibm-runtime واختر إصداراً سابقاً.

default_shots

إجمالي عدد اللقطات المراد استخدامها لكل Circuit ولكل تهيئة.

الخيارات: عدد صحيح >= 0

الافتراضي: None

default_shots توثيق API

default_precision

الدقة الافتراضية المراد استخدامها لأي PUB أو استدعاء run()‎ لا يحدّد دقةً.

الخيارات: عدد عشري > 0

الافتراضي: 0.015625 (1 / sqrt(4096))

default_precision توثيق API

dynamical_decoupling

التحكم في إعدادات تخفيف الأخطاء عبر الفصل الديناميكي.

dynamical_decoupling توثيق API

dynamical_decoupling.enable

الخيارات: True, False

الافتراضي: False

dynamical_decoupling.extra_slack_distribution

الخيارات: middle, edges

الافتراضي: middle

dynamical_decoupling.scheduling_method

الخيارات: asap, alap الافتراضي: alap

dynamical_decoupling.sequence_type

الخيارات: XX, XpXm, XY4 الافتراضي: XX

dynamical_decoupling.skip_reset_qubits

الخيارات: True, False الافتراضي: False

environment

environment توثيق API

environment.callback

دالة قابلة للاستدعاء تستقبل 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

execution توثيق API

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 ساعات)

max_execution_time توثيق API

resilience

خيارات مرونة متقدمة لضبط استراتيجية المرونة بدقة.

resilience توثيق API

resilience.layer_noise_learning

خيارات تعلّم ضوضاء الطبقة.

resilience.layer_noise_learning توثيق API

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

خيارات تعلّم ضوضاء القياس.

resilience.measure_noise_learning توثيق API

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

خيارات تخفيف الأخطاء باستخدام الإلغاء الاحتمالي للأخطاء (PEC).

resilience.pec توثيق API

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

الخيارات: قائمة من الأعداد العشرية (floats)

الافتراضي: [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

الخيارات: عدد صحيح (Integer)

الافتراضي: None

seed_estimator

simulator

خيارات تُمرَّر عند محاكاة Backend.

توثيق API لـ simulator

simulator.basis_gates

الخيارات: قائمة بأسماء البوابات الأساسية (basis gates) المراد التحويل إليها

الافتراضي: مجموعة جميع البوابات الأساسية التي يدعمها محاكي Qiskit Aer

simulator.coupling_map

الخيارات: قائمة من التفاعلات الثنائية الموجَّهة بين الكيوبتات (two-qubit interactions)

الافتراضي: None، مما يعني عدم وجود قيود على الاتصال (اتصال كامل).

simulator.noise_model

الخيارات: Qiskit Aer NoiseModel، أو تمثيله

الافتراضي: None

simulator.seed_simulator

الخيارات: عدد صحيح (Integer)

الافتراضي: 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 معًا في مهمة واحدة. انقر على التبويب المناسب للاطلاع على قائمة الميزات غير المتوافقة مع الميزة المحددة:

غير متوافقة مع:

  • Gate-folding ZNE
  • PEA
  • PEC
  • الفصل الديناميكي

ملاحظات أخرى:

  • يمكن استخدامها مع Gate twirling للبوابات غير الشرطية.
  • متوافقة مع الأبواب الكسرية عند استخدام qiskit-ibm-runtime v0.42.0 أو أحدث.

الخطوات التالية

توصيات