تمرين - استخدام مدخل Microsoft Azure لتشغيل برنامج كمومي
يتضمن مدخل Azure Quantum معرض دفاتر ملاحظات مع نماذج من دفاتر الملاحظات يمكنك استخدام دفاتر الملاحظات هذه لتشغيل برامج المقدار الخاصة بك.
المتطلبات الأساسية
- اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
إنشاء مساحة عمل كمومية
- سجّل الدخول إلى مدخل Microsoft Azure، باستخدام بيانات اعتماد اشتراك Azure الخاص بك.
- حدد Create a resource ثم ابحث عن Azure Quantum. في صفحة النتائج، يجب أن تشاهد تجانبا لخدمة Azure Quantum .
- حدد Azure Quantum ثم حدد Create. سيتم فتح نموذج لإنشاء مساحة عمل.
- حدد اشتراكاً لربطه بمساحة العمل الجديدة.
- حدد إنشاء سريع.
- أدخل اسماوحدد المنطقة لمساحة العمل.
- حدد إنشاء.
قد يستغرق توزيع مساحة العمل الخاصة بك بضع دقائق. سيتم تحديث تفاصيل الحالة والتوزيع في المدخل الإلكتروني.
تشغيل برنامج كمومي باستخدام دفاتر ملاحظات Azure Quantum
إنشاء دفتر ملاحظات
- حدد مساحة عمل Azure Quantum في مدخل Microsoft Azure.
- حدد Notebooks.
- انقر فوق My Notebooks وانقر فوق Add New.
- اكتب اسما للملف، على سبيل المثال submit-quantum-job.ipynb، وانقر فوق Create file.
- يمكن العثور على دفتر الملاحظات ضمن دفاتر الملاحظات الخاصة بي ويمكنك الآن تشغيل دفتر الملاحظات.
الاتصال إلى مساحة عمل Azure Quantum
للاتصال بخدمة Azure Quantum، تحتاج إلى معرف المورد وموقع مساحة عمل Azure Quantum. يمكنك العثور على هذه القيم في قسم نظرة عامة في مساحة العمل الخاصة بك في مدخل Microsoft Azure.
انسخ التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات واستبدل القيم الخاصة resource_id
location
بمساحة العمل و بالقيم الخاصة بها.
import azure.quantum
workspace = Workspace (
resource_id = "", # Add your resource_id
location = "" # Add your workspace location (for example, "westus")
)
كتابة عملية Q#
أولا، تحتاج إلى استيراد الحزمة
qsharp
لتمكين الأمر السحري "٪٪qsharp" المستخدم في الخلايا اللاحقة. أضف التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات.import qsharp
انسخ التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات. تعرف هذه التعليمة البرمجية عملية Q# التي تنشئ بت عشوائي باستخدام
%%qsharp
الأمر "السحري".%%qsharp operation Random() : Result { use q = Qubit(); H(q); let result = M(q); Reset(q); return result } operation RandomNBits(N: Int): Result[] { mutable results = []; for i in 0 .. N - 1 { let r = Random(); set results += [r]; } return results }
- تستخدم
H
العمليةRandom
البوابة لوضع qubit في تراكب0
و1
، ثم يقيس qubit للحصول على بت عشوائي. تعملReset
العملية على إعادة تعيين qubit إلى|0⟩
الحالة. - تأخذ العملية
RandomNBits
عددا صحيحاN
كإدخل وترجع صفيفا منN
البتات العشوائية.
- تستخدم
تشغيل عملية Q#
أضف التعليمات البرمجية التالية في خلية جديدة في دفتر ملاحظاتك لتشغيل
RandomNBits
العملية لمدة 100 طلقة مقابل جهاز محاكاة Rigetti.operation = qsharp.compile("RandomNBits(4)") target = workspace.get_targets("rigetti.sim.qvm") job = target.submit(operation, "my-azure-quantum-job", input_params={ "count": 100 }) # Wait for the job to complete job.get_results()
لتشغيل البرنامج بالكامل من أعلى إلى أسفل، حدد Run all.
لتصفح المثال وتشغيل كل خلية على حدة من أعلى إلى أسفل، حدد الخلية التي تريد تشغيلها وحدد run icon.