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

التخطيط

شاهد الفيديو حول التخطيط مع أوليفيا لينز، أو افتح الفيديو في نافذة منفصلة على يوتيوب.

مقدمة

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

في الدرسَين 2 و3 من هذه الدورة، ذكرنا أن مرحلة التخطيط هي الأولى من بين أربع خطوات في إطار عمل أنماط Qiskit. ربما تذكر من تلك الدروس أن هدف التخطيط هو ترجمة أو إعادة صياغة مسألة حسابية كدالة تكلفة أو قيمة توقع يمكن تقييمها باستخدام حاسوب كمي.

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

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

اعتبارات عامة

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

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

ثانياً، يتضمن التخطيط كتابة المسألة بطريقة يستطيع الحاسوب الكمي فهمها. في الغالب يستلزم ذلك طرح هذه الأسئلة الثلاثة:

  1. ماذا ستمثّل كيوبتاتنا في نموذجنا؟
  2. هل مسألتنا مستمرة؟ بما أن الحواسيب الكمية رقمية، فإذا كانت المسألة مستمرة، سنحتاج إلى إيجاد طريقة لتقطيعها.
  3. أخيراً، هل يتوافق تبولوجيا المسألة مع تبولوجيا العتاد؟ إذا لم يكن كذلك، قد نحتاج إلى تطبيق بعض الحيل لجعلها تعمل.

لنتناول السؤال الأول الذي يقع في قلب الكثير من صعوبات فهم التخطيط: ماذا يمكن أن تمثّل الكيوبت؟

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

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

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

لكن حتى الآن تكلمنا بشكل مجرد بما يكفي عن التحدي أمامنا. لنتعمق في هذه الأمثلة بالتفصيل.

أمثلة على التخطيط

Max-Cut

لنبدأ بمثالنا الأول. من أبسط مسائل التخطيط تلك التي غطّيناها بعمق بالفعل: مثال Max-Cut. في تلك المسألة كان التخطيط سهلاً نسبياً لأن كيوبتاً واحدة كانت تقابل عقدة واحدة في الرسم البياني.

تذكّر أننا لتخطيط مسألة Max-Cut عبّرنا عن دالة التكلفة كهاميلتوني باستخدام صياغة QUBO. دالة التكلفة الهاميلتونية هي دالة تُرمّز الحل الأمثل للمسألة في الحالة الأرضية للهاميلتوني. لبناء هاميلتوني التكلفة، استخدمنا صنف SparsePauliOp في Qiskit لتحديد ترابط رسمنا البياني، وانتهت مرحلة التخطيط إلى المشغّلات الكمية. كانت الدائرة الكمية ببساطة هي ansatz خوارزمية QAOA. للمراجعة، ارجع إلى درس QAOA على نطاق الأداة، حيث نشرح كل ذلك بتفصيل أكبر.

في ذلك الدرس، حتى في المثال الذي يضم 100 كيوبت على نطاق الأداة، كان ترابط الرسم البياني يتوافق مع تبولوجيا عتادنا الفائق التوصيل. لذا لم نحتج إلى القلق بشأن كيفية التعامل مع التبولوجيا المختلفة. لكن هذا ليس دائماً هو الحال. إذا كان لدينا رسم بياني أكثر تعقيداً أو اتصالاً من الأمثلة التي استعرضناها حتى الآن، سنحتاج إلى تطبيق سلسلة من بوابات SWAP لتعديل الترابط الفعلي للعتاد. يُعالَج هذا في الخطوة الثانية من أنماط Qiskit، وهي التحويل، لكن ينبغي مراعاته حتى في مرحلة التخطيط.

طيّ البروتين

بعد ذلك، لنستكشف مثالاً من الورقة البحثية المعنونة "خوارزمية كمية موفّرة للموارد لطيّ البروتين"، من تأليف IBM® وشركاء من جامعة نيو ساوث ويلز.

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

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

في البروتينات الحقيقية، يمكن للأحماض الأمينية أن تشغل مجموعة مستمرة من المواقع المحتملة. لكننا سنستخدم تبسيطاً وسنحدّها باستخدام نموذج شبكي، حيث يشغل كل حمض أميني نقطة على شبكة. استخدم المؤلفون هنا شبكة رباعية الأوجه. ملاحظة سريعة: نحن هنا نرمّز اتجاه الحواف، لا العقد أنفسها كما في مسألة Max-Cut. كل كيوبت تمثّل مساراً محتملاً أُحادي الخطوة على الشبكة الرباعية. لاحظ أن المواقع المتجاورة عُلّمت بـA أو B بسبب توجهاتها المختلفة في الشبكة.

تُمثَّل سلسلة البروتين كسلسلة من المنعطفات أو الاتجاهات على هذه الشبكة. يمكن لكل منعطف بين الأحماض الأمينية أن يكون في أحد أربعة اتجاهات، تقابل حواف رباعي الأوجه. هذه المنعطفات الأربعة المحتملة مرمّزة باستخدام أربع كيوبتات في الحالات 0001 أو 0010 أو 0100 أو 1000.

سلسلة أحماض أمينية على شبكة رباعية الأوجه

لنأخذ مثالاً من الشكل أعلاه. لنضع حمضنا الأميني الأول على النقطة المعلّمة "B" المحاطة باللون الأحمر في شبكتنا الرباعية. اتجاه الحمض الأميني الأول إلى الثاني اختياري لأنه يمكن دائماً تدوير النظام لجعل تلك الحافة تشير في أي اتجاه نريد. لذا يمكننا وضع حمضنا الأميني الثاني على النقطة أسفل الأول المعلّمة "A". وإن كان الأمر أصعب رؤيةً، فإن المسار من الثاني إلى الثالث اختياري أيضاً. ستؤدي جميع الخيارات الثلاثة إلى حصولنا على حافتين تشكّل زاوية قدرها 109.5 درجة تقريباً. اختيار هذه الحافة الثانية يحدد فحسب توجه بروتيننا في الفضاء. لذا، دون فقدان للعمومية، يمكننا اختيار المنعطفين الأولين ليكونا 0001 و0010.

مع هذه التبسيطات، يُعطى تكوين سلسلة الأحماض الأمينية بهذه الصيغة:

(0001)(0010)(q9q10q11q12)(q4N3q4N2q4N1q4N)(0001)(0010)(q_9 q_{10} q_{11} q_{12}) \cdots (q_{4N-3} q_{4N-2} q_{4N-1} q_{4N})

حتى الآن، خطّطنا حواف رباعي الأوجه على الكيوبتات، وستكون دارتنا الكمية ansatz. الآن نحتاج إلى النظر في كيفية تشفير طاقة المسألة في هاميلتوني، بحيث تعطينا حالته الأرضية نمط الطيّ الأمثل.

لأي تكوين معطى، ستكون هناك طاقة مرتبطة به ناجمة عن التفاعلات بين الأحماض الأمينية. هذه التفاعلات تكون أقوى ما تكون عندما يكون الحمضان الأمينيان قريبَين من بعضهما. من الواضح أن الأحماض الأمينية المتجاورة في العمود الفقري ستتفاعل دائماً مع بعضها. لكن بسبب التفاف البروتين وانثنائه، قد تتفاعل أزواج أخرى من الأحماض الأمينية أيضاً. قد ينتهي الحمضان الأمينيان 10 و20 في مواقع متجاورة بعد طيّ البروتين، مثلاً. لذا نحتاج إلى معادلة لوصف المسافة dd بين الحمضين الأمينيَّين ii وjj باستخدام المعلومات المرمّزة على كيوبتات التكوين. وبهذا يمكننا استخدام مسافة الفصل لتحديد قوة تفاعلهما.

أولاً، لنعرّف دالة fa(i)f_a(i) تشير إلى ما إذا كانت الحافة aa تُستخدم للمنعطف عند الحمض الأميني ii أم لا. هنا يمكن أن يأخذ aa أياً من الأربعة اتجاهات المحتملة. بناءً على التكوين الذي بدأنا به أعلاه، يمكننا كتابة هذه الدوال:

f0(i)=q4i3f1(i)=q4i2f2(i)=q4i1f3(i)=q4i\begin{aligned} f_0(i) &= q_{4i-3} \\ f_1(i) &= q_{4i-2} \\ f_2(i) &= q_{4i-1} \\ f_3(i) &= q_{4i} \end{aligned}

ثم يمكننا تعريف الفرق في عدد المنعطفات المُعلَّمة بـaa على الشبكتين A وB من الفهرس ii إلى jj كـΔn\Delta n:

Δna(i,j)=k=ij(1)kfa(k)\begin{aligned} \Delta n_a(i,j) &= \sum\limits_{k=i}^{j}{(-1)^k f_a(k)} \end{aligned}

لماذا نفعل ذلك؟ حسناً، اتضح أن منعطفاً بـaa من موقع الشبكة A إلى B يُلغيه تماماً منعطف بـaa من موقع الشبكة B إلى A. لذا لمعرفة المسافة بين الحمض الأميني على الموقع ii وذلك على الموقع jj، نحتاج فقط إلى إيجاد الفرق بين الخطوات المقطوعة عبر حواف aa من مواقع A ومن مواقع B. بما أن مواقع A وB تتناوب بالضرورة على طول العمود الفقري للبروتين، يُعبَّر عن هذا في (1)k(-1)^k. ينطبق هذا الحجة على جميع أنواع الحواف الأربعة. وبالتالي يمكن حساب المسافة الكلية بين الأحماض الأمينية بخطوات الشبكة الرباعية باستخدام هذه الصيغة:

d(i,j)=aΔna(i,j)2=(Δn0(i,j))2+(Δn1(i,j))2+(Δn2(i,j))2+(Δn3(i,j))2\begin{aligned} d(i,j) &= \sum\limits_{a}{||\Delta n_a(i,j)||^2} \\ &= (\Delta n_0(i,j))^2 + (\Delta n_1(i,j))^2 + (\Delta n_2(i,j))^2 + (\Delta n_3(i,j))^2 \end{aligned}

لكن كيف نحصل على الهاميلتوني من هذه المعادلة الطويلة للمسافة الكلية بين الأحماض الأمينية؟ أولاً، يمكننا التحويل من المسافة بخطوات الشبكة إلى الفضاء الإقليدي بشيء من الهندسة البسيطة:

d(i,j)=0rij=0d(i,j)=1rij=1d(i,j)=2rij=2231.63d(i,j)=3rij=1131.91d(i,j)=4rij=432.31d(i,j)=5rij=1932.52\begin{aligned} d(i,j) &= 0 \rightarrow r_{ij} = 0 \\ d(i,j) &= 1 \rightarrow r_{ij} = 1 \\ d(i,j) &= 2 \rightarrow r_{ij} = 2\sqrt\frac{2}{3} \approx 1.63 \\ d(i,j) &= 3 \rightarrow r_{ij} = \sqrt\frac{11}{3} \approx 1.91 \\ d(i,j) &= 4 \rightarrow r_{ij} = \frac{4}{\sqrt{3}} \approx 2.31 \\ d(i,j) &= 5 \rightarrow r_{ij} = \sqrt\frac{19}{3} \approx 2.52 \end{aligned}

بعد ذلك، ستُستخدم هذه المسافات في حساب طاقة تكوين البروتين. بحسب أغراضنا، قد نحدد مسافة قطع تعتبر دونها الأزواج متفاعلة، أو قد نفعل شيئاً أكثر تعقيداً.

قد لا يكون واضحاً، لكننا انتهينا فعلاً من مرحلة التخطيط بفعل هذا. حالات الكيوبتات تشير إلى "منعطف" البروتين عند كل موقع شبكي، ومجموعة المنعطفات تحدد المسافة بين أي زوج من الأحماض الأمينية. للأزواج من أنواع مختلفة من الأحماض الأمينية تفاعلات مختلفة، بعضها جاذب وبعضها طارد. إذا كنت تستخدم التكوين والمسافات لتحديد ما إذا كانت تفاعلات الأحماض الأمينية المعروفة "فعّالة" أم "غير فعّالة"، فقد تم حساب قوة هذه التفاعلات بالفعل ويمكن البحث عنها في جدول كهذا:

طاقات ارتباط الأحماض الأمينية

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

تحويل جوردان-ويغنر

لنستكشف الآن كيفية ترجمة نظام من الجسيمات دون الذرية إلى مشغّلات باولي.

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

للبوزونات أيضاً دورانات صحيحة، بينما للفرميونات دورانات نصف صحيحة، كالإلكترون ذي الدوران 1/2، وجسيمات الدوران 3/2 الأكثر غرابة. لوصف نظام من الجسيمات، نحتاج إلى وصف طاقتها. لنركّز على الفرميونات. يمكننا البدء بهاميلتوني مكتوب بالمشغّلات التي نسمّيها مشغّلات c. هذه أساساً كائنات رياضية تقابل إنشاء فرميون أو إفناءه من حالة في النظام. كثيراً ما تُكتب كـfif_i^\dagger وfjf_j، حيث fif_i^\dagger هو المشغّل الذي يُنشئ فرميوناً في الحالة ii وfjf_j هو المشغّل الذي يُفني فرميوناً في الحالة jj.

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

هناك عدة تحويلات من هذا القبيل للفرميونات. خيار شائع هو تحويل جوردان-ويغنر. تعدّ تحويلات برافي-كيتاييف وتعيين التكافؤ ترميزات فرميونية أحدث. أما المشغّلات البوزونية فيمكن تحويلها باستخدام تحويل هولشتاين-بريماكوف، أو بتعيين مباشر لحالات فوك على أساس فرعي من الأوضاع البوزونية المتاحة، من بين خيارات أخرى. كما تُبحث ترميزات أخرى بنشاط. في الوقت الراهن، سنركّز فقط على تحويل جوردان-ويغنر.

يتضمن تحويل جوردان-ويغنر تخطيط فرميون واحد على كيوبتات متعددة. لماذا لا يمكننا فقط تخصيص كيوبت واحدة لكل إلكترون؟ هذا له علاقة بقابلية التمييز بين الفرميونات المتطابقة. الكيوبتات قابلة للتمييز أما الإلكترونات فلا. مثلاً، يمكننا بسهولة تسمية وتحديد الكيوبتات الفردية على أي جهاز. لكن عدم قابلية الإلكترونات للتمييز يعني أننا لا نستطيع تسميتها على الإطلاق. لذلك نحتاج فعلياً إلى تسمية المشغّلات وفق المدارات المشغولة، كـ1s وَ2p وَ2p وما إلى ذلك، بدلاً من إلكترونات بعينها. وهكذا تؤدي كل كيوبت تقريباً دور مدار في الجزيء إما مشغول أو غير مشغول. لكن الطريقة التي نفعل بها ذلك أكثر تعقيداً بعض الشيء. يتتبع تعيين جوردان-ويغنر اللاتماثل ويضمن الإحصاء الصحيح للنظام الفرمياني الكلي. يعبّر تعيين جوردان-ويغنر عن المشغّلات الفرميونية بدلالة مشغّلات باولي باستخدام هذه العلاقات:

fj=(k<j(Zk))(Xj+iYj2)fj=(k<j(Zk))(XjiYj2)\begin{aligned} f_j^\dagger &= \Bigl( \prod\limits_{k \lt j}{(-Z_k)} \Bigr)\Bigl( \frac{X_j + i Y_j}{2} \Bigr) \\ f_j &= \Bigl( \prod\limits_{k \lt j}{(-Z_k)} \Bigr)\Bigl( \frac{X_j - i Y_j}{2} \Bigr) \end{aligned}

تعيين جوردان-ويغنر بسيط من الناحية المفاهيمية بسبب التطابق الواحد-لواحد بين المدارات والكيوبتات. هناك تعيينات أخرى تحقق هدفاً مشابهاً، بما فيها تعيين التكافؤ. يستلزم حساب تكافؤ حالة أخذ كيوبتات متعددة بعين الاعتبار. في تعيين التكافؤ (وبعض التعيينات الأخرى)، لا يصح تفسير كيوبت واحدة كمدار واحد. لنمرّ الآن على مثال بسيط. لنفترض أننا نريد حساب التفاعل أُحادي الكيوبت f0f0f_0^\dagger f_0. نبدأ بتعويض تعريفاتنا لمشغّلات الإنشاء والإفناء:

f0f0=(k<0(Zk)2)(X0+iY02)(X0iY02)=14(X02+iY0X0X0Y0+Y02)=14(2Ii[X0,Y0])\begin{aligned} f_0^\dagger f_0 &= \biggl( \prod_{k < 0} (-Z_k)^2 \biggr) \biggl( \frac{X_0 + i Y_0}{2} \biggr) \biggl( \frac{X_0 - i Y_0}{2} \biggr) \\ &= \frac{1}{4} (X_0^2 + i Y_0 X_0 - X_0 Y_0 + Y_0^2) \\ &= \frac{1}{4} (2 I - i[X_0,Y_0]) \end{aligned}

المبدّل [X0,Y0]=2iZ0[X_0, Y_0] = 2i Z_0. وبالتالي تصبح الصيغة النهائية:

f0f0=12(I+Z0)\begin{aligned} f_0^\dagger f_0 = \frac{1}{2}(I+Z_0) \end{aligned}

هكذا نكون قد أعدنا كتابة تعبير فرمياني بدلالة مشغّلات باولي التي سيفهمها حاسوبنا الكمي. لنناقش بسرعة كيفية تطبيق تعيين جوردان-ويغنر في Qiskit. من المهم فهم آلية عمل هذه الأنواع من التحويلات، لكن سيكون من غير العملي حسابها يدوياً في كل مرة — لا سيما للأنظمة الكبيرة. لحسن الحظ، يجعل Qiskit ذلك سهلاً علينا بدالة SparsePauliOp.

على مستوى عالٍ، الخطوات هي:

  1. استخدام دالة from_list في SparsePauliOp لإنشاء مشغّل وحدة يقابل حجم فضاء المعاملات المطلوب تعيينه.
  2. بالاستناد إلى تعريف مشغّلات الإنشاء والإفناء الموضّحة سابقاً، استخدام دالة from_list في SparsePauliOp لتعريف مشغّلات باولي XX وYY وZZ. سيُعيّن ذلك مشغّلات الإنشاء والإفناء الفرميونية على مشغّلات دوران الكيوبت، مرمّزاً عدد إشغال الفرميونات في أساس الحساب للكيوبتات.
  3. توليد الهاميلتوني المطلوب في أساس باولي بتطبيق المشغّلات أعلاه على المدارات المعنية. يتوافق هذا عادةً مع إنشاء مصفوفة وحدة تمثّل المدارات الأساسية (غير المتفاعلة)، ثم تطبيق مشغّلات الإنشاء والإفناء على الفضاء النشط، مع أوزان تقابل خصائص المسألة المعنية.

بعد أن أصبحنا نفهم تماماً نظام تعيين جوردان-ويغنر، لنأخذ مثالاً أكثر تعقيداً. ربما تذكر الورقة البحثية المعنونة "دوائر قابلة للتوسع لإعداد الحالات الأرضية على الحواسيب الكمية الرقمية: فراغ نموذج شفينغر على 100 كيوبت" من الدرس السابق. لن نستعرض الورقة بالتفصيل مرة أخرى — سنركّز فقط على تعيين جوردان-ويغنر، الذي يُستخدم للتعبير عن هاميلتوني المواقع الشبكية ذات المواقع LL لنموذج شفينغر في غياب حقل كهربائي.

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

H=Hm+Hkin+Hel=m2j=02L1[(1)jZj+I]+12j=02L2(σj+σj+1+h.c.)+g22j=02L2(kjQk)2\begin{aligned} \cal{H} &= \cal{H}_m + \cal{H}_{kin} + \cal{H}_{el} \\ &= \frac{m}{2} \sum\limits_{j=0}^{2L-1} [(-1)^j Z_j + I] + \frac{1}{2} \sum\limits_{j=0}^{2L-2}(\sigma_j^+\sigma_{j+1}^- + h.c.) + \frac{g^2}{2} \sum\limits_{j=0}^{2L-2} \Bigl( \sum\limits_{k \le j} Q_k\Bigr)^2 \end{aligned}

حيث σ+\sigma_+ هو مشغّل باولي X+iYX + iY وσ\sigma_{-} هو XiYX - iY. حالما يكون لدينا هاميلتوني مكتوب بهذا الشكل، يكون الجزء الأصعب من مرحلة التخطيط قد انتهى، ويمكن الآن كتابته بسهولة كدائرة في مشغّلات باولي.

الخلاصة

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