لغة الحوسبة الكمومية

لغة الحوسبة الكمومية ( QCL ) هي إحدى أوائل لغات البرمجة الكمومية المُطبقة . [ 1 ] أهم ما يُميز QCL هو دعمها للمُعاملات والدوال المُعرّفة من قِبل المستخدم. يُشبه تركيبها تركيب لغة البرمجة C ، كما أن أنواع بياناتها التقليدية تُشابه أنواع البيانات الأولية في C. يُمكن دمج الشيفرة التقليدية والشيفرة الكمومية في البرنامج نفسه.

تم إنشاء اللغة قبل وجود أجهزة الكمبيوتر الكمومية متعددة الكيوبتات، والتطبيق الوحيد للغة QCL يستخدم مترجمًا مع جهاز كمبيوتر كمومي محاكى كلاسيكيًا مدمج.

تم إنشاء مختبر الحوسبة الكمومية (QCL) لاستكشاف مفاهيم البرمجة لأجهزة الكمبيوتر الكمومية. [ 2 ] [ 3 ] [ 4 ]

توفر مكتبة QCL عوامل التشغيل الكمومية القياسية المستخدمة في الخوارزميات الكمومية مثل: [ 5 ]

  • مُتحكَّم به - ليس مع العديد من الكيوبتات المستهدفة،
  • عملية هادامارد على العديد من الكيوبتات،
  • الطور والطور المتحكم به.
  • خوارزميات الكم للجمع والضرب والرفع إلى الأسس باستخدام الثوابت الثنائية (جميعها ذات معامل n)
  • تحويل فورييه الكمي

بناء الجملة

  • أنواع البيانات
    • الكم - qureg، quvoid، quconst، quscratch، qucond
    • كلاسيكي - عدد صحيح، حقيقي، مركب، منطقي، سلسلة نصية، متجه، مصفوفة، موتر
  • أنواع الدوال
    • qufunct - مؤثرات شبه كلاسيكية. يمكنها فقط تغيير تبديل حالات الأساس.
    • المؤثر - المؤثرات الوحدوية العامة. يمكنه تغيير السعة.
    • الإجراء - يمكن استدعاء وظائف القياس والطباعة والتفريغ داخل هذه الدالة. هذه الدالة غير قابلة للعكس.
  • الوظائف المدمجة
    • الكم
      • qufunct - Fanout, Swap, Perm2, Perm4, Perm8, Not, CNot
      • المُعامل - مصفوفة ٢×٢، مصفوفة ٤×٤، مصفوفة ٨×٨، تدوير، مزج، أفقي، طور ثابت، جذر غير موجب، س، ص، ع، ص، ت
      • الإجراء - القياس، التفريغ، إعادة الضبط
    • كلاسيكي
      • العمليات الحسابية - الجيب، جيب التمام، الظل، اللوغاريتم، الجذر التربيعي، ...
      • المركب - ري، إم، اقتران

أمثلة

يُعدّ نوع البيانات الكمومية الأساسي المدمج في QCL هو qureg (المسجل الكمومي). ويمكن تفسيره على أنه مصفوفة من الكيوبتات (البتات الكمومية).

qureg x1 [ 2 ]; // مسجل كمومي ثنائي الكيوبت x1 qureg x2 [ 2 ]; // مسجل كمومي ثنائي الكيوبت x2 H ( x1 ); // عملية هادامارد على x1 H ( x2 [ 1 ]); // عملية هادامارد على الكيوبت الأول من المسجل x2

بما أن مترجم لغة qcl يستخدم مكتبة محاكاة qlib، فمن الممكن مراقبة الحالة الداخلية للآلة الكمومية أثناء تنفيذ البرنامج الكمومي.

qcl> dump الحالة: تم تخصيص 4 من أصل 32 كيوبت، وتبقى 28 من أصل 32 كيوبت متاحة. 0.35355 |0> + 0.35355 |1> + 0.35355 |2> + 0.35355 |3> + 0.35355 |8> + 0.35355 |9> + 0.35355 |10> + 0.35355 |11> 

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

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

operator diffuse ( qureg q ) { H ( q ); // تحويل هادامارد Not ( q ); // عكس q CPhase ( pi , q ); // تدوير إذا كانت q=1111.. ! Not ( q ); // التراجع عن العكس ! H ( q ); // التراجع عن تحويل هادامارد }

يُعرّف هذا المتغير معكوس عامل المتوسط ​​المستخدم في خوارزمية غروفر (ويُسمى أحيانًا عامل انتشار غروفر ). وهذا يسمح بتعريف الخوارزميات على مستوى أعلى من التجريد وتوسيع مكتبة الدوال المتاحة للمبرمجين.

مراجع

  1. "QCL - لغة برمجة للحواسيب الكمومية" . tuwien.ac.at . تم الاطلاع عليه بتاريخ 20 يوليو 2017 .
  2. عمر، برنارد (20 يناير 2000). البرمجة الكمومية في ليزر QCL (ملف PDF) (أطروحة). معهد الفيزياء النظرية، جامعة فيينا للتكنولوجيا . تاريخ الاسترجاع: 24 مايو 2021 .
  3. عمر، برنارد (29 أبريل 2003). "المفاهيم الكلاسيكية في البرمجة الكمومية". المجلة الدولية للفيزياء النظرية . 44 (7): 943-955 . arXiv : quant-ph/0211100 . doi : 10.1007/s10773-005-7071-x . S2CID 119373370 . 
  4. عمر، برنارد (2 سبتمبر 2009). "البرمجة الكمومية المهيكلة" (ملف PDF) . معهد الفيزياء النظرية، جامعة فيينا للتكنولوجيا.
  5. صفحة ويب QCL