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

صيغ المنتجات المتعددة (MPF)

Package versions

The code on this page was developed using the following requirements. We recommend using these versions or newer.

صيغ المنتجات المتعددة (MPF) يمكن استخدامها لمحاكاة ديناميكيات نظام كمي بدقة أعلى، على حساب زيادة عدد تنفيذات الدوائر. وهي تقنية معالجة لاحقة تُخفف من خطأ قيم الانتظار للحالات المتطورة زمنياً.

تُستخدم الحوسبة الكلاسيكية لحل نظام من المعادلات الخطية الذي يوفر معاملات لمجموعة موزونة من عدة تنفيذات للدوائر. يمكن لهذه المجموعة الموزونة أن تُقلل من الخطأ المرتبط بمحاكاة التطور الزمني، بشرط اختيار جيد لخطوات Trotter. ستستوعب أداة MPF مجموعة من البيانات --- بما فيها عدد خطوات Trotter ورتبة تقريب Trotter --- لإعداد نظام المعادلات الخطية المرتبط وحله (أو تقريب حله)، والذي يمكنك استخدامه لاحقاً لمعالجة قياسات قيم الانتظار لحالة متطورة زمنياً.

تثبيت حزمة MPF

هناك طريقتان لتثبيت حزمة MPF: عبر PyPI أو البناء من المصدر. يُنصح بالتثبيت داخل بيئة افتراضية لضمان الفصل بين تبعيات الحزم.

التثبيت من PyPI

أبسط طريقة لتثبيت حزمة qiskit-addon-mpf هي عبر PyPI.

pip install qiskit-addon-mpf

البناء من المصدر

المستخدمون الذين يرغبون في التطوير داخل المستودع أو من يريدون تثبيته يدوياً يمكنهم القيام بذلك باستنساخ المستودع أولاً:

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

ثم تثبيت الحزمة عبر pip. يحتوي المستودع أيضاً على عدد من التبعيات الاختيارية التي تُفعّل ميزات معينة.

عدّل الخيارات حسب احتياجاتك.

pip install tox notebook -e '.[notebook-dependencies,dev]'

الخلفية النظرية

يمكن لـ MPFs أن تُقلل من خطأ تقريب Trotter المرتبط بمحاكاة ديناميكيات الأنظمة الكمية من خلال مجموعة موزونة من عدة تنفيذات للدوائر. هذا المجموع الموزون مُعرَّف على النحو التالي:

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

حيث xjx_j هي معاملات الترجيح، و ρjkj\rho_j^{k_j} هي مصفوفة الكثافة المقابلة للحالة النقية التي تُحصل عليها بتطوير الحالة الابتدائية عبر صيغة حاصل ضرب SkjS^{k_j} التي تُقرّب مؤثر التطور الزمني باستخدام kjk_j خطوة Trotter، بينما يُرقّم jj كل صيغة حاصل ضرب مستخدمة في المجموع.

Several circuits with a varying number of Trotter steps are used to compute the target observable

بشكل عام، الهدف من محاكاة الديناميكيات الكمية هو قياس مقدار ملاحظة ما O(t)\mathcal{O}(t)، وهو دالة في الزمن. عند استخدام MPFs، تُنفَّذ دوائر متعددة --- كل منها يستخدم kjk_j خطوة Trotter --- للحصول على عدة قياسات للمقدار الملاحظ المستهدف Okj(t)\mathcal{O}_{k_j}(t). يُحصل على قياس المقدار الملاحظ المستهدف بعد ذلك بحساب:

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

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

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

تحديد معاملات MPF

تكمن الوظيفة الجوهرية لحزمة qiskit-addon-mpf في تحديد معاملات MPF xj(t)x_j(t) (التي قد تكون معتمدة على الزمن). تتضمن عملية الحصول على كل xj(t)x_j(t) حل نظام معادلات خطية Ax=bAx=b حيث xx هو متجه المعاملات المراد تحديدها، و AA هي مصفوفة تعتمد على كل من kjk_j وصيغة الحاصل ضرب المستخدمة SS (أي رتبة التقريب وعدد خطوات Trotter)، و bb هو متجه القيود. يمكن حل هذا النظام من المعادلات إما بشكل دقيق أو بنموذج تقريبي يُصغّر الـ 1-norm للمعاملات. علاوة على ذلك، يُعدّ اختيار كل kjk_j عملية اكتشافية، لكن يمكن تحديدها بالقيود التالية:

  1. أكبر قيمة لـ kjk_j مقيّدة بأعلى عمق للدائرة الذي يمكن تنفيذه بشكل موثوق
  2. أصغر قيمة لـ kjk_j يجب أن تحقق dt=t/kj<1dt = t/k_j < 1 لأن ذلك هو المكان الذي يكون فيه خطأ Trotter أكثر انتظاماً
  3. لا يجب أن يكون أي من المعاملات xjx_j قريباً من 00 لأن ذلك يعني أنها لا تُسهم كثيراً في MPF
  4. بالمثل، المعامل المرتبط بأكبر قيمة kjk_j لا يجب أن يهيمن، لأن ذلك يعني أنك تستخدم صيغة حاصل ضرب واحدة
  5. أخيراً، يجب أن تكون نظيرة المعاملات xjx_j المُحصل عليها صغيرة، لأن ذلك يُشير إلى MPF جيد التكييف 1

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

توصيات

المراجع

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].