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

IBM Quantum Composer

ما هو؟

IBM Quantum® Composer أداة برمجة كمية رسومية تتيح لك سحب العمليات وإفلاتها لبناء الدوائر الكمية وتشغيلها على الأجهزة الكمية.

ما الذي يمكنه فعله؟

تصوير حالات Qubit

شاهد كيف تؤثر التغييرات على دارتك في حالة الـ Qubit، وذلك من خلال كرة q تفاعلية، أو رسوم بيانية تعرض احتمالات القياس أو محاكاة متجه الحالة.

التشغيل على الأجهزة الكمية

شغّل دوائرك على أجهزة كمية حقيقية لفهم تأثيرات ضوضاء الأجهزة.

توليد الكود تلقائياً

بدلاً من كتابة الكود يدوياً، يمكنك توليد كود OpenQASM أو Python تلقائياً يعمل بنفس طريقة الدارة التي أنشأتها بالـ Composer.

جولة في الواجهة

يحتوي IBM Quantum Composer على مجموعة أدوات قابلة للتخصيص تتيح لك بناء الدوائر الكمية وتصورها وتشغيلها على وحدات المعالجة الكمية (QPUs). استخدم قائمة "المزيد من الخيارات" في كل نافذة للوصول إلى أدوات وإجراءات إضافية.

نافذة IBM Quantum Composer.

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

    لمعرفة المزيد عن البوابات والعمليات المتاحة، انقر بزر الماوس الأيمن على أي عملية واختر Info لقراءة تعريفها.

  2. محرر الكود - استخدم قائمة View لفتح أو إغلاق محرر الكود، الذي يتيح لك عرض كود OpenQASM أو Qiskit الخاص بالدارة. يمكنك تحرير كود OpenQASM؛ أما كود Qiskit فهو للقراءة فقط.

  3. محرر الدارة الرسومي - هنا تبني دارتك. اسحب البوابات والعمليات الأخرى على "أسلاك" الـ Qubit الأفقية التي تشكّل سجلّك الكمي.

    لحذف بوابة من سلك، حدد البوابة وانقر على أيقونة سلة المهملات.

    لتحرير المعلمات والإعدادات في البوابات التي تدعم التحرير، حدد البوابة في المحرر الرسومي وانقر Edit.

  4. شريط الأدوات - يتيح الوصول إلى الأدوات الأكثر استخداماً: التراجع والإعادة، وتغيير محاذاة البوابات، والتبديل إلى وضع الفحص. في وضع الفحص، ترى عرضاً خطوة بخطوة لحالات الـ Qubit مع تطور حسابات دارتك. لمعرفة المزيد، راجع فحص دارتك خطوة بخطوة.

  5. أقراص الطور - يُعطى طور متجه حالة الـ Qubit في المستوى المركب بالخط الممتد من مركز الرسم إلى حافة القرص الرمادي (الذي يدور عكس عقارب الساعة حول نقطة المركز).

    استخدم قائمة View لإظهار أو إخفاء أقراص الطور.

  6. التصورات - تُميّز التصورات دارتك أثناء بنائها. وتستخدم محاكي متجه الحالة لقياس واحد، وهو مختلف عن وحدة المعالجة الكمية (QPU) المحددة في إعدادات "تشغيل الدارة". لاحظ أن التصورات تتجاهل أي عمليات قياس تضيفها. سجّل الدخول وانقر Run circuit للحصول على النتائج من الـ Backend المحدد.

    اطّلع على مزيد من المعلومات في قسم التصورات.

بناء الدوائر الكمية وتحريرها وفحصها

نزّل ملفات دارتك قبل الخروج من Composer

إذا كنت تريد الاستمرار في العمل على دارة في وقت لاحق، احرص على تنزيل ملف الدارة وتخزينه محلياً قبل الخروج من جلسة Composer الحالية. استخدم رابط "Save file" في الزاوية العلوية اليمنى، أو اذهب إلى قائمة File واختر "Save file". حين تكون مستعداً للعودة إلى الدارة، اذهب إلى قائمة File واختر "Upload .qasm file"، ثم انتقل إلى ملف دارتك على محرك الأقراص المحلي وانقر Open.

1. افتح IBM Quantum Composer

  1. (اختياري) إذا لم تكن مسجلاً الدخول حالياً في IBM Quantum، اختر Sign in في الزاوية العلوية اليمنى. بعدها، يمكنك إما تسجيل الدخول أو إنشاء حساب IBM Cloud.
ملاحظة

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

  1. افتح IBM Quantum Composer بالنقر على الرابط في صفحة التعلّم. تعرض مساحة العمل دارة فارغة بدون عنوان. يمكنك إنشاء دارة جديدة، أو رفع ملف .qasm لمواصلة العمل على دارة أنشأتها مسبقاً.

  2. سمّ دارتك بالنقر على كلمتَي Untitled circuit وكتابة اسم لدارتك. انقر على علامة الاختيار لحفظ الاسم.

  3. (اختياري) خصّص مساحة عملك:

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

لبناء دارة، يمكنك إما سحب العمليات وإفلاتها، أو إدخال كود OpenQASM في محرر الكود.

2. ابنِ دارتك بالسحب والإفلات

كتالوج العمليات

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

طوِّ كتالوج العمليات وافرده بالنقر على الأيقونة في الزاوية العلوية اليمنى من لوحة العمليات. انقر على الأيقونة المجاورة لها للتبديل بين عرض الشبكة وعرض القائمة للكتالوج.

انقر بزر الماوس الأيمن على أيقونة عملية واختر Info لعرض تعريف العملية جنباً إلى جنب مع مرجعها في QASM.

للتراجع أو الإعادة، استخدم الأسهم المنحنية في شريط الأدوات.

المحاذاة

اختر محاذاة Freeform لوضع العمليات في أي مكان على الدارة. للحصول على عرض أكثر إحكاماً لدارتك، اختر محاذاة Left. لرؤية الترتيب الذي ستنفَّذ به العمليات، اختر محاذاة Layers، التي ستُطبّق المحاذاة اليسرى وتضيف فواصل أعمدة تشير إلى ترتيب التنفيذ، من اليسار إلى اليمين ومن الأعلى إلى الأسفل.

بمجرد وضع العمليات على دارتك، يمكنك الاستمرار في سحبها وإفلاتها إلى مواضع جديدة.

النسخ واللصق

انقر على عملية واستخدم الأيقونات في القائمة السياقية لنسخها ولصقها.

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

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

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

على سبيل المثال، في الصورة التالية، تم تحديد بوابة Hadamard على q1 وبوابة CX، بينما بوابة Hadamard على q0 لم تُحدَّد.

مجموعة من العمليات المحددة.

اختر Copy من القائمة السياقية لنسخ المجموعة.

للصق مجموعة العمليات، انقر بزر الماوس الأيمن في الدارة واختر Paste.

بناء عملية مخصصة باستخدام ميزة التجميع

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

يمكنك الآن سحب العملية الجديدة وإفلاتها في أي مكان في دارتك. لاحظ أن العملية محفوظة لهذه الدارة ولا تظهر في كتالوج العمليات للدوائر الأخرى.

يمكنك أيضاً بناء عملية مخصصة مباشرةً في محرر كود OpenQASM؛ راجع إنشاء عملية مخصصة في OpenQASM لمزيد من المعلومات.

تفكيك عملية مخصصة أو محددة مسبقاً

لتفكيك البوابات داخل عملية مخصصة أو محددة مسبقاً، انقر على العملية في Composer واختر Ungroup من القائمة السياقية. يمكنك الآن تحريك العمليات المنفصلة بشكل فردي. حين تفكّك عملية، ينفّذ كل عنصر في المجموعة السابقة بشكل مستقل، مما قد يعني تنفيذها بترتيب مختلف عن ترتيب تجميعها.

توسيع تعريف عملية

لعرض العمليات التي تشكّل عملية مخصصة أو محددة مسبقاً دون تفكيكها، انقر Expand definition من القائمة السياقية لرؤية البوابات المعرِّفة. انقر الأيقونة مرة أخرى لطي التعريف.

تسمية أو حذف عملية مخصصة

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

حذف عملية مخصصة من الدارة نفسها لا يحذفها من كتالوج العمليات؛ يمكنك حذف عملية مخصصة من الكتالوج فقط باستخدام النقر بزر الأيمن واختيار Delete.

إضافة أو إزالة السجلات

لإضافة أو إزالة سجلات كمية أو كلاسيكية، انقر Edit ← Manage registers. يمكنك زيادة أو تقليل عدد الـ Qubit أو البتات في دارتك وإعادة تسمية السجلات. انقر Ok لتطبيق التغييرات. يمكنك أيضاً النقر على اسم السجل مباشرةً (مثلاً، q[0]) واستخدام الخيارات في القائمة السياقية لإضافة أو حذف السجلات أو الـ Qubit بسرعة.

إضافة شرط

لإضافة شرط إلى بوابة، اسحب عملية if إلى البوابة وحدد المعلمات في لوحة Edit operation التي تفتح تلقائياً. يمكنك أيضاً النقر المزدوج على بوابة للوصول إلى لوحة Edit operation وتعيين معلمات الشرط بهذه الطريقة.

إضافة معدّل تحكم

يُنتج معدّل التحكم بوابةً تصبح عملتها الأصلية مشروطة بحالة Qubit التحكم. لمزيد من التفاصيل، انقر بزر الماوس الأيمن على رمز معدّل التحكم في كتالوج العمليات، ثم انقر Info.

اسحب معدّل التحكم إلى بوابة لإضافة تحكم إليها. تظهر نقطة على Qubit التحكم ويرتبط بخط إلى Qubit الهدف. لتحرير أي Qubit هو التحكم أو الهدف، انقر البوابة واختر أيقونة Edit operation (أو انقر مزدوجاً على البوابة) لفتح لوحة Edit operation، ثم حدد المعلمات. من لوحة Edit operation، يمكنك أيضاً إزالة تحكم من Qubit بالنقر على x بجوار اسم الـ Qubit.

تصوير أقراص الطور في مختلف أجزاء دارتك

لتصوير حالة جميع الـ Qubit في أي نقطة من دارتك، اسحب أيقونة قرص الطور من كتالوج العمليات وضعها في أي مكان في دارتك. تُضاف عمود من عمليات الحاجز وعمود من أقراص الطور (عملية حاجز وقرص طور واحد لكل Qubit). مرّر المؤشر فوق كل قرص طور لقراءة حالة الـ Qubit عند تلك النقطة في الدارة. لاحظ أن إضافة أقراص الطور لا يغيّر دارتك؛ فهي مجرد أداة تصوير.

اقرأ المزيد عن تصوير قرص الطور هنا.

تصدير صورة الدارة

لتصدير صورة دارتك، اختر File ← Export circuit image. تفتح نافذة خيارات التصدير، حيث يمكنك اختيار سمة (فاتحة، أو داكنة، أو أبيض على أسود، أو أسود على أبيض)، وصيغة (.svg أو .png)، وما إذا كنت تريد تطبيق التفاف الأسطر. بعد اختيار خياراتك، انقر Export.

3. ابنِ دارتك باستخدام كود OpenQASM

ملاحظة

يدعم IBM Quantum Composer حالياً OpenQASM 2.0.

  • لفتح محرر الكود، انقر View ← Panels ← Code Editor.
  • راجع مسرد عمليات Composer للاطلاع على مراجع OpenQASM للبوابات والعمليات الأخرى.
  • يمكنك تعريف عملياتك المخصصة؛ راجع إنشاء عملية مخصصة في OpenQASM.
  • لمزيد من المعلومات عن استخدام لغة OpenQASM، بما في ذلك نماذج أسطر الكود، راجع دليل مقدمة إلى OpenQASM، أو اقرأ الورقة البحثية الأصلية، Open Quantum Assembly Language. الجدول الجدول لعبارات لغة OpenQASM الوارد في الورقة مُعاد إنتاجه أدناه. يمكن الاطلاع على قواعد OpenQASM في الملحق A من الورقة.

العبارةالوصفمثال
OPENQASM 2.0;يدل على ملف بتنسيق OpenQASM (انظر [a])OPENQASM 2.0;
qreg name[size];تعريف سجل مُسمّى من الـ Qubitqreg q[5];
creg name[size];تعريف سجل مُسمّى من البتاتcreg c[5];
include "filename";فتح وتحليل ملف مصدر آخرinclude "qelib1.inc";
gate name(params) qargsتعريف بوابة أحادية(انظر نص الورقة)
opaque name(params) qargs;تعريف بوابة غير شفافة(انظر نص الورقة)
// comment textالتعليق على سطر نص// oops!
U(theta,phi,lambda) qubit|qreg;تطبيق بوابة (بوابات) Qubit مفردة مدمجة (انظر [b])U(pi/2,2*pi/3,0) q[0];
CX qubit|qreg,qubit|qreg;تطبيق بوابة (بوابات) CNOT المدمجةCX q[0],q[1];
measure qubit|qreg -> bit|creg;إجراء قياس (قياسات) في الأساس ZZmeasure q -> c;
reset qubit|qreg;تهيئة الـ Qubit في الحالة 0\vert 0\ranglereset q[0];
gatename(params) qargs;تطبيق بوابة أحادية مُعرَّفة من قِبَل المستخدمcrz(pi/2) q[1],q[0];
if(creg==int) qop;تطبيق عملية كمية بشكل شرطيif(c==5) CX q[0],q[1];
barrier qargs;منع التحويلات عبر هذا السطر في المصدرbarrier q[0],q[1];

[a] يجب أن يظهر هذا كأول سطر غير تعليق في الملف.

[b] تُعطى المعلمات theta وphi وlambda بواسطة تعبيرات المعلمات؛ لمزيد من المعلومات، راجع الصفحة 5 من الورقة والملحق A.

إنشاء عملية مخصصة في OpenQASM

يمكنك تعريف عمليات أحادية جديدة في محرر الكود (انظر الشكل أدناه للاطلاع على مثال). تُطبَّق العمليات باستخدام العبارة name(params) qargs; تماماً مثل العمليات المدمجة. الأقواس اختيارية إذا لم تكن هناك معلمات.

لتعريف عملية مخصصة، أدخلها في محرر كود OpenQASM بهذا التنسيق: gatename(params) qargs;. إذا نقرت +Add في قائمة العمليات، ستُطلب منك إدخال اسم لعمليتك المخصصة، ثم يمكنك بناؤها في محرر الكود.

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

مثال على عملية مخصصة
البوابات المراد تضمينها في العملية المخصصة:بوابات في العملية المخصصة
الكود للعملية الجديدة:العملية الجديدة المخصصة
العملية الجديدة في المحرر الرسومي:العملية الجديدة

4. افحص دارتك خطوة بخطوة

وضع الفحص يُزيل الغموض عن الآليات الداخلية للدوائر التي تنشئها. يتنقّل خطوة بخطوة عبر محاكاة دارتك، طبقة واحدة في كل مرة، حتى تتمكن من رؤية حالة الـ Qubit مع تطور الحساب.

  • في قائمة View، اختر اللوحات للتصورات التي تريد استخدامها.

  • انقر على مفتاح Inspect في شريط الأدوات. لاحظ أنه بمجرد تشغيل وضع الفحص، لا يمكنك إضافة المزيد من العمليات حتى يُغلق مرة أخرى.

  • إذا بنيت دارتك مع تشغيل محاذاة Freeform، لاحظ أن وضع الفحص يُشغّل تلقائياً محاذاة Left.

  • للتنقل خطوة بخطوة عبر تصورات مكونات دارتك، استخدم أزرار التقديم والترجيع.

عناصر تحكم للتنقل للأمام والخلف، والانتقال إلى بداية الدارة أو نهايتها.

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

  • لمعرفة المزيد عن تفسير التصورات، راجع موضوع التصورات.

  • للخروج من وضع الفحص والعودة إلى تحرير دارتك، انقر على مفتاح Inspect في شريط الأدوات.

العشوائية في المحاكي

يخلق المحاكي العشوائية عن طريق توليد نتائج بناءً على بذرة. البذرة هي القيمة الأولية التي تُدخَل في الخوارزمية التي تولّد الأرقام شبه العشوائية. يمكنك رؤية رقم البذرة باختيار "Visualizations seed" من قائمة Edit. يمكنك أيضاً تعيين البذرة بنفسك عن طريق تغيير القيمة في المربع.

تشغيل الدوائر وعرض النتائج

اتبع الخطوات أدناه لتشغيل الدوائر الكمية على وحدات معالجة الكم (QPUs) وعرض النتائج.

اختر إعدادات المهمة

انقر على Run circuit في الزاوية العلوية اليمنى. في النافذة التي تفتح، اختر وحدة معالجة الكم (QPU) المتاحة. يمكنك أيضاً اختيار نسخة (Instance) مرتبطة بخطة معينة (مثل الخطط Open أو Flex أو Premium). تؤثر النسخة التي تختارها على وحدات معالجة الكم المتاحة لك. انقر على رابط "View details" في جدول وحدات معالجة الكم للاطلاع على مزيد من المعلومات حول كل وحدة.

بعد ذلك، يمكنك تحديد عدد اللقطات (shots) أي عدد مرات تنفيذ الدائرة التي سيجريها الـ Backend.

يمكنك أيضاً تسمية المهمة وإضافة وسوم (tags) في هذه اللوحة. لن يغير ذلك اسم الدائرة. الوسم "Composer" المُعبَّأ مسبقاً يسهّل تصفية جدول Workloads الخاص بك ليُظهر فقط مهام Composer. يمكنك إزالة هذا الوسم.

نافذة تعرض خيارات المهمة.

ملاحظة

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

انقر على "Run on (QPU name)"

يمكنك متابعة تقدم المهمة بالنقر على زر "View jobs" في الزاوية العلوية اليمنى، الذي سيفتح صفحة Workloads في منصة IBM Quantum.

عرض النتائج

بمجرد اكتمال مهمتك، تُحدَّث التفاصيل في جدول Workloads على منصة IBM Quantum.

تعرض صفحة نتائج المهام تفاصيل التشغيل، ورسوماً تخطيطية للدائرة الأصلية والدائرة بعد عملية الـ Transpile، وهيستوغرام للنتائج، وعلامتَي تبويب OpenQASM وQiskit لعرض كلتا الدائرتين (الأصلية والمحوَّلة) بصيغة OpenQASM أو Qiskit.

يمكنك تنزيل الدوائر والهيستوغرام بالنقر على القائمة في الزاوية العلوية اليمنى لكل رسم، ثم اختيار صيغة التنزيل (PNG أو PDF أو SVG؛ كما يمكنك تصدير الهيستوغرام بصيغة CSV). يمكنك فتح دوائر OpenQASM مباشرةً في Composer.

التمثيلات المرئية

تُظهر لك التمثيلات المرئية الحية في IBM Quantum Composer طرق مختلفة لكيفية تأثير الدوائر الكمية على حالة مجموعة من الـ Qubits. شرح مفصَّل لكل نوع من التمثيلات المرئية الحية موجود أدناه.

العشوائية في المحاكي

تأتي التمثيلات المرئية الحية من محاكي statevector أحادي اللقطة، وهو مختلف عن وحدة معالجة الكم المحددة في إعدادات التشغيل التي يمكنها إجراء لقطات متعددة. يُنشئ المحاكي العشوائية عن طريق توليد نتائج استناداً إلى بذرة (seed). البذرة هي القيمة الأولية التي تُدخَل في الخوارزمية لتوليد أرقام عشوائية زائفة. يمكنك الاطلاع على رقم البذرة باختيار "Visualizations seed" من قائمة Edit. يمكنك أيضاً تعيين البذرة بنفسك بتغيير القيمة في المربع.

عرض التمثيلات المرئية

تظهر التمثيلات المرئية الحية في نوافذ أسفل مساحة عمل Composer (باستثناء قرص الطور الذي يظهر في نهاية سلك كل Qubit). يمكنك اختيار أي مزيج من تمثيلات statevector والاحتمالات وكرة Q لتظهر في أسفل مساحة العمل. اختر التمثيلات أو ألغِ اختيارها من قائمة View.

تنزيل التمثيلات المرئية

نزِّل أحد التمثيلات المرئية أسفل مساحة عمل Composer بالنقر على قائمة "More options" في نافذة التمثيل. يمكنك تنزيل التمثيلات بصيغة SVG أو PNG أو CSV للبيانات الأساسية. يمكنك أيضاً تنزيل صور التمثيلات المرئية لهيستوغرامات احتمالات القياس والـ statevector بصيغة PDF.

قرص الطور

يمكن تمثيل حالة Qubit واحد على النحو التالي:

ψ=1p0+ejφp1,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0\rangle + e^{j\varphi} \sqrt{p} \vert1\rangle,\end{split}

حيث pp هو احتمال وجود الـ Qubit في حالة 1|1\rangle، وφ\varphi هو الطور الكمي. pp مشابه جداً للبِت الاحتمالي الكلاسيكي؛ فعند p=0p=0 يكون الـ Qubit في حالة 0|0\rangle، وعند p=1p=1 يكون في حالة 1|1\rangle، وعند p=1/2p=1/2 يكون الـ Qubit خليطاً بنسبة 50/50. نسمي هذا تراكباً (Superposition) لأن هذا الخليط، خلافاً للبِتات الكلاسيكية، يمكن أن يحمل طوراً كمياً. قرص الطور يُمثّل هذه الحالة بصرياً.

يُعطي قرص الطور الموجود عند نهاية كل Qubit في IBM Quantum Composer الحالة المحلية لكل Qubit في نهاية الحساب. مكونات قرص الطور موضحة أدناه.

احتمال وجود الـ Qubit في حالة 1|1\rangle

يُمثَّل احتمال وجود الـ Qubit في حالة 1|1\rangle بالقرص الأزرق الممتلئ.

احتمال وجود الـ Qubit في حالة 1

الطور الكمي

يُعطى الطور الكمي لحالة الـ Qubit بالخط الممتد من مركز الرسم إلى حافة القرص الرمادي (الذي يدور عكس اتجاه عقارب الساعة حول نقطة المركز).

طور حالة الـ Qubit المحلية

مثال: أقراص الطور لـ Qubitين مختلفين

أمثلة على قرص الطور

مثالان على تمثيل قرص الطور. المثال الأول يمثل حالة 1|1\rangle والثاني يمثل حالة (01)/2(|0\rangle-|1\rangle)/\sqrt{2} ذات طور نسبي غير صفري.

الصلة بكرة بلوخ

قرص الطور، الذي يحتوي على كل المعلومات الموجودة في كرة بلوخ، هو تمثيل ثنائي الأبعاد للـ Qubit. للتحويل إلى تمثيل كرة بلوخ: x=2p(1p)Re[ejφ]x=2\sqrt{p(1-p)}\mathrm{Re}[e^{j\varphi} ]، y=2p(1p)Im[ejφ]y=2\sqrt{p(1-p)}\mathrm{Im}[e^{j\varphi} ]، وz=12pz=1-2p.

حالات N-Qubit: حد أقصى 15 Qubit

تأخذ الحالة الكمية لـ N من الـ Qubits الشكل التالي:

ψ=1p0...0+k=12N1ejφkpkk,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0...0\rangle + \sum_{k=1}^{2^N-1}e^{j\varphi_k} \sqrt{p_k} \vert k\rangle,\end{split}

حيث pkp_k هو احتمال وجود الـ Qubits في الحالة k|k\rangle مع الطور الكمي φk\varphi_k بالنسبة لحالة 0...0|0...0\rangle. وp=k0pkp=\sum_{k\neq0}p_k هو احتمال ألا تكون الـ Qubits في الحالة الأرضية 0...0|0...0\rangle. من السهل هنا ملاحظة أن الحالة الكمية لـ N من الـ Qubits تحتوي على 2N12^N-1 احتمالاً و2N12^N-1 طوراً. يعجز قرص الطور عن تمثيل هذه الحالة، إذ إن أقراص طور N-Qubit لا تحتوي إلا على NN احتمالاً وNN طوراً؛ وذلك لأن معظم الحالات متشابكة وغير قابلة للفصل إلى حالات Qubit مستقلة. للإشارة إلى أن هذا التمثيل لا يحتوي على المعلومات الكاملة، نُدرج النقاء المُختزَل كمكوّن في قرص الطور.

النقاء المُختزَل لحالة الـ Qubit

يُمثّل نصف قطر الحلقة السوداء النقاءَ المُختزَل لحالة الـ Qubit، الذي يُعطى للـ Qubit jj في حالة NN-Qubit ψ|\psi\rangle بالصيغة Tr[Trij[ψψ]2]\mathrm{Tr}\left[\mathrm{Tr}_{i\neq j}[\left|\psi\rangle\langle\psi\right|\right]^{2}]. النقاء المُختزَل لـ Qubit واحد يقع في النطاق [0.5,1][0.5, 1]؛ القيمة واحد تشير إلى أن الـ Qubit غير متشابك مع أي طرف آخر. في المقابل، النقاء المُختزَل البالغ 0.50.5 يدل على أن الـ Qubit يوجد في حالة خلط تام، وله مستوى من التشابك مع الـ Qubits الـ N1N-1 المتبقية، وربما حتى مع البيئة المحيطة.

نقاء حالة الـ Qubit

عرض الاحتمالات

حد 8 Qubits

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

تأمل الدائرة الكمية التالية وعرض احتمالاتها:

دائرة كمية

عرض احتمالات القياس

تضع الدائرة الـ Qubitين في الحالة ψ=(00+01+1011)/2.|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. حالات الأساس الحسابية هي 00,10,01,|00\rangle, |10\rangle, |01\rangle, و11.|11\rangle. احتمال كل حالة من الحالات الحسابية هو 1/4.

عرض كرة Q

حد 5 Qubits

تُمثّل كرة Q حالة منظومة من Qubit أو أكثر بربط كل حالة أساس حسابية بنقطة على سطح كرة. تظهر عُقدة عند كل نقطة. نصف قطر كل عُقدة يتناسب مع احتمال (pkp_k) حالة أساسها، فيما يشير لون العُقدة إلى الطور الكمي (φk\varphi_k).

تُرتَّب العُقد على كرة Q بحيث تكون حالة الأساس ذات الأصفار كلها (مثلاً 000|000\rangle) عند قطبها الشمالي، وحالة الأساس ذات الآحاد كلها (مثلاً 111|111\rangle) عند قطبها الجنوبي. حالات الأساس التي تحتوي على عدد متساوٍ من الأصفار (أو الآحاد) تقع على خط عرض مشترك على كرة Q (مثلاً 001,010,100|001\rangle, |010\rangle, |100\rangle). بدءاً من القطب الشمالي للكرة واتجاهاً جنوباً، يحتوي كل خط عرض متتالٍ على حالات أساس بعدد أكبر من الآحاد؛ ويُحدَّد خط عرض حالة الأساس بـمسافة هامينغ منها إلى حالة الأصفار. تحتوي كرة Q على معلومات كاملة عن الحالة الكمية في تمثيل مضغوط.

تأمل الدائرة الكمية التالية وكرة Q الخاصة بها، اللتين تُمثّلان الحالة التي تُنشئها الدائرة:

دائرة كمية

عرض كرة Q

يمكنك تحديد كرة Q والضغط عليها وسحبها لتدويرها. لإعادة كرة Q إلى اتجاهها الافتراضي، انقر على زر السهم الإرجاع في أعلى يمين كرة Q.

ما الفرق بين كرة بلوخ وكرة Q؟

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

عرض متجه الحالة (Statevector)

حد 6 Qubits

من المعتاد تسمية pkeiφk\sqrt{p_k}e^{i\varphi_k} بالسعة الكمية. يُمثّل هذا العرض السعات الكمية على شكل رسم بياني شريطي. يُصنّف المحور الأفقي حالات الأساس الحسابية، ويقيس المحور الرأسي مقدار السعات (pk\sqrt{p_k}) المرتبطة بكل حالة أساس حسابية. يُمثّل لون كل شريط الطور الكمي (φk{\varphi_k}).

تأمل الدائرة الكمية التالية وعرض متجه الحالة الخاص بها:

دائرة كمية

عرض متجه الحالة

تضع الدائرة الـ Qubitين في الحالة ψ=(00+01+1011)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. حالات الأساس الحسابية هي 00|00\rangle و10|10\rangle و01|01\rangle و11|11\rangle. مقادير السعات هي 1/21/2، والأطوار الكمية بالنسبة للحالة الأرضية هي 00 لكل من 01|01\rangle و10|10\rangle، وπ\pi لـ 11|11\rangle.

قاموس عمليات Composer

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

يوفر كل إدخال أدناه تفاصيل ومرجع OpenQASM لكل عملية. راجع الموضوع المتعلق بـ بناء دائرتك باستخدام كود OpenQASM للمزيد من المعلومات.

تُظهر صورة كرة Q في كل إدخال بوابة الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}|i\rangle، حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة. راجع موضوع كرة Q للمزيد من المعلومات حول هذا التمثيل المرئي.

يمكنك تعريف عملية مخصصة لاستخدامها في IBM Quantum Composer. للتعليمات، راجع موضوع إنشاء عملية مخصصة في OpenQASM.

ألوان البوابات

ألوان البوابات تختلف قليلاً بين السمة الفاتحة والداكنة. الألوان الموضحة هنا هي من السمة الفاتحة.

انقر على أي عملية كمية أدناه لعرض تعريفها.

البوابات الكلاسيكية

بوابة NOT

بوابة NOT، المعروفة أيضاً بـ Pauli X، تقلب حالة 0\left|0\right\rangle إلى 1\left|1\right\rangle والعكس بالعكس. بوابة NOT مكافئة لـ RX بزاوية π\pi أو لـ 'HZH'.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
x_gatex q[0];image19تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة CNOT

بوابة CNOT المتحكَّم بها، المعروفة أيضاً بـ CX، تعمل على زوج من الـ Qubits، حيث يعمل أحدهما كـ 'تحكم' والآخر كـ 'هدف'. تُطبّق NOT على الهدف كلما كان Qubit التحكم في حالة 1\left|1\right\rangle. إذا كان Qubit التحكم في حالة تراكب، تُنشئ هذه البوابة تشابكاً.

يمكن تحليل كل الدوائر الوحدوية إلى بوابات أحادية الـ Qubit وبوابات CNOT. ولأن بوابة CNOT ثنائية الـ Qubit تكلّف وقتاً أطول بكثير من بوابات الـ Qubit الواحد على العتاد الفعلي، تُقاس تكلفة الدائرة أحياناً بعدد بوابات CNOT.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
CX-Gatecx q[0], q[1];image19تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة Toffoli

بوابة Toffoli، المعروفة أيضاً بـ CCX أو NOT المتحكَّم بها مزدوجاً، لها Qubitان للتحكم وهدف واحد. تُطبّق NOT على الهدف فقط عندما يكون كلا Qubitَي التحكم في حالة 1\left|1\right\rangle.

بوابة Toffoli مع بوابة هادامار تشكّل مجموعة بوابات عالمية للحوسبة الكمية.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
ccx-gateccx q[0], q[1], q[2];ccx_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة SWAP

تبادل بوابة SWAP حالتَي Qubitين.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
SWAP gateswap q[0], q[1];swap_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة الهوية

بوابة الهوية (تُسمى أحياناً Id أو I) هي في الحقيقة غياب بوابة. تضمن عدم تطبيق أي شيء على Qubit لمدة وحدة زمنية واحدة من زمن البوابة.

مرجع Composerمرجع Qasm
Identity gateid q[0];

بوابات الطور

بوابة T

بوابة T مكافئة لـ RZ بزاوية π/4\pi/4. ستقوم أجهزة الكمبيوتر الكمية المتحملة للأخطاء بترجمة جميع البرامج الكمية إلى بوابة T وعكسها وحسب، فضلاً عن بوابات كليفورد.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
t_gatet q[0];image29تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة S

تُطبّق بوابة S طوراً قدره ii على حالة 1\left|1\right\rangle. هي مكافئة لـ RZ بزاوية π/2\pi/2. لاحظ أن S=P(π/2\pi/2).

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
s_gates q[0];image25تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة Z

تعمل بوابة Pauli Z كهوية على حالة 0\left|0\right\rangle وتضرب إشارة حالة 1\left|1\right\rangle في -1. وبذلك تقلب حالتَي +\left|+\right\rangle و\left|-\right\rangle. في أساس +/-، تؤدي الدور ذاته الذي تؤديه بوابة NOT في أساس 0\left|0\right\rangle/1\left|1\right\rangle.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
z_gatez q[0];image23تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة TT^{\dagger}

تُعرف أيضاً بـ Tdg أو T-dagger.

هي عكس بوابة T.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
T-dagger gatetdg q[0];image31تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة SS^{\dagger}

تُعرف أيضاً بـ Sdg أو S-dagger.

هي عكس بوابة S.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
S-dagger gatesdg q[0];image27تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة الطور

تُطبّق بوابة الطور (المعروفة سابقاً بـ U1) طوراً قدره eiθe^{i\theta} على حالة 1\left|1\right\rangle. لقيم معينة من θ\theta، تكون مكافئة لبوابات أخرى. على سبيل المثال: P(π\pi)=Z، وP(π\pi/22)=S، وP(π/4\pi/4)=T. باستثناء طور عالمي قدره eiθ/2e^{i\theta/2}، هي مكافئة لـ RZ(θ\theta).

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
p_gatep(theta) q[0];p_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ theta هي π/2\pi/2.

بوابة RZ

تُنفّذ بوابة RZ العملية exp(iθ2Z)exp(-i\frac{\theta}{2}Z). على كرة بلوخ، تقابل هذه البوابة تدوير حالة الـ Qubit حول محور z بالزاوية المحددة.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rz_gaterz(angle) q[0];image17تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2. لذا، هذه هي الزاوية المستخدمة في تمثيل كرة Q.

المشغّلات غير الأحادية والمُعدِّلات

عملية إعادة الضبط

تُعيد عملية Reset الـ Qubit إلى حالة 0\left|0\right\rangle بصرف النظر عن حالته قبل تطبيق العملية. وهي عملية غير قابلة للعكس.

مرجع Composerمرجع OpenQASM
0-operareset q[0];

القياس

القياس في الأساس القياسي، المعروف أيضاً بأساس z أو الأساس الحسابي. يمكن استخدامه لتنفيذ أي نوع من القياسات عند دمجه مع البوابات. وهو عملية غير قابلة للعكس.

مرجع Composerمرجع OpenQASM
القياس في الأساس القياسي أو أساس zmeasure q[0];

مُعدِّل التحكم

يُنتج مُعدِّل التحكم بوابةً تصبح عمليتها الأصلية مشروطة بحالة Qubit التحكم. عندما يكون التحكم في حالة 1|1\rangle، يخضع الـ Qubit (أو الـ Qubits) المستهدَف للتطور الأحادي المحدد. في المقابل، لا تُنفَّذ أي عملية إذا كان التحكم في حالة 0|0\rangle. إذا كان Qubit التحكم في حالة تراكب، تتبع العملية الناتجة من الخطية.

اسحب مُعدِّل التحكم إلى بوابة لإضافة تحكم إليها. ستظهر نقاط فوق البوابة وتحتها، على أسلاك الـ Qubit التي يمكن أن تكون أهدافاً للتحكم؛ انقر على نقطة واحدة أو أكثر لتعيين الهدف إلى Qubit أو أكثر. يمكنك أيضاً تعيين تحكم بالنقر بزر الفأرة الأيمن على البوابة.

لإزالة تحكم، انقر بزر الفأرة الأيمن على البوابة واختر خيار إزالة التحكم.

مرجع Composerمرجع OpenQASM
Control modifierc

عملية الحاجز

لجعل برنامجك الكمي أكثر كفاءة، سيحاول المُترجم دمج البوابات. الحاجز (Barrier) هو تعليمة للمُترجم بمنع هذه الدمجات. إضافةً إلى ذلك، هو مفيد لأغراض التمثيل المرئي.

مرجع Composerمرجع OpenQASM
barrierbarrier q;

بوابة هادامار

بوابة H

تُدوّر بوابة H أو هادامار الحالتين 0\left|0\right\rangle و1\left|1\right\rangle إلى +\left|+\right\rangle و\left|-\right\rangle على التوالي. وهي مفيدة لإنشاء التراكبات. إذا كان لديك مجموعة بوابات عالمية على كمبيوتر كلاسيكي وأضفت إليها بوابة هادامار، تصبح مجموعة بوابات عالمية على كمبيوتر كمي.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
h-gateh q[0];image1تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

البوابات الكمية

بوابة X\sqrt{X}

تُعرف أيضاً بـ square-root NOT.

تُنفّذ هذه البوابة الجذر التربيعي لـ X، وهو X\sqrt{X}. تطبيق هذه البوابة مرتين متتاليتين ينتج بوابة Pauli-X القياسية (بوابة NOT). مثل بوابة هادامار، تُنشئ X\sqrt{X} حالة تراكب متساوية إذا كان الـ Qubit في حالة 0|0\rangle، لكن بطور نسبي مختلف. على بعض الأجهزة، هي بوابة أصيلة يمكن تنفيذها بنبضة π/2\pi/2 أو X90.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
sx_gatesx q[0];sx_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة X\sqrt{X}^{\dagger}

تُعرف أيضاً بـ SXdg أو square-root NOT-dagger.

هي عكس بوابة X\sqrt{X}. تطبيقها مرتين متتاليتين ينتج بوابة Pauli-X (بوابة NOT)، إذ بوابة NOT هي عكس نفسها. مثل بوابة X\sqrt{X}، يمكن استخدام هذه البوابة لإنشاء حالة تراكب متساوية، وهي أيضاً مُنفَّذة بصورة أصيلة على بعض الأجهزة باستخدام نبضة X90.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
sxdg_gatesxdg q[0];sxdg_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة Y

بوابة Pauli Y مكافئة لـ Ry بزاوية π\pi. وهي مكافئة لتطبيق X وZ، باستثناء عامل طور عالمي.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
y_gatey q[0];image21تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة RX

تُنفّذ بوابة RX العملية exp(iθ2X)exp(-i\frac{\theta}{2}X). على كرة بلوخ، تقابل هذه البوابة تدوير حالة الـ Qubit حول محور x بالزاوية المحددة.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rx_gaterx(angle) q[0];image13تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2. لذا، هذه هي الزاوية المستخدمة في تمثيل كرة Q.

بوابة RY

تُنفّذ بوابة RY العملية exp(iθ2Y)exp(-i\frac{\theta}{2}Y). على كرة بلوخ، تقابل هذه البوابة تدوير حالة الـ Qubit حول محور y بالزاوية المحددة، ولا تُدخل سعات مركبة.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
ry_gatery(angle) q[0];image15تُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2. لذا، هذه هي الزاوية المستخدمة في تمثيل كرة Q أدناه.

بوابة RXX

تُنفّذ بوابة RXX العملية exp(iθ/2XX)\exp(-i \theta/2 X \otimes X). يمكن التعبير عن بوابة Mølmer–Sørensen، البوابة الأصيلة في أنظمة المصائد الأيونية، كمجموع من بوابات RXX.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rxx-gaterxx(angle) q[0], q[1];rxx_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2.

بوابة RZZ

تحتاج بوابة RZZ إلى معامل واحد: زاوية بالراديان. هذه البوابة متماثلة؛ تبديل الـ Qubitين اللذين تعمل عليهما لا يغير شيئاً.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rzz_gaterzz(angle) q[0], q[1];rzz_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2.

بوابة U

(كانت تُعرف سابقاً بـ U3) المعاملات الثلاثة تتيح بناء أي بوابة أحادية الـ Qubit. مدتها وحدة زمنية واحدة من زمن البوابة.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
u_gateu(theta, phi, lam) q[0];u3_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

في IBM Quantum Composer، القيمة الافتراضية لـ angle هي π/2\pi/2.

بوابة RCCX

بوابة Toffoli المُبسَّطة، المعروفة أيضاً بـ Margolus.

تُنفّذ بوابة Toffoli المُبسَّطة بوابةَ Toffoli حتى الأطوار النسبية. يتطلب هذا التنفيذ ثلاث بوابات CX، وهو الحد الأدنى الممكن، كما هو مُثبَت في https://arxiv.org/abs/quant-ph/0312225. لاحظ أن Toffoli المُبسَّطة ليست مكافئة لـ Toffoli، لكن يمكن استخدامها في الأماكن التي تُلغى فيها بوابة Toffoli لاحقاً.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rccx-gaterccx a, b, c;rccx_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.

بوابة RC3X

بوابة Toffoli المُبسَّطة ذات 3 تحكمات.

تُنفّذ بوابة Toffoli المُبسَّطة بوابةَ Toffoli حتى الأطوار النسبية. لاحظ أن Toffoli المُبسَّطة ليست مكافئة لـ Toffoli، لكن يمكن استخدامها في الأماكن التي تُلغى فيها بوابة Toffoli لاحقاً.

مرجع Composerمرجع OpenQASMكرة Qملاحظة حول تمثيلات كرة Q
rc3x-gaterc3x a, b, c, d;rc3x_qsphتُظهر كرة Q الحالةَ بعد أن تعمل البوابة على حالة التراكب المتساوي الأولية 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, حيث nn هو عدد الـ Qubits اللازمة لدعم البوابة.