تمرين - استخدام مدخل Microsoft Azure لتشغيل برنامج كمومي

مكتمل

يتضمن مدخل Azure Quantum معرض دفاتر ملاحظات مع نماذج من دفاتر الملاحظات يمكنك استخدام دفاتر الملاحظات هذه لتشغيل برامج المقدار الخاصة بك.

المتطلبات الأساسية

إنشاء مساحة عمل كمومية

  1. سجّل الدخول إلى مدخل Microsoft Azure، باستخدام بيانات اعتماد اشتراك Azure الخاص بك.
  2. حدد Create a resource ثم ابحث عن Azure Quantum. في صفحة النتائج، يجب أن تشاهد تجانبا لخدمة Azure Quantum .
  3. حدد Azure Quantum ثم حدد Create. سيتم فتح نموذج لإنشاء مساحة عمل.
  4. حدد اشتراكاً لربطه بمساحة العمل الجديدة.
  5. حدد إنشاء سريع.
  6. أدخل اسماوحدد المنطقة لمساحة العمل.
  7. حدد إنشاء.

قد يستغرق توزيع مساحة العمل الخاصة بك بضع دقائق. سيتم تحديث تفاصيل الحالة والتوزيع في المدخل الإلكتروني.

تشغيل برنامج كمومي باستخدام دفاتر ملاحظات Azure Quantum

إنشاء دفتر ملاحظات

  1. حدد مساحة عمل Azure Quantum في مدخل Microsoft Azure.
  2. حدد Notebooks.
  3. انقر فوق My Notebooks وانقر فوق Add New.
  4. اكتب اسما للملف، على سبيل المثال submit-quantum-job.ipynb، وانقر فوق Create file.
  5. يمكن العثور على دفتر الملاحظات ضمن دفاتر الملاحظات الخاصة بي ويمكنك الآن تشغيل دفتر الملاحظات.

الاتصال إلى مساحة عمل Azure Quantum

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

انسخ التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات واستبدل القيم الخاصة resource_idlocation بمساحة العمل و بالقيم الخاصة بها.


import azure.quantum

workspace = Workspace ( 
    resource_id = "", # Add your resource_id 
    location = ""  # Add your workspace location (for example, "westus") 
)

كتابة عملية Q#

  1. أولا، تحتاج إلى استيراد الحزمة qsharp لتمكين الأمر السحري "٪٪qsharp" المستخدم في الخلايا اللاحقة. أضف التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات.

    import qsharp
    
  2. انسخ التعليمات البرمجية التالية في خلية جديدة في دفتر الملاحظات. تعرف هذه التعليمة البرمجية عملية 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#

  1. أضف التعليمات البرمجية التالية في خلية جديدة في دفتر ملاحظاتك لتشغيل 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()
    
  2. لتشغيل البرنامج بالكامل من أعلى إلى أسفل، حدد Run all.

  3. لتصفح المثال وتشغيل كل خلية على حدة من أعلى إلى أسفل، حدد الخلية التي تريد تشغيلها وحدد run icon.