انتقل إلى المحتوى الرئيسي
هذا المشروع في مرحلة تجريبية. وجدت خطأ؟ افتح مشكلة على GitHub. لديك سؤال أو فكرة؟ اسأل في Discussions — نحب سماع ملاحظاتك!
كيف جودة الترجمة في هذه الصفحة؟

Qiskit Paulice

qiskit-paulice حزمة لتضمين فحوصات باولي فعّالة من ناحية العتاد في دوائر Clifford عشوائية على أي توصيلية كيوبتات باستخدام شيفرات مثبّتات زمكانية. يمكن استخدام هذه الفحوصات لاكتشاف الأخطاء المنطقية أثناء تنفيذ الدائرة. الإبقاء فقط على العينات التي لم تُكتشف فيها أخطاء يمكن أن يحسّن دقة الحالات المأخوذة من معالج كمّي، على حساب بعض الكيوبتات المساعدة وزيادة في كلفة أخذ العينات. هذه الطريقة مناسبة بشكل خاص للعتاد القريب المدى لأن كلفتها في الكيوبتات والبوابات أخف بكثير مقارنةً بالحوسبة الكمّية المقاومة للأخطاء، بينما كلفة أخذ العينات فيها أفضل من طرق تخفيف الأخطاء مثل ZNE أو PEC [1].

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

البدء​

يتوفر دليل بسيط يساعدك على البدء بسرعة مع هذه الحزمة في دليل البداية السريعة.

أمثلة على حالات الاستخدام​

استُخدمت هذه التقنية لتحسين دقة العينات من دوائر يغلب عليها طابع Clifford باستخدام 97 كيوبتاً فيزيائياً لترميز 2415 بوابة تشابك منطقية عبر 70 كيوبتاً منطقياً [2].

نقاش تقني​

إيجاد مجموعات جيدة من فحوصات باولي الزمكانية​

Quantum circuit cartoon

تكون مجموعة فحوصات باولي الزمكانية «جيدة» إذا كان كل فحص صالحاً ومنخفض الوزن وفعّالاً.

يتكوّن الفحص من عدد من دورانات باولي المتحكَّم بها، PP، موضوعة على بعض الأسلاك في الدائرة، ww: {(P1,w1),...,(Pk,wk)}\{(P_1,w_1), ..., (P_k,w_k)\}. في فحص معيّن، تقع عناصر التحكم على كيوبت مساعد واحد، وتجري الدورانات على أسلاك كيوبت هدف واحد. بالنسبة إلى دوائر Clifford، يكون الفحص صالحاً إذا كان حاصل ضربه المنتشر عكسياً مثبّتاً للحالة التي تُحضّرها الدائرة المثالية: ∏iB(Pi,wi)∈S\prod_{i}B(P_i,w_i) \in S، حيث B(P,w)B(P,w) هو المنتشِر العكسي لـ PP من ww إلى بداية الدائرة، وSS هي مجموعة كل مثبّتات الدائرة.

يكون الفحص منخفض الوزن إذا كان تنفيذه يتطلب عدداً قليلاً من بوابات التشابك. ستفضّل خوارزمية اختيار الفحوصات الفحوصات منخفضة الوزن التي توفر أفضل اكتشاف للأخطاء.

يكون الفحص فعّالاً إذا كان يلتقط أخطاءً أكثر بكثير مما يُدخله. يتكوّن فحص باولي من عدد من بوابات التشابك، وبالتالي يُدخل بعض ضوضاء البوابات الإضافية في الحساب. من المهم التأكد من أن كل فحص إضافي يضيف قدرة إضافية على اكتشاف الأخطاء. يمكن تقريب فعالية مجموعة من الفحوصات بتركيب أخطاء باولي التي تكشفها الفحوصات في قناة ضوضاء بعد الانتقاء (postselected) وحساب أثرها. يُعدّ تقليل كلفة أخذ العينات اللازمة لتنفيذ قناة الضوضاء العكسية غير المكتشَفة قاعدة تقريبية قوية لاختيار الفحوصات الجيدة، لأنها تعطي مؤشراً على مقدار الخطأ الذي لا تستطيع الفحوصات اكتشافه. أما النهج الأبطأ والأكثر واقعية فهو إجراء أخذ عينات مونت كارلو من الحالة الضوضائية وحساب معدل الخطأ المنطقي للتوزيع بعد الانتقاء تجريبياً. كلا النهجين متاحان كدوال كلفة مدمجة في الدالة qiskit_paulice.add_pauli_checks.

الانتقاء اللاحق للعينات بناءً على بيانات العَرَض (syndrome)​

في هذه الحزمة يُنفَّذ الفحص باستخدام بوابات تشابك بين كيوبت مساعد واحد وكيوبت هدف واحد. يبدأ كل كيوبت مساعد في الحالة ∣0⟩|0\rangle، لذا فإن ZancZ_\text{anc} يثبّت حالة مدخله. ينتج عن نشر ZancZ_\text{anc} إلى الأمام من بداية الكيوبت المساعد عبر كامل الدائرة المفحوصة مؤثّر باولي على المخرج، قد يكون وزنه أعلى ويمتد إلى دائرة الحمولة. تسمى فهارس الكيوبتات التي يحتوي عليها هذا المؤثر الناتج حدوداً غير الوحدة دعم الفحص، ويمر الفحص إذا كانت البتات، bb، في دعم الفحص ذات تكافؤ زوجي: ⨁i=1bi=0\bigoplus_{i=1} b_i = 0. تُحفظ العينة إذا أعطى كل فحص القيمة 00 في فحص التكافؤ الخاص به.

ميزات البرنامج​

  • إنشاء تلقائي لنموذج الضوضاء من بيانات قياس أداء الـ Backend

  • إيجاد الفحوصات بتسريع Rust

  • 3 خوارزميات مدمجة لإيجاد الفحوصات

  • دعم تطعيم بوابات RZ (doping)

  • دعم الجمع بين اكتشاف الأخطاء وتخفيف الأخطاء

مشكلات معروفة​

  • ضوضاء الخمول لا تُوفَّر عبر NoiseModel.get_backend ويتم تجاهلها أثناء اختيار الفحوصات

  • مع أن كثيراً من الخطوات العشوائية في الخوارزمية يمكن التحكم بها عبر بذرة عشوائية، فإن لبعض الميزات عشوائية لا يمكن التحكم بها بالبذرة. تحديداً، ستؤدي قيم المعاملات التالية في add_pauli_checks إلى اختيار فحوصات غير حتمي: cost="LER" وmethod="genetic" وmethod="windowed_genetic". للحصول على سلوك حتمي استخدم add_pauli_checks(..., cost="gamma", method="windowed")، وهي القيم الافتراضية.

أعمال مستقبلية​

  • معالجة ضوضاء الخمول عند اختيار الفحوصات

  • عشوائية قابلة للتحكم في دالة كلفة معدل الخطأ المنطقي وفي خوارزميات البحث الجينية

المساهمة​

الشيفرة المصدرية متاحة على GitHub.

يوجد دليل المطوّرين في CONTRIBUTING.md في جذر مستودع هذا المشروع. بمشاركتك، يُتوقع منك الالتزام بـمدونة قواعد السلوك الخاصة بـ Qiskit.

الاستشهاد بهذه الحزمة​

إذا استخدمت هذه الحزمة في بحثك، فاستخدم ملف CITATION.bib في مستودع هذا المشروع للاستشهاد بالمراجع المناسبة.

الترخيص​

Apache License 2.0

سياسة الإيقاف التدريجي​

نتّبع الإصدار الدلالي. قد نُجري أحياناً تغييرات جذرية لتحسين تجربة المستخدم. وحيثما أمكن، سنُبقي الواجهات القديمة ونضع عليها علامة الإيقاف (deprecated) ما دام بإمكانها التعايش مع الجديدة. سيُوثَّق كل تحسين جوهري أو تغيير جذري أو إيقاف في ملاحظات الإصدار.

المراجع​

  1. Simon Martiel, Ali Javadi-Abhari, Low-overhead error detection with spacetime codes, arXiv:2504.15725 [quant-ph].

  2. Simon Martiel, et al., Sampling hard circuits with verifiably high fidelity, arXiv:2607.25941 [quant-ph].