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

الانتقال من Qiskit Pulse إلى البوابات الكسرية

مع إطلاق البوابات الكسرية، تم إيقاف التحكم على مستوى النبضات في جميع معالجات IBM Quantum® وسيُزال هذا الدعم في مطلع عام 2025. إضافةً إلى ذلك، تم إيقاف وحدة qiskit.pulse اعتبارًا من إصدار Qiskit SDK v1.3.0 وستُحذف في إصدار Qiskit SDK v2.0.0. جاء هذا التغيير نتيجةً لتركيزنا المستمر على التجارب بالحجم المفيد ودعم المستخدمين الذين يستكشفون تطبيقات قد تُفضي إلى التفوق الكمي.

تنفيذ دورات كيوبت واحد وكيوبتين مباشرةً باستخدام البوابات الكسرية

كان أكثر استخدامات التحكم على مستوى النبضات شيوعًا هو بناء جداول نبضات مخصصة تُعدِّل نبضات ECR أو RX لتنفيذ دورات كيوبت واحد وكيوبتين مباشرةً. كانت العملية المعتادة تستلزم استخدام RXCalibrationBuilder وRZXCalibrationBuilder (أو RZXCalibrationBuilderNoEcho)، وإضافة تعليمة RXGate أو RZXGate إلى target الخاص بوحدة المعالجة الكمية، ثم بناء خط أنابيب للترجمة يحتوي على تمريرات منشئ المعايرة لضبط دورات كيوبت واحد وكيوبتين عند زاوية محددة. في الخلفية، كان هذا يُنشئ معايَرة، وهي خريطة بين ScheduleBlock وبوابة في QuantumCircuit.

يمكنك الآن تحقيق ذلك على معالجات Heron باستخدام العَلَم الجديد use_fractional_gates. كما هو موضح في دليل البوابات الكسرية، يجب تحميل كلٍّ من RX(θ)R_X(\theta) وRZZ(θ)R_ZZ(\theta) باستخدام هذا العَلَم، الذي يُعيد خلفيةً تحتوي سمة Target الخاصة بها على معلومات عن هذه البوابات.

service = QiskitRuntimeService()
backend = service.backend('ibm_torino', use_fractional_gates=True)

استخدام Qiskit Dynamics

احتوت وحدة qiskit.pulse على وظائف أكثر بكثير من مجرد تنفيذ دورات كيوبت واحد وكيوبتين بكفاءة أعلى. يمكن نمذجة كثير من التحكم في فيزياء الجهاز باستخدام حزمة Qiskit Dynamics الموجودة في نظام Qiskit البيئي. على وجه الخصوص، تمتلك الحزمة تمثيلها المماثل للعديد من الميزات التي كانت توفرها qiskit.pulse في شكل وحدة qiskit_dynamics.signals. يتضمن توثيق هذه الحزمة بعض البرامج التعليمية التي قد تكون مفيدة: