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

Qiskit Fermions

توسّع qiskit-fermions حزمة Qiskit SDK بأدوات للعمل على الأنظمة الفرميونية. ضمن نطاقها توفّر ما يلي:

  • بنى بيانات فعّالة لتمثيل المؤثرات الفرميونية ومعالجتها بصيغ مختلفة

  • إطار عمل لتنفيذ طرق تحويل المؤثرات (بما في ذلك ترميزات فرميون إلى كيوبت)

  • مكتبة من التنفيذات الفعّالة لطرق التحويل الشائعة

  • إطار عمل ومكتبة من البوابات للتعبير عن الدوائر الفرميونية

  • خط تحويل مدمج مع عملية المحوِّل في Qiskit لتركيب الدوائر الفرميونية إلى دوائر قائمة على الكيوبت

بالإضافة إلى ذلك، يتكامل qiskit-fermions مع أدوات أخرى في المنظومة، مثل:

  • ffsim لمؤثرات ansatz عالية المستوى والمحاكاة الفعّالة للدوائر الفرميونية (راجع العلاقة مع ffsim)

ابدأ الآن​

Schematic description of Qiskit Fermions

يعطيك الوصف التخطيطي في الصورة أعلاه لمحة عن اتساع الميزات وسير العمل العام الذي توفره هذه الحزمة. يمكنك العمل في النظام الفرميوني بتمثيلَي المؤثرات والدوائر معًا، قبل أن تحدد ترميز فرميون-إلى-كيوبت يتصل بخط أنابيب الـ Transpiler متعدد التمثيلات في Qiskit.

كل هذه الميزات مشروحة في عدة أدلة لتساعدك على البدء. وللحصول على نظرة عامة تمر بخط الأنابيب الظاهر أعلاه بالضبط، ابدأ بـ دليل Fermi-Hubbard أحادي البعد.

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

استُخدمت مكونات هذه الحزمة في أبحاث مرتبطة بالأوراق التالية:

  • تجميع الدوائر العشوائي qDRIFT في [1].

  • تركيب فرميون-إلى-كيوبت أثناء عملية الـ Transpilation في [2].

نقاش تقني​

أهداف التصميم​

صُممت هذه الحزمة عمدًا لتتوافق مع Qiskit: فهي مبنية على نواة مكتوبة بلغة Rust وتوفر روابط لغوية رسمية لـ Python وC. وتهدف واجهتها البرمجية إلى محاكاة Qiskit كي تندمج بسلاسة في سير عمل المستخدمين ذوي الخبرة في البرمجة بـ Qiskit.

كان من المبادئ الأساسية في تصميم qiskit-fermions فصل تمثيل الدائرة الفرميونية عن صيغتها المحوَّلة إلى كيوبتات. وبعبارة أدق: الدوائر الفرميونية ذات معنى بحد ذاتها ولا تحتاج إلى مطابقة مع فضاء الكيوبت كي تكون قابلة للتفسير. وعلاوة على ذلك، لا يمكن لتمثيل الدائرة الفرميونية أن يفترض أي شيء عن ترميز فرميون-إلى-كيوبت الذي سيُطبَّق لاحقًا. ولذلك، ورغم أن Jordan-Wigner يحتفظ بمكانة ودور مهيمنين، فإنه لا يُفترض أنه ترميز فرميون-إلى-كيوبت _الافتراضي_.

العلاقة مع ffsim​

يقتسم ffsim وqiskit-fermions العمل بدل أن يتداخلا. يتولى ffsim مؤثرات ansatz عالية المستوى ومحاكاتها السريعة: فهو يبني مؤثر UCJ أو UCCSD من سعات coupled-cluster أو من متجه معاملات، ويحاكي الحالات الفرميونية في فضاء مدمج بعدد جسيمات ثابت. أما qiskit-fermions فيتولى جانب الدوائر: فهو يعبّر عن ذلك المؤثر كـ FermionicCircuit على أنماط فرميونية ويحوّله بالـ Transpilation إلى دائرة كيوبتات عبر أي ترميز فرميون-إلى-كيوبت.

هذه النقطة الأخيرة هي سبب جلب مؤثر ffsim إلى هنا. فبوابات Qiskit الخاصة بـ ffsim مخصصة لتحويل Jordan-Wigner، لذا فإن خفض ansatz عبر ترميز مختلف (مثل ترميز محلي يقايض الكيوبتات بدوائر أقل عمقًا) هو ما تضيفه هذه الحزمة. وفي المقابل، لا تعيد هذه الحزمة تنفيذ رياضيات ansatz، لذلك يقبل UCJ وUCC مؤثر ffsim مباشرةً كمدخل.

على جانب المحاكاة، ffsim هو الـ Backend. فبوابات هذه الحزمة ومؤثراتها تنفّذ دوال البروتوكول التي تستهلكها دوال المحاكاة في ffsim (_apply_unitary_ و_linear_operator_ و_trace_؛ راجع qiskit_fermions.protocols)، لذا تعمل أدوات ffsim عليها أصلًا دون خطوة تحويل. أما بناء المؤثرات وتطبيق الترميزات عليها وتحويل الدوائر الناتجة بالـ Transpilation فلا تحتاج إلى ffsim إطلاقًا.

للحصول على الصورة الكاملة، اقرأ دليل العلاقة مع ffsim.

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

ما دامت واجهة Qiskit C البرمجية لم تصل بعد إلى تكافؤ الميزات مع واجهتها في Python، ستبقى بعض مكونات هذه الحزمة حصرية لواجهة Python أيضًا. ويشمل ذلك مكتبة الدوائر بأكملها (qiskit_fermions.circuit) وكذلك تمريرات الـ Transpiler (qiskit_fermions.transpiler).

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

  • نقل مكتبة الدوائر وتمريرات الـ Transpiler إلى نواة Rust (وتوفير واجهة C للتعامل معها)

  • توسيع مكتبة تنفيذات تحويل المؤثرات الفعّالة

  • توسيع مكتبة بنى بيانات المؤثرات الفعّالة

المساهمة​

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

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

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

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

الترخيص​

Apache License 2.0

سياسة الإيقاف​

تتبع هذه الحزمة الإصدار الدلالي. تُجرى التغييرات الجذرية بين الحين والآخر فقط لتحسين تجربة المستخدم. وحيثما أمكن، تُبقى الواجهات القديمة وتُوسَم بأنها متقادمة ما دام بإمكانها التعايش مع الجديدة. ويُوثَّق كل تحسين جوهري أو تغيير جذري أو إيقاف في ملاحظات الإصدار.

المراجع​

[1]

Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph].

[2]

Anthony Gandon, et al., Stabilizer-based quantum simulation of fermion dynamics with local qubit encodings, arXiv:2512.11418 [quant-ph].