البرمجة الكمومية
يشير مصطلح البرمجة الكمومية إلى عملية تصميم وتنفيذ خوارزميات تعمل على الأنظمة الكمومية ، باستخدام دوائر كمومية تتألف عادةً من بوابات كمومية، وقياسات، ومنطق تحكم كلاسيكي. تُطوَّر هذه الدوائر لمعالجة الحالات الكمومية لأغراض حسابية محددة أو نتائج تجريبية. يمكن تنفيذ البرامج الكمومية على معالجات كمومية، أو محاكاتها على أجهزة تقليدية، أو تطبيقها من خلال أجهزة مخبرية لأغراض البحث.
عند العمل مع الأنظمة القائمة على المعالجات الكمومية، توفر لغات البرمجة الكمومية تجريدات عالية المستوى للتعبير عن الخوارزميات الكمومية بكفاءة. غالبًا ما تتكامل هذه اللغات مع بيئات البرمجة التقليدية وتدعم سير العمل الهجين الكمومي-التقليدي. وقد تأثر تطوير البرمجيات الكمومية بشكل كبير بمجتمع المصادر المفتوحة ، حيث تتوفر العديد من مجموعات الأدوات والأطر البرمجية - مثل Qrisp و Qiskit و Cirq و PennyLane وqBraid SDK - بموجب تراخيص مفتوحة المصدر. [ 1 ] [ 2 ]
يمكن استخدام البرمجة الكمومية أيضًا لنمذجة الأنظمة التجريبية أو التحكم بها من خلال الأجهزة الكمومية والمنصات القائمة على أجهزة الاستشعار. في حين أن بعض بنى الحوسبة الكمومية - مثل الحوسبة الكمومية البصرية الخطية باستخدام بروتوكول KLM - تتطلب أجهزة متخصصة، فإن البعض الآخر يستخدم معالجات كمومية قائمة على البوابات يمكن الوصول إليها عبر واجهات برمجية. في كلتا الحالتين، تعمل البرمجة الكمومية كحلقة وصل بين الخوارزميات النظرية والتطبيق العملي.
مجموعات التعليمات الكمومية
تُستخدم مجموعات التعليمات الكمومية لتحويل الخوارزميات عالية المستوى إلى تعليمات فيزيائية يمكن تنفيذها على المعالجات الكمومية. أحيانًا تكون هذه التعليمات خاصة بمنصة أجهزة معينة، مثل مصائد الأيونات أو الكيوبتات فائقة التوصيل .
شحرور
بلاكبيرد [ 3 ] [ 4 ] هي مجموعة تعليمات كمومية وتمثيل وسيط تستخدمه شركتا زانادو كوانتوم تكنولوجيز وستروبري فيلدز. وهي مصممة لتمثيل البرامج الكمومية ذات المتغيرات المستمرة التي يمكن تشغيلها على أجهزة الكم الضوئية.
cQASM
لغة cQASM، [ 5 ] والمعروفة أيضًا باسم QASM الشائعة، هي لغة تجميع كمومية مستقلة عن نوع العتاد، تضمن التوافق بين جميع أدوات التجميع والمحاكاة الكمومية. وقد طُوّرت من قِبل مختبر QCA في جامعة دلفت للتكنولوجيا .
OpenQASM
OpenQASM [ 6 ] هو التمثيل الوسيط الذي قدمته شركة IBM للاستخدام مع Qiskit ومنصة IBM Quantum.
QIR
تمثيل الوسائط الكمومية (QIR) هو تمثيل وسيط مستقل عن نوع العتاد، طورته مايكروسوفت كجزء من حزمة تطوير البرمجيات الكمومية (Quantum Development Kit ). يعتمد هذا التمثيل على بنية مُصرّف LLVM ، وهو مصمم لتمثيل البرامج الكمومية بطريقة تدعم التحسين والتنفيذ عبر مختلف واجهات الأجهزة الكمومية. [ 7 ] يعمل QIR كهدف مشترك لمُصرّفات البرمجيات الكمومية، مما يُتيح التفاعل بين لغات البرمجة المختلفة، مثل Q#، وطبقات التحكم في الأجهزة منخفضة المستوى. ويتولى صيانته تحالف QIR ، وهو مجموعة تعاونية من الشركاء الأكاديميين والصناعيين.
كويل
كويل هي بنية مجموعة تعليمات للحوسبة الكمومية، وهي أول من قدم نموذج ذاكرة مشتركة بين الكمومية والكلاسيكية. وقد قدمها روبرت سميث ومايكل كورتيس وويليام زينغ في كتابهم "بنية عملية لمجموعة تعليمات الكمومية" . [ 8 ] تتطلب العديد من الخوارزميات الكمومية (بما في ذلك النقل الكمومي ، وتصحيح الأخطاء الكمومية ، والمحاكاة، [ 9 ] [ 10 ] وخوارزميات التحسين [ 11 ] ) بنية ذاكرة مشتركة.
مجموعات تطوير البرمجيات الكمومية
توفر مجموعات تطوير البرمجيات الكمومية مجموعة من الأدوات لإنشاء البرامج الكمومية ومعالجتها. [ 12 ] كما أنها توفر الوسائل اللازمة لمحاكاة البرامج الكمومية أو إعدادها للتشغيل باستخدام الأجهزة الكمومية السحابية والأجهزة الكمومية ذاتية الاستضافة.
مجموعات تطوير البرامج (SDKs) التي تتيح الوصول إلى المعالجات الكمومية
يمكن استخدام مجموعات تطوير البرامج التالية لتشغيل الدوائر الكمومية على أجهزة الكم النموذجية، وكذلك على أجهزة المحاكاة.
سيرك
مشروع مفتوح المصدر طورته جوجل ، يستخدم لغة البرمجة بايثون لإنشاء ومعالجة الدوائر الكمومية. يمكن تشغيل البرامج المكتوبة بلغة Cirq على منصات IonQ و Pasqal و Rigetti و Alpine Quantum Technologies .
كلاسيك
تستخدم بيئة تطوير متكاملة (IDE) سحابية متخصصة في الحوسبة الكمومية، طورتها شركة Classiq، لغة Qmod عالية المستوى لإنشاء دوائر كمومية قابلة للتوسع وفعالة، وذلك باستخدام محرك توليف مُدرك للأجهزة، ويمكن نشرها على نطاق واسع من وحدات المعالجة الكمومية (QPUs). وتتضمن المنصة مكتبة ضخمة من الخوارزميات الكمومية.
غابة
مشروع مفتوح المصدر طوّره ريغيتي ، يستخدم لغة البرمجة بايثون لإنشاء ومعالجة الدوائر الكمومية. تُحَصَّل النتائج إما باستخدام برامج محاكاة أو نماذج أولية لأجهزة كمومية يوفرها ريغيتي. بالإضافة إلى إمكانية إنشاء برامج باستخدام العمليات الكمومية الأساسية، تتوفر خوارزميات متقدمة ضمن حزمة غروف. [ 15 ] يعتمد مشروع فورست على مجموعة تعليمات كويل .
مايند كوانتوم
MindQuantum هو إطار عمل للحوسبة الكمومية يعتمد على MindSpore ، ويركز على تنفيذ خوارزميات NISQ . [ 16 ] [ 17 ] [ 18 ]
محيط
مجموعة أدوات مفتوحة المصدر طورتها شركة D-Wave. كُتبت في الغالب بلغة برمجة بايثون، وتُمكّن المستخدمين من صياغة المسائل بصيغتي نموذج إيزينغ والتحسين الثنائي غير المقيد التربيعي (QUBO). يمكن الحصول على النتائج عن طريق إرسالها إلى حاسوب كمومي متصل بالإنترنت في بيئة Leap، وهي بيئة تطبيقات الكم في الوقت الحقيقي من D-Wave، أو أجهزة مملوكة للعميل، أو أجهزة أخذ عينات تقليدية.
بيني لين
مكتبة بايثون مفتوحة المصدر طورتها شركة Xanadu Quantum Technologies للبرمجة التفاضلية للحواسيب الكمومية. [ 19 ] [ 20 ] [ 21 ] [ 22 ] تتيح PennyLane للمستخدمين إمكانية إنشاء نماذج باستخدام TensorFlow أو NumPy أو PyTorch ، وربطها بأنظمة خلفية للحواسيب الكمومية متوفرة من IBMQ و Google Quantum و Rigetti و Quantinuum [ 23 ] و Alpine Quantum Technologies . [ 14 ] [ 24 ]
بيرسيفال
مشروع مفتوح المصدر أنشأته شركة كوانديلا لتصميم الدوائر الكمومية الضوئية وتطوير الخوارزميات الكمومية، ويعتمد على لغة بايثون . تُجرى عمليات المحاكاة إما على جهاز المستخدم أو على الحوسبة السحابية . كما يُستخدم برنامج بيرسيفال للاتصال بمعالج كوانديلا الكمومي الضوئي السحابي . [ 25 ] [ 26 ]

مشروع كيو
مشروع مفتوح المصدر تم تطويره في معهد الفيزياء النظرية في المعهد الفدرالي السويسري للتكنولوجيا في زيورخ ، ويستخدم لغة البرمجة بايثون لإنشاء ومعالجة الدوائر الكمومية. [ 27 ] يتم الحصول على النتائج إما باستخدام محاكي، أو عن طريق إرسال مهام إلى أجهزة IBM الكمومية.
مجموعة تطوير البرامج qBraid
تُعدّ حزمة تطوير البرمجيات qBraid SDK إطار عمل مفتوح المصدر ومستقل عن المنصات لتشغيل البرامج الكمومية، طوّرته شركة qBraid. تُمكّن هذه الحزمة المستخدمين من كتابة البرامج الكمومية مرة واحدة وتشغيلها على مختلف الأجهزة والمحاكيات الكمومية دون تعديل الشفرة. تدعم حزمة تطوير البرمجيات العديد من مكتبات البرمجة الكمومية، بما في ذلك Qiskit وCirq وPennyLane وPyQuil وBraket، وغيرها. وتتميز بمترجم برمجي قائم على الرسوم البيانية يُسهّل التحويل بين أنواع البرامج الكمومية المختلفة، مما يسمح بالتوافق السلس بين أطر العمل. كما توفر حزمة تطوير البرمجيات أدوات لإرسال المهام واسترجاع النتائج وتصوير الدوائر. وهي مُدمجة مع qBraid Lab، مما يتيح الوصول إلى أكثر من 20 جهازًا ومحاكيًا كموميًا من مزودين مثل IonQ وRigetti وQuEra وIQM. [ 28 ] [ 29 ]
كيبو
واجهة برمجة تطبيقات مفتوحة المصدر ومتكاملة لمحاكاة الكم، والتحكم في أجهزة الكم ومعايرتها، طُوِّرت بواسطة العديد من المختبرات البحثية، بما في ذلك QRC و CQT و INFN . Qibo عبارة عن إطار عمل معياري يتضمن العديد من الواجهات الخلفية لمحاكاة الكم والتحكم في الأجهزة. [ 30 ] [ 31 ] يهدف هذا المشروع إلى توفير إطار عمل للتحكم في أجهزة الكم، مستقل عن المنصة، مع برامج تشغيل لأجهزة متعددة [ 32 ] وأدوات لمعايرة الكم، وتوصيفه، والتحقق من صحته. [ 33 ] يركز هذا الإطار على أجهزة الكم ذاتية الاستضافة من خلال تبسيط تطوير البرمجيات المطلوب في المختبرات.
كيسكيت
مشروع مفتوح المصدر طورته شركة IBM . [ 34 ] تُنشأ الدوائر الكمومية وتُعالج باستخدام لغة بايثون. تُحصل النتائج إما باستخدام محاكيات تعمل على جهاز المستخدم، أو محاكيات توفرها IBM، أو نماذج أولية لأجهزة كمومية توفرها IBM. بالإضافة إلى إمكانية إنشاء برامج باستخدام العمليات الكمومية الأساسية، تتوفر أدوات متقدمة للخوارزميات وقياس الأداء ضمن حزم برمجية متخصصة. [ 35 ] يعتمد Qiskit على معيار OpenQASM لتمثيل الدوائر الكمومية. كما يدعم التحكم في مستوى النبضات للأنظمة الكمومية عبر معيار QiskitPulse. [ 36 ]
رقائق البطاطس المقرمشة
Qrisp [ 37 ] هو مشروع مفتوح المصدر تتولى تنسيقه مؤسسة Eclipse [ 38 ] ، وقد طُوّر بلغة برمجة بايثون بواسطة معهد Fraunhofer FOKUS [ 39 ]. Qrisp هي لغة برمجة عالية المستوى لإنشاء وتجميع الخوارزميات الكمومية. يُمكّن نموذج البرمجة الهيكلي الخاص بها من تطوير وصيانة قابلة للتوسع. يعتمد بناء الجملة التعبيري على المتغيرات بدلاً من الكيوبتات، مع اعتبار QuantumVariable فئة أساسية، وعلى الدوال بدلاً من البوابات. تُكمّل أدوات إضافية، مثل مُحاكي عالي الأداء وخاصية إلغاء الحساب التلقائي، هذا الإطار الشامل. علاوة على ذلك، فهو مستقل عن المنصة، حيث يُتيح تجميعًا بديلاً للدوال الأساسية وصولاً إلى مستوى الدائرة، استنادًا إلى مجموعات البوابات الخاصة بالجهاز.
مجموعة تطوير الكم
مشروعٌ طوّرته مايكروسوفت [ 40 ] كجزءٍ من إطار عمل .NET . يمكن كتابة برامج الحوسبة الكمومية وتشغيلها داخل Visual Studio و VSCode باستخدام لغة البرمجة الكمومية Q#. يمكن تشغيل البرامج المطوّرة في QDK على Azure Quantum من مايكروسوفت [ 41 ] ، وعلى أجهزة الحوسبة الكمومية من Quantinuum [ 23 ] و IonQ و Pasqal [ 13 ] .
حقول الفراولة
مكتبة بايثون مفتوحة المصدر طورتها شركة Xanadu Quantum Technologies لتصميم ومحاكاة وتحسين الدوائر البصرية الكمومية ذات المتغيرات المستمرة . [ 42 ] [ 43 ] توفر المكتبة ثلاثة محاكيات: الأول يعتمد على أساس فوك ، والثاني على الصيغة الغاوسية للبصريات الكمومية، [ 44 ] والثالث على مكتبة TensorFlow للتعلم الآلي. كما تُستخدم Strawberry Fields لتشغيل البرامج على أجهزة Xanadu الكمومية الضوئية. [ 45 ] [ 46 ]
t|ket>
بيئة برمجة كمومية ومترجم تحسين تم تطويره بواسطة Quantinuum يستهدف أجهزة المحاكاة والعديد من الأجهزة الكمومية الخلفية للأيونات المحصورة، تم إصداره في ديسمبر 2018. [ 47 ]
إطار عمل وولفرام الكمي
حزمة إضافية للغة Wolfram توفر تمثيلاً رمزياً عالي المستوى للكائنات الكمومية مثل الأساسات والحالات والمؤثرات والقنوات والقياسات والدوائر، وهي متكاملة مع برنامج Mathematica . [ 48 ] يتضمن هذا الإطار أدوات للمحاكاة والتحليل، مثل تطور الزمن، ومحاكاة القياس، ورتابة التشابك، والتتبع الجزئي/النقل، وتحويلات ويغنر المنفصلة، وطرق التثبيت، وأدوات شبكة الموترات، بالإضافة إلى مكتبة من البنى المسماة (مثل حالات Bell/GHZ، ومؤثرات باولي ، وفوريه ، وغروفر، إلخ). [ 48 ] كما يوفر تصوراً مدمجاً (مثل مخططات الدوائر ومخططات كرة بلوخ) وإمكانية التشغيل البيني مع المنصات الخارجية، بما في ذلك التحويل إلى تنسيقات Qiskit وAmazon Braket، والقدرة على إرسال استعلامات إلى وحدات المعالجة الكمومية (QPUs) عبر اتصالات الخدمة.
لغات البرمجة الكمومية
هناك مجموعتان رئيسيتان من لغات البرمجة الكمومية: لغات البرمجة الكمومية الإجرائية ولغات البرمجة الكمومية الوظيفية .
اللغات الإجرائية
من أبرز ممثلي لغات البرمجة الإجرائية QCL، [ 49 ] و LanQ [ 50 ] وQ|SI>. [ 51 ]
كيت
Ket [ 52 ] هي لغة برمجة مضمنة مفتوحة المصدر مصممة لتسهيل البرمجة الكمومية، مستفيدةً من بنية بايثون المألوفة وبساطتها. وهي تُعدّ مكونًا أساسيًا في منصة Ket للبرمجة الكمومية [ 53 ] ، حيث تتكامل بسلاسة مع مكتبة وقت تشغيل Rust ومحاكي كمومي. يُركز هذا المشروع، الذي تتولى صيانته شركة Quantuloop، على سهولة الوصول إليه وتعدد استخداماته للباحثين والمطورين. يوضح المثال التالي كيفية تنفيذ حالة بيل باستخدام Ket:
من ket استيراد *a , b = quant ( 2 ) # تخصيص بتّين كموميينH ( a ) # ضع الكيوبت `a` في حالة تراكبcnot ( a , b ) تشابك الكيوبتات في حالة بيلm_a = measure ( a ) # قياس الكيوبت `a`، مع دمج الكيوبت `b` أيضًاm_b = measure ( b ) # قياس الكيوبت `b`# أكد أن قياس كلا الكيوبت سيكون متساوياً دائماًتحقق من أن قيمة m_a تساوي قيمة m_bLQP
منطق البرامج الكمومية (LQP) هو منطق كمومي ديناميكي، قادر على التعبير عن خصائص مهمة للقياسات الكمومية والتطورات الوحدوية للحالات متعددة الأجزاء، ويوفر توصيفات منطقية لأشكال مختلفة من التشابك. وقد استُخدم هذا المنطق لتحديد صحة بروتوكولات متنوعة في الحوسبة الكمومية والتحقق منها. [ 54 ] [ 55 ]
لغة Q
لغة Q هي ثاني لغة برمجة كمومية إجرائية مُطبقة. [ 56 ] طُورت لغة Q كامتداد للغة البرمجة C++ . توفر اللغة فئات للعمليات الكمومية الأساسية مثل QHadamard وQFourier وQNot وQSwap، المشتقة من الفئة الأساسية Qop. ويمكن تعريف عوامل تشغيل جديدة باستخدام آلية فئات C++.
يتم تمثيل الذاكرة الكمومية بواسطة الفئة Qreg.
Qreg x1 ; // سجل كمومي أحادي الكيوبت بقيمة ابتدائية 0 Qreg x2 ( 2 , 0 ); // سجل كمومي ثنائي الكيوبت بقيمة ابتدائية 0تُنفذ عملية الحساب باستخدام محاكي مُقدم. ويمكن محاكاة البيئات الصاخبة باستخدام معلمات المحاكي.
س#
لغة طورتها شركة مايكروسوفت لاستخدامها مع مجموعة أدوات تطوير Quantum . [ 57 ]
QCL
لغة الحوسبة الكمومية (QCL) هي إحدى أوائل لغات البرمجة الكمومية المُطبقة . [ 58 ] أهم ما يُميز QCL هو دعمها للمُعاملات والدوال المُعرّفة من قِبل المستخدم. يُشبه تركيبها تركيب لغة البرمجة C ، كما أن أنواع بياناتها التقليدية تُشابه أنواع البيانات الأولية في C. يُمكن دمج الشفرة التقليدية والشفرة الكمومية في البرنامج نفسه.
qGCL
تم تعريف لغة الأوامر المحمية الكمومية (qGCL) من قبل بي. زولياني في أطروحته للدكتوراه. وهي تستند إلى لغة الأوامر المحمية التي ابتكرها إدسكار ديكسترا .
يمكن وصفها بأنها لغة لتحديد مواصفات البرامج الكمومية.
QMASM
لغة التجميع الكمومي الكلية (QMASM) هي لغة منخفضة المستوى خاصة بأجهزة التلدين الكمومي مثل D-Wave. [ 59 ]
كيو مود
لغة النمذجة الكمومية (Qmod) هي لغة برمجة عالية المستوى تُجرّد عمليات الكيوبت على مستوى البوابات المنطقية، مما يوفر منهجًا وظيفيًا لتنفيذ الخوارزميات الكمومية على السجلات الكمومية. تُعد هذه اللغة جزءًا من منصة Classiq ، ويمكن استخدامها مباشرةً بصيغتها الأصلية، أو من خلال حزمة تطوير برمجية (SDK) بلغة بايثون، أو باستخدام محرر مرئي. وتستفيد جميع هذه الطرق من مكتبة الخوارزميات الواسعة وكفاءة تحسين الدوائر.
س|س>
Q|SI> هي منصة مدمجة بلغة .Net تدعم البرمجة الكمومية باستخدام امتداد كمومي للغة while. [ 51 ] [ 60 ] تتضمن هذه المنصة مُصرّفًا للغة while الكمومية [ 61 ] ومجموعة من الأدوات لمحاكاة الحوسبة الكمومية، وتحسين الدوائر الكمومية، وتحليل إنهاء البرامج الكمومية، [ 62 ] والتحقق من صحة البرامج الكمومية. [ 63 ] [ 64 ]
الشفرة الزائفة الكمومية
تُعتبر الشفرة الزائفة الكمومية التي اقترحها إي. كنيل أول لغة رسمية لوصف الخوارزميات الكمومية . وقد تم تقديمها، بل وربطها ارتباطًا وثيقًا، بنموذج آلة كمومية يسمى آلة الوصول العشوائي الكمومي (QRAM).
سقالة
Scaffold هي لغة شبيهة بلغة C، تُترجم إلى QASM و OpenQASM. وهي مبنية على بنية LLVM Compiler Infrastructure لإجراء تحسينات على كود Scaffold قبل توليد مجموعة تعليمات محددة. [ 65 ] [ 66 ]
سيلك
Silq هي لغة برمجة عالية المستوى للحوسبة الكمومية ذات نظام أنواع ثابت قوي، تم تطويرها في ETH زيورخ . [ 67 ] [ 68 ]
اللغات الوظيفية
تُبذل جهودٌ حثيثة لتطوير لغات برمجة وظيفية للحوسبة الكمومية . تُعدّ لغات البرمجة الوظيفية ملائمةً تمامًا للاستدلال حول البرامج. ومن الأمثلة على ذلك لغة QPL التي وضعها سيلينجر [ 69 ] ، ولغة QML الشبيهة بلغة هاسكل التي وضعها ألتنكيرش وغراتاج [ 70 ] [ 71 ] . وقد اقترح فان توندر [ 72 ] ، وسيلينجر وفاليرون [ 73 ] ، وأريغي ودويك [ 74 ] لغات برمجة كمومية من الرتبة العليا، تعتمد على حساب لامدا .
LIQUi|>
LIQUi|> (تُنطق ليكويد ) هي إضافة لمحاكاة الكم في لغة البرمجة F# . [ 75 ] ويجري تطويرها حاليًا من قِبل مجموعة هندسة الحوسبة الكمومية (QuArC) [ 76 ]، وهي جزء من جهود StationQ في مايكروسوفت للأبحاث. تسعى LIQUi|> إلى تمكين الباحثين النظريين من تجربة تصميم الخوارزميات الكمومية قبل توفر الحواسيب الكمومية المادية للاستخدام. [ 77 ]
يتضمن لغة برمجة، وخوارزميات تحسين وجدولة، ومحاكيات كمومية. يمكن استخدام LIQUi لترجمة خوارزمية كمومية مكتوبة على شكل برنامج عالي المستوى إلى تعليمات الآلة منخفضة المستوى لجهاز كمومي. [ 78 ]
QFC و QPL
لغتا البرمجة الكمومية QFC وQPL متقاربتان للغاية، وقد عرّفهما بيتر سيلينجر. يختلفان فقط في تركيبهما النحوي: تستخدم QFC تركيبًا بيانيًا انسيابيًا، بينما تستخدم QPL تركيبًا نصيًا. تتمتع هاتان اللغتان بتدفق تحكم كلاسيكي، لكنهما قادرتان على العمل على البيانات الكمومية أو الكلاسيكية. يُقدّم سيلينجر دلالات وصفية لهاتين اللغتين ضمن فئة المؤثرات الفائقة .
QML
QML هي لغة برمجة كمومية شبيهة بلغة هاسكل، من تطوير ألتنكيرش وغراتاج. [ 79 ] [ 70 ] على عكس لغة QPL الخاصة بسيلينجر، تعتبر هذه اللغة تكرار المعلومات الكمومية عملية أساسية، بدلاً من تجاهلها. يُفهم التكرار في هذا السياق على أنه العملية التي تُحوّللولا ينبغي الخلط بينه وبين عملية الاستنساخ المستحيلة ؛ إذ يزعم المؤلفون أنه يشبه كيفية نمذجة المشاركة في اللغات الكلاسيكية. كما يقدم QML عوامل تحكم كلاسيكية وكمومية، بينما تعتمد معظم اللغات الأخرى على التحكم الكلاسيكي.
تُقدَّم دلالات تشغيلية للغة QML باستخدام الدوائر الكمومية ، بينما تُقدَّم دلالات وصفية باستخدام المؤثرات الفائقة ، وقد ثبت توافقهما. وقد تم تطبيق كلتا الدلالتين التشغيلية والوصفية (تقليديًا) في لغة هاسكل. [ 80 ]
حسابات لامدا الكمومية
حسابات لامدا الكمومية هي امتداد لحسابات لامدا الكلاسيكية التي قدمها ألونسو تشيرش وستيفن كول كلين في ثلاثينيات القرن العشرين. والغرض من حسابات لامدا الكمومية هو توسيع لغات البرمجة الكمومية بنظرية الدوال ذات الرتبة العليا .
كانت أول محاولة لتعريف حساب لامدا الكمومي من قِبل فيليب مايمين عام ١٩٩٦. [ ٨١ ] يتميز حساب لامدا-كيو الخاص به بقدرته الفائقة على التعبير عن أي عملية حسابية كمومية. مع ذلك، فإن هذه اللغة قادرة على حل مسائل NP-كاملة بكفاءة عالية ، وبالتالي تبدو أقوى بكثير من نماذج الحوسبة الكمومية القياسية (مثل آلة تورينج الكمومية أو نموذج الدائرة الكمومية ). لذلك، من المحتمل ألا يكون حساب لامدا-كيو الخاص بمايمين قابلاً للتطبيق على جهاز مادي.
في عام 2003، عرّف أندريه فان توندر امتدادًا لحساب لامدا مناسبًا لإثبات صحة البرامج الكمومية. كما قدّم تطبيقًا له بلغة برمجة Scheme . [ 82 ]
في عام 2004، قام سيلينجر وفاليرون بتعريف حساب لامدا قوي النوع للحوسبة الكمومية بنظام نوع يعتمد على المنطق الخطي . [ 83 ]
كويبر
نُشرت لغة Quipper في عام 2013. [ 84 ] [ 85 ] وهي مُطبقة كلغة مُدمجة، باستخدام لغة Haskell كلغة أساسية. [ 86 ] ولهذا السبب، تُكتب البرامج الكمومية المكتوبة بلغة Quipper بلغة Haskell باستخدام المكتبات المُتاحة. على سبيل المثال، يُنفذ الكود التالي عملية تحضير التراكب.
استيراد Quipperspos :: Bool -> Circ Qubit spos b = do q <- qinit b r <- hadamard q return rانظر أيضاً
مراجع
- ↑ هانر، توماس؛ شتايغر، داميان س.؛ سفور، كريستا ؛ تروير، ماتياس (2018). "منهجية برمجية لتجميع البرامج الكمومية". علوم وتكنولوجيا الكم . 3 (2): 020501. arXiv : 1604.01401 . Bibcode : 2018QS & T....3b0501H . doi : 10.1088/2058-9565/aaa5cc . ISSN 2058-9565 .
- ↑ "مستودع Qiskit على GitHub" . GitHub .
- ↑ "لغة التجميع الكمومية بلاكبيرد - وثائق بلاكبيرد 0.2.0" . quantum-blackbird.readthedocs.io . تم الاطلاع عليه بتاريخ 24 يونيو 2019 .
- ↑ ويدبروك، كريستيان؛ إيمي، ماثيو؛ بيرغولم، فيل؛ كيسادا، نيكولاس؛ إيزاك، جوش؛ كيلوران، ناثان (11 مارس 2019). "حقول الفراولة: منصة برمجية للحوسبة الكمومية الضوئية". الكم . 3 129. arXiv : 1804.03159 . Bibcode : 2019Quant...3..129K . doi : 10.22331/q-2019-03-11-129 . S2CID 54763305 .
- ↑ بيرتلز، ك.؛ ألموديفير، سي جي؛ هوجابوام، جي دبليو؛ أشرف، إ.؛ غيريشي، جي جي؛ خماسي، ن. (24 مايو 2018). "cQASM الإصدار 1.0: نحو لغة تجميع كمومية مشتركة". arXiv : 1805.09607v1 [ quant-ph ].
- ↑ qiskit-openqasm: مواصفات OpenQASM ، شركة آي بي إم، 4 يوليو 2017 ، تم الاطلاع عليه في 6 يوليو 2017
- ↑ "التمثيل الوسيط الكمي (QIR)" . تحالف QIR . تم الاطلاع عليه في 2 يونيو 2025 .
- ↑ سميث، روبرت س.؛ كورتيس، مايكل ج.؛ زينغ، ويليام ج. (2016). "بنية عملية لمجموعة تعليمات الكم". arXiv : 1608.03355 [ quant-ph ].
- ↑ ماكلين، جارود ر.؛ روميرو، جوناثان؛ بابوش، رايان؛ أسبورو-جوزيك، آلان (4 فبراير 2016). "نظرية الخوارزميات الهجينة الكمومية الكلاسيكية المتغيرة". مجلة الفيزياء الجديدة . 18 (2) 023023. arXiv : 1509.04279 . Bibcode : 2016NJPh...18b3023M . doi : 10.1088/1367-2630/18/2/023023 . ISSN 1367-2630 . S2CID 92988541 .
- ↑ روبين، نيكولاس سي؛ كورتيس، مايكل جيه؛ زينغ، ويليام جيه (2016). "نهج هجين كلاسيكي/كمي لدراسات واسعة النطاق للأنظمة الكمية باستخدام نظرية تضمين مصفوفة الكثافة". arXiv : 1610.06910 [ quant-ph ].
- ↑ فارهي، إدوارد؛ غولدستون، جيفري؛ غوتمان، سام (2014). "خوارزمية تحسين تقريبية كمومية". arXiv : 1411.4028 [ quant-ph ].
- ↑ هانر، توماس؛ شتايغر، داميان س.؛ سفور، كريستا ؛ تروير، ماتياس (2018). "منهجية برمجية لتجميع البرامج الكمومية". علوم وتكنولوجيا الكم . 3 (2): 020501. arXiv : 1604.01401 . Bibcode : 2018QS & T....3b0501H . doi : 10.1088/2058-9565/aaa5cc . ISSN 2058-9565 . S2CID 1922315 .
- 1 2 "باسكال" . باسكال . مؤرشف من الأصل في 15 يوليو 2022. تم الاسترجاع في 6 يوليو 2022 .
- 1 2 "الصفحة الرئيسية" . AQT | تقنيات الكم الألبية .
- ↑ "مرحباً بكم في وثائق Grove! – وثائق Grove 1.7.0" . grove-docs.readthedocs.io .
- ↑ "وثائق MindSpore Quantum" . www.mindspore.cn/mindquantum .
- ↑ Xu, Xusheng; et al. (2024). "MindSpore Quantum: إطار حوسبة كمومية سهل الاستخدام وعالي الأداء ومتوافق مع الذكاء الاصطناعي". arXiv : 2406.17248 [ quant-ph ].
- ^ "العقل الكم" . جيثب.كوم .
- ↑ "وثائق PennyLane 0.14.1" . pennylane.readthedocs.io . تم الاطلاع عليها بتاريخ 26 مارس 2021 .
- ↑ "انضمت AWS إلى PennyLane، وهو إطار عمل مفتوح المصدر يدمج التعلم الآلي مع الحوسبة الكمومية" . SiliconANGLE . ١٧ فبراير ٢٠٢١. تم الاطلاع عليه بتاريخ ٢٦ مارس ٢٠٢١ .
- ↑ "مشروع SD Times مفتوح المصدر لهذا الأسبوع: PennyLane" . صحيفة SD Times . 26 فبراير 2021. تم الاطلاع عليه في 26 مارس 2021 .
- ↑ سالامون، سالفاتوري (13 ديسمبر 2020). "موجز أخبار التحليلات الفورية للأسبوع المنتهي في 12 ديسمبر" . RTInsights . تم الاطلاع عليه في 26 مارس 2021 .
- 1 2 "تسريع الحوسبة الكمومية" . www.quantinuum.com .
- ↑ "الإضافات والنظام البيئي" . pennylane.ai . مؤرشف من الأصل في 26 سبتمبر 2021. تم الاطلاع عليه في 26 مارس 2021 .
- ^ "La puissance d'un operativeur quantique testée en ligne (تم اختبار قوة الكمبيوتر الكمي عبر الإنترنت)" . لوموند.فر . لوموند. 22 نوفمبر 2022.
- ^ يورتيل، نيكولاس. فيريلاس، أندرياس؛ دي جلينياستي، جريجوار؛ لو بيهان، رافاييل؛ مالهيرب، سيباستيان؛ بيلهاس، مارسو؛ بيرتاسي، إريك؛ بوردونكل، بوريس؛ إميريو، بيير إيمانويل؛ مزهر، رواد؛ الموسيقى، لوكا؛ بيلاباس، نادية؛ فاليرون، بينوا؛ سينيلارت، باسكال؛ مانسفيلد، شين. سينيلارت ، جان (21 فبراير 2023). "بيرسيفال: منصة برمجية للحوسبة الكمومية الضوئية المتغيرة المنفصلة" . الكم . 7 931. أرخايف : 2204.00602 . بيب كود : 2023الكمية...7..931هـ . doi : 10.22331/q-2023-02-21-931 . S2CID 247922568. مؤرشف من الأصل بتاريخ 27 مارس 2023. تم الاطلاع عليه بتاريخ 27 مارس 2023 .
- ↑ "الرئيسية" .
- ↑ "نظرة عامة على qBraid SDK" . docs.qbraid.com .
- ↑ "qBraid تعلن عن دمج qBraid SDK مع Amazon Braket على qBraid Lab" . qbraid.com .
- ^ افثيميو، ستافروس. راموس كالديرر، سيرجي؛ برافو بريتو، كارلوس؛ بيريز ساليناس، أدريان؛ غارسيا مارتن، دييغو؛ جارسيا سايز، أرتور؛ لاتوري، خوسيه اجناسيو؛ كارازا ، ستيفانو (1 يناير 2022). "Qibo: إطار عمل للمحاكاة الكمومية مع تسريع الأجهزة" . علوم وتكنولوجيا الكم . 7 (1): 015018. أرخايف : 2009.01845 . بيب كود : 2022QS & T....7a5018E . دوى : 10.1088/2058-9565/ac39f5 . اتش دي ال : 2434/887963 . ISSN 2058-9565 . S2CID 221507478 .
- ↑ إفثيميو، ستافروس؛ لازارين، ماركو؛ باسكوالي، أندريا؛ كارازا، ستيفانو (22 سبتمبر 2022). "محاكاة الكم باستخدام التجميع الفوري" . Quantum . 6 814. arXiv : 2203.08826 . Bibcode : 2022Quant...6..814E . doi : 10.22331/q-2022-09-22-814 . S2CID 247518955. مؤرشف من الأصل في 20 أكتوبر 2022. تم الاسترجاع في 20 أكتوبر 2022 .
- ↑ "Qibolab" . 2 نوفمبر 2022 – عبر GitHub.
- ↑ "Qibocal" . 1 نوفمبر 2022 – عبر GitHub.
- ↑ "qiskit.org" . qiskit.org .
- ↑ "نظرة عامة على Qiskit" . تم الاطلاع عليه بتاريخ 10 فبراير 2021 .
- ↑ مكاي، ديفيد سي.؛ ألكسندر، توماس؛ بيلو، لوتشيانو؛ بيركوك، مايكل جيه.؛ بيشوب، ليف؛ تشين، جياين؛ تشاو، جيري إم.؛ كوركوليس، أنطونيو دي.؛ إيغر، دانيال؛ فيليب، ستيفان؛ غوميز، خوان؛ هَش، مايكل؛ جوادي-أبهاري، علي؛ موريدا، دييغو؛ نيشن، بول؛ باولوفيكس، برنت؛ وينستون، إريك؛ وود، كريستوفر جيه.؛ ووتون، جيمس؛ غامبيتا، جاي إم. (2018). "مواصفات الواجهة الخلفية لـ Qiskit لتجارب OpenQASM وOpenPulse". arXiv : 1809.03452 [ quant-ph ].
- ↑ "الموقع الرسمي لشركة Qrisp" .
- ↑ "مؤسسة إكليبس (موقع إلكتروني)" .
- ^ "فراونهوفر فوكوس (موقع الكتروني)" .
- ↑ "وثائق Azure Quantum، مرجع QDK وواجهة برمجة تطبيقات Q# - Azure Quantum" . learn.microsoft.com .
- ↑ "ما هو Azure Quantum؟ - Azure Quantum" . learn.microsoft.com . 11 يناير 2023.
- ↑ "Strawberry Fields – Strawberry Fields 0.8.0 documentation" . strawberryfields.readthedocs.io . تم الاطلاع عليه بتاريخ 25 سبتمبر 2018 .
- ↑ كيلوران، ناثان؛ إيزاك، جوش؛ كيسادا، نيكولاس؛ بيرغولم، فيل؛ إيمي، ماثيو؛ ويدبروك، كريستيان (2019). "حقول الفراولة: منصة برمجية للحوسبة الكمومية الضوئية". الكم . 3 129. arXiv : 1804.03159 . Bibcode : 2019Quant...3..129K . doi : 10.22331/q-2019-03-11-129 . S2CID 54763305 .
- ↑ ويدبروك، كريستيان؛ بيراندولا، ستيفانو؛ غارسيا-باترون، راؤول؛ سيرف، نيكولاس جيه؛ رالف، تيموثي سي؛ شابيرو، جيفري إتش؛ لويد، سيث (1 مايو 2012). "المعلومات الكمومية الغاوسية". مراجعات الفيزياء الحديثة . 84 (2): 621-669 . arXiv : 1110.3234 . Bibcode : 2012RvMP...84..621W . doi : 10.1103/RevModPhys.84.621 . S2CID 119250535 .
- ↑ "الأجهزة" . strawberryfields.ai . تم الاطلاع عليه بتاريخ 26 مارس 2021 .
- ↑ "في سباق الوصول إلى مئات الكيوبتات، قد تتمتع الفوتونات بـ "ميزة كمومية""" . IEEE Spectrum: أخبار التكنولوجيا والهندسة والعلوم . 5 مارس 2021. تم الاطلاع عليه في 26 مارس 2021. "
- ↑ "pytket" . GitHub . 22 يناير 2022.
- 1 2 "QuantumFramework" . resources.wolframcloud.com . تم الاطلاع عليه بتاريخ 18 أغسطس 2025 .
- ↑ عمر، برنارد. "لغة برمجة QCL" .
- ^ هاينك ملناريك. "LanQ - لغة برمجة حتمية كمومية" .
- 1 2 ليو، شوسن؛ تشو، لي؛ قوان، جي؛ هو يانغ. دوان، رونياو؛ ينغ ، مينغشنغ (9 مايو 2017). “س | سي>: لغة برمجة كمومية”. معلومات العلوم سينيكا . 47 (10): 1300. أرخايف : 1710.09500 . دوى : 10.1360/N112017-00095 . S2CID 9163705 .
- ↑ دا روزا، إيفاندرو تشاغاس ريبيرو؛ دي سانتياغو، رافائيل (31 يناير 2022). "برمجة كيت الكمومية" . مجلة ACM للتقنيات الناشئة في أنظمة الحوسبة . 18 (1): 1-25 . doi : 10.1145/3474224 . ISSN 1550-4832 .
- ↑ "برمجة كيت الكمومية" . quantumket.org . تم الاطلاع عليه في 18 مايو 2023 .
- ↑ أ. بالتاج وس. سميتس، "LQP: المنطق الديناميكي للمعلومات الكمومية" ، الهياكل الرياضية في علوم الحاسوب 16(3):491-525، 2006.
- ↑ بالتاج، ألكسندرو؛ بيرغفيلد، جورت؛ كيشيدا، كوهي؛ ساك، جوشوا؛ سميتس، سونيا؛ تشونغ، شينغيانغ (2014). "PLQP وشركاؤه: منطق قابل للتقرير للخوارزميات الكمومية" . المجلة الدولية للفيزياء النظرية . 53 (10): 3628-3647 . Bibcode : 2014IJTP...53.3628B . doi : 10.1007/s10773-013-1987-3 . S2CID 254573992 .
- ↑ "برنامج للغة Q" . 23 نوفمبر 2001. مؤرشف من الأصل في 20 يونيو 2009. تم الاطلاع عليه في 20 يوليو 2017 .
- ↑ "مقدمة إلى Q# ومجموعة أدوات تطوير Quantum - Azure Quantum" . learn.microsoft.com . 30 مارس 2023.
- ↑ "QCL - لغة برمجة للحواسيب الكمومية" . tuwien.ac.at . تم الاطلاع عليه بتاريخ 20 يوليو 2017 .
- ↑ سكوت باكين، "مجمع ماكرو كمي" ، وقائع المؤتمر السنوي العشرين للحوسبة الفائقة عالية الأداء التابع لمعهد مهندسي الكهرباء والإلكترونيات 2016
- ↑ يينغ، مينغشنغ (يناير 2012). "منطق فلويد-هوار للبرامج الكمومية" . مجلة ACM للمعاملات في لغات وأنظمة البرمجة . 33 (6): 19:1–19:49. doi : 10.1145/2049706.2049708 . ISSN 0164-0925 . S2CID 416960 .
- ↑ يينغ، مينغشنغ؛ فينغ، يوان (2010). "لغة مخططات انسيابية للبرمجة الكمومية" . معاملات IEEE في هندسة البرمجيات . 37 (4): 466-485 . doi : 10.1109/TSE.2010.94 . ISSN 0098-5589 . S2CID 5879273 .
- ^ ينغ، مينغشنغ؛ يو، نينغكون؛ فنغ، يوان؛ دوان، رونياو (2013). “التحقق من البرامج الكمومية”. علم برمجة الحاسوب . 78 (9): 1679– 1700. أرخايف : 1106.4063 . دوى : 10.1016/j.scico.2013.03.016 . S2CID 18913620 .
- ↑ يينغ، مينغشنغ؛ يينغ، شينغقانغ؛ وو، شياودي (2017)، "ثوابت البرامج الكمومية: توصيفات وتوليد"، ACM SIGPLAN Notices ، 52 : 818-832 ، doi : 10.1145/3093333.3009840 ، hdl : 10453/127333
- ↑ ليو، تاو؛ لي، يانغجيا؛ وانغ، شولينغ؛ يينغ، مينغشنغ؛ زان، نايجون (2016). "أداة إثبات نظرية لمنطق هوار الكمومي وتطبيقاته". arXiv : 1601.03835 [ cs.LO ].
- ↑ جوادي-أبهاري، علي. "سكافولد: لغة برمجة الكم" . جامعة برينستون - قسم علوم الحاسوب . جامعة برينستون. مؤرشف من الأصل في 20 سبتمبر 2020. تم الاطلاع عليه في 22 سبتمبر 2020 .
- ↑ ليتيكن، أندرو (28 مايو 2020). "مُجمِّع بحثي كمومي مُحدَّث قائم على LLVM مع دعم إضافي لـ OpenQASM" . علوم وتكنولوجيا الكم . 5 (3): 034013. Bibcode : 2020QS & T....5c4013L . doi : 10.1088/2058-9565/ab8c2c . OSTI 1803951. S2CID 219101628 .
- ↑ "ما هو Silq؟" . silq.ethz.ch . تم الاطلاع عليه بتاريخ 21 يونيو 2020 .
- ↑ بيشيل، بنيامين؛ بادر، ماكسيميليان؛ جير، تيمون؛ فيتشيف، مارتن (11 يونيو 2020). "سيلك: لغة كمومية عالية المستوى مع حساب غير آمن ودلالات بديهية". وقائع المؤتمر الحادي والأربعين لجمعية ACM SIGPLAN حول تصميم لغات البرمجة وتنفيذها . لندن، المملكة المتحدة: ACM. الصفحات 286-300 . doi : 10.1145/3385412.3386007 . ISBN 978-1-4503-7613-6. S2CID 219397029 .
- ↑ بيتر سيلينجر، "نحو لغة برمجة كمومية" ، الهياكل الرياضية في علوم الحاسوب 14(4):527-586، 2004.
- 1 2 جوناثان غراتاج: أبحاث QML مؤرشفة في 31 مارس 2008، على موقع Wayback Machine (موقع ويب)
- ↑ T. Altenkirch, V. Belavkin, J. Grattage, A. Green, A. Sabry, JK Vizzotto, QML: A Functional Quantum Programming Language . Archived 2006-07-10 at the Wayback Machine (website).
- ↑ أندريه فان توندر (2004)، "حساب لامدا للحوسبة الكمومية" ، مجلة SIAM للحوسبة، 33(5)، ص 1109-1135. متاح أيضًا من arXiv:quant-ph/0307150 .
- ↑ بيتر سيلينجر وبينوا فاليرون (2006)، "حساب لامدا للحوسبة الكمومية مع التحكم الكلاسيكي" ، الهياكل الرياضية في علوم الحاسوب 16(3): 527-552.
- ↑ بابلو أريغي، جيل دويك، "حساب لامدا الجبري الخطي: الرتبة العليا، والترميز والالتقاء" ، 2006.
- ↑ "محاكي العمليات الكمومية المتكامل مع اللغة" . github.io . تم الاطلاع عليه في 20 يوليو 2017 .
- ↑ مجموعة هندسة الحوسبة الكمومية (QuArC)، https://www.microsoft.com/en-us/research/group/quantum-architectures-and-computation-group-quarc/ ، 2011
- ↑ "StationQ" . microsoft.com . تم الاطلاع عليه في 20 يوليو 2017 .
- ↑ "العمليات الكمومية المتكاملة مع اللغة: LIQUi | > " . مايكروسوفت . 2016.
- ↑ "QML: لغة برمجة كمومية وظيفية" . 26 سبتمبر 2007. مؤرشف من الأصل في 26 سبتمبر 2007.
- ↑ جوناثان غراتاج، QML: لغة برمجة كمومية وظيفية (مترجم) مؤرشف في 2016-03-05 على Wayback Machine ، 2005-2008
- ↑ فيليب مايمين، "توسيع حساب لامدا للتعبير عن الخوارزميات العشوائية والكمية" ، 1996
- ↑ فان توندر، أندريه. "حساب لامدا للحوسبة الكمومية (موقع إلكتروني)" . مؤرشف من الأصل في 5 مارس 2016. تم الاطلاع عليه في 2 أكتوبر 2007 .
- ↑ بيتر سيلينجر، بينوا فاليرون، "حساب لامدا الكمي" .
- ↑ "لغة كويبر" .
- ↑ غرين، ألكسندر س.؛ لومسدين، بيتر ليفانو؛ روس، نيل ج.؛ سيلينجر، بيتر؛ فاليرون، بينوا. "لغة كويبر (موقع إلكتروني)" .
- ↑ ألكسندر س. غرين؛ بيتر ليفانو لومسدين؛ نيل ج. روس؛ بيتر سيلينجر؛ بينوا فاليرون (2013). "مقدمة في البرمجة الكمومية باستخدام Quipper". الحوسبة العكسية . سلسلة محاضرات في علوم الحاسوب. المجلد 7948. الصفحات 110-124 . arXiv : 1304.5485 . doi : 10.1007 /978-3-642-38986-3_10 . ISBN 978-3-642-38985-6. S2CID 9135905 .
للمزيد من القراءة
- مينغشنغ، يينغ (2024). أسس البرمجة الكمومية ( الطبعة الثانية). كامبريدج، ماساتشوستس: مورغان كوفمان. ISBN 978-0-4431-5942-8. OCLC 1406095194 . 978-0-4431-5943-5 (كتاب إلكتروني).
- سيرانو، مانويل أ. بيريز كاستيلو، ريكاردو؛ بياتيني، ماريو، محررون. (2022). هندسة البرمجيات الكم ( الطبعة الأولى). شام، سويسرا: سبرينغر. دوى : 10.1007/978-3-031-05324-5 . رقم ISBN 978-3-031-05323-8. OCLC 1347696597 . 978-3-031-05326-9 (غلاف ورقي) و 978-3-031-05324-5 (كتاب إلكتروني).
روابط خارجية
- قائمة منسقة لجميع مشاريع البرمجيات مفتوحة المصدر في مجال الحوسبة الكمومية
- قائمة المراجع حول لغات البرمجة الكمومية (تم تحديثها في مايو 2007)
- سلسلة مؤتمرات الفيزياء الكمية والمنطق (QPL) (كانت L ترمز إلى "اللغات" حتى عام 2006)
- لغة برمجة الكم في كوانتيكي، مؤرشفة في 3 أبريل 2010، على موقع Wayback Machine
- وثائق QMASM
- وثائق pyQuil، بما في ذلك مقدمة في الحوسبة الكمومية . مؤرشفة في 18 يوليو 2018 على موقع Wayback Machine.
- مصدر السقالات
- البرمجة الكمومية
- تصنيف لغات البرمجة
- نماذج البرمجة
- الحوسبة الكمومية
