क्वांटम प्रोग्रामिंग

क्वांटम प्रोग्रामिंग निर्देशों के अनुक्रमों को कोडांतरण करने की प्रक्रिया है, जिसे क्वांटम सर्किट कहा जाता है, जो क्वांटम कम्प्यूटिंग पर चलने में सक्षम हैं। क्वांटम प्रोग्रामिंग भाषा  उच्च-स्तरीय निर्माणों का उपयोग करके क्वांटम एल्गोरिथ्म को व्यक्त करने में मदद करती हैं। यह क्षेत्र  खुला स्त्रोत तत्वज्ञान में गहराई से निहित है और इसके परिणामस्वरूप इस लेख में चर्चा किए गए अधिकांश क्वांटम सॉफ्टवेयर खुला स्रोत सॉफ्टवेयर के रूप में स्वतंत्र रूप से उपलब्ध हैं।

क्वांटम निर्देश सेट
क्वांटम इंस्ट्रक्शन सेट का उपयोग उच्च स्तरीय एल्गोरिदम को भौतिक निर्देशों में बदलने के लिए किया जाता है जिसे क्वांटम प्रोसेसर पर निष्पादित किया जा सकता है। कभी-कभी ये निर्देश किसी दिए गए हार्डवेयर प्लेटफॉर्म के लिए विशिष्ट होते हैं, उदा आयन जाल या सुपरकंडक्टिंग क्वांटम कंप्यूटिंग।

कक़स्म
कक़स्म, सामान्य क्यूएएसएम के रूप में भी जाना जाता है, एक हार्डवेयर-अज्ञेय क्वांटम असेंबली भाषा है जो सभी क्वांटम संकलन और सिमुलेशन टूल के बीच अंतर की गारंटी देती है। इसे डेल्फ़्ट यूनिवर्सिटी ऑफ़ टेक्नोलॉजी में क्यूसीए लैब द्वारा पेश किया गया था।

कुंजी
क्वांटम कंप्यूटिंग के लिए क्विल (निर्देश सेट आर्किटेक्चर) है जिसने सबसे पहले एक साझा क्वांटम/क्लासिकल मेमोरी प्रतिरूप पेश किया। इसे ए प्रैक्टिकल क्वांटम इंस्ट्रक्शन सेट आर्किटेक्चर में रॉबर्ट स्मिथ, माइकल कर्टिस और विलियम ज़ेंग द्वारा पेश किया गया था। कई क्वांटम एल्गोरिदम (क्वांटम टेलीपोर्टेशन, क्वांटम त्रुटि सुधार, सतत अनुकरण, और अनुकूलन एल्गोरिदम सहित) को एक साझा मेमोरी आर्किटेक्चर की आवश्यकता होती है।

खुला क्यूएएसएम
खुला क्यूएएसएम आईबीएम द्वारा क्यूसकिट और आईबीएम क्यू एक्सपीरियंस के साथ उपयोग के लिए पेश किया गया मध्यवर्ती प्रतिनिधित्व है।

ब्लैकबर्ड
ब्लैकबर्ड एक क्वांटम इंस्ट्रक्शन सेट और मध्यवर्ती प्रतिनिधित्व है जिसका उपयोग ज़ानाडू क्वांटम टेक्नोलॉजीज और स्ट्रॉबेरी फील्ड्स द्वारा किया जाता है। इसे निरंतर-परिवर्तनीय क्वांटम प्रोग्राम का प्रतिनिधित्व करने के लिए डिज़ाइन किया गया है जो फोटोनिक क्वांटम हार्डवेयर पर चल सकता है।

क्वांटम सॉफ़्टवेयर विकास किट
क्वांटम सॉफ्टवेयर डेवलपमेंट किट क्वांटम प्रोग्राम बनाने और हेरफेर करने के लिए उपकरणों का संग्रह प्रदान करते हैं। वे क्वांटम कार्यक्रमों का अनुकरण करने के साधन भी प्रदान करते हैं या उन्हें क्लाउड-आधारित क्वांटम कंप्यूटिंग | क्लाउड-आधारित क्वांटम उपकरणों और स्व-होस्ट किए गए क्वांटम उपकरणों का उपयोग करके चलाने के लिए तैयार करते हैं।

क्वांटम प्रोसेसर तक पहुंच के साथ एसडीके
प्रोटोटाइप क्वांटम उपकरणों के साथ-साथ सिमुलेटर पर क्वांटम सर्किट चलाने के लिए निम्नलिखित सॉफ़्टवेयर डेवलपमेंट किट का उपयोग किया जा सकता है।

परसेवल
द्वारा बनाया गया एक ओपन-सोर्स प्रोजेक्ट है पायथन (प्रोग्रामिंग लैंग्वेज) पर आधारित फोटोनिक क्वांटम सर्किट डिजाइन करने और क्वांटम एल्गोरिदम विकसित करने के लिए। सिमुलेशन या तो उपयोगकर्ता के अपने कंप्यूटर पर या  क्लाउड कम्प्यूटिंग  पर चलाए जाते हैं। Perceval का उपयोग Quandela के क्लाउड-आधारित क्वांटम प्रोसेसर की सूची से कनेक्ट करने के लिए भी किया जाता है।

महासागर
डी-वेव द्वारा विकसित उपकरणों का एक ओपन सोर्स सूट। ज्यादातर पायथन प्रोग्रामिंग भाषा में लिखा गया है, यह उपयोगकर्ताओं को ईज़िंग मॉडल और क्वाड्रैटिक अनकंस्ट्रेन्ड बाइनरी ऑप्टिमाइज़ेशन फॉर्मेट (क्यूयूबीओ) में समस्याएं तैयार करने में सक्षम बनाता है। लीप, डी-वेव के रीयल-टाइम क्वांटम एप्लिकेशन एनवायरनमेंट, ग्राहक-स्वामित्व वाली मशीनों, या क्लासिकल सैम्पलर्स में एक ऑनलाइन क्वांटम कंप्यूटर को सबमिट करके परिणाम प्राप्त किए जा सकते हैं।

प्रोजेक्टक्यू
ईटीएच में सैद्धांतिक भौतिकी संस्थान में विकसित एक खुला स्त्रोत  प्रोजेक्ट, जो क्वांटम सर्किट बनाने और हेरफेर करने के लिए पायथन प्रोग्रामिंग भाषा का उपयोग करता है। परिणाम या तो एक सिम्युलेटर का उपयोग करके प्राप्त किए जाते हैं, या आईबीएम क्वांटम उपकरणों को कार्य भेजकर प्राप्त किए जाते हैं।

किसकित
आईबीएम द्वारा विकसित एक ओपन सोर्स प्रोजेक्ट। क्वांटम सर्किट को पायथन (प्रोग्रामिंग लैंग्वेज) का उपयोग करके बनाया और हेरफेर किया जाता है। परिणाम या तो सिमुलेटर का उपयोग करके प्राप्त किए जाते हैं जो उपयोगकर्ता के अपने डिवाइस पर चलते हैं, आईबीएम द्वारा प्रदान किए गए सिमुलेटर या आईबीएम द्वारा प्रदान किए गए प्रोटोटाइप क्वांटम डिवाइस। साथ ही बुनियादी क्वांटम संचालन का उपयोग करके प्रोग्राम बनाने की क्षमता, एल्गोरिदम और बेंचमार्किंग के लिए उच्च स्तरीय उपकरण विशेष पैकेजों के भीतर उपलब्ध हैं। Qiskit क्वांटम सर्किट का प्रतिनिधित्व करने के लिए OpenQASM मानक पर आधारित है। यह QiskitPulse मानक के माध्यम से क्वांटम सिस्टम के पल्स स्तर नियंत्रण का भी समर्थन करता है।

किबो
क्वांटम सिमुलेशन, क्वांटम हार्डवेयर नियंत्रण और अंशांकन के लिए एक खुला स्रोत पूर्ण-स्टैक एपीआई, कई अनुसंधान प्रयोगशालाओं द्वारा विकसित किया गया है, जिसमें प्रौद्योगिकी नवाचार संस्थान, क्वांटम टेक्नोलॉजीज के लिए केंद्र और Istituto Nazionale di Fisica न्यूक्लियर शामिल हैं। Qibo एक मॉड्यूलर ढांचा है जिसमें क्वांटम सिमुलेशन और हार्डवेयर नियंत्रण के लिए कई बैकएंड शामिल हैं।  इस परियोजना का उद्देश्य कई उपकरणों के लिए चालकों के साथ एक प्लेटफॉर्म एग्नोस्टिक क्वांटम हार्डवेयर कंट्रोल फ्रेमवर्क प्रदान करना है और क्वांटम अंशांकन, लक्षण वर्णन और सत्यापन के लिए उपकरण। यह ढांचा प्रयोगशालाओं में आवश्यक सॉफ्टवेयर विकास को सरल बनाकर स्व-होस्ट किए गए क्वांटम उपकरणों पर केंद्रित है।

वन
को छोड़ देता है द्वारा विकसित एक ओपन सोर्स प्रोजेक्ट, जो क्वांटम सर्किट बनाने और हेरफेर करने के लिए पायथन प्रोग्रामिंग भाषा का उपयोग करता है। रिगेटी द्वारा प्रदान किए गए सिमुलेटर या प्रोटोटाइप क्वांटम उपकरणों का उपयोग करके परिणाम प्राप्त किए जाते हैं। साथ ही बुनियादी क्वांटम संचालन का उपयोग करके प्रोग्राम बनाने की क्षमता, ग्रोव पैकेज के भीतर उच्च स्तरीय एल्गोरिदम उपलब्ध हैं। वन क्विल (इंस्ट्रक्शन सेट आर्किटेक्चर) इंस्ट्रक्शन सेट पर आधारित है।

टी|केट>
कैम्ब्रिज क्वांटम कम्प्यूटिंग द्वारा विकसित एक क्वांटम प्रोग्रामिंग वातावरण और ऑप्टिमाइज़िंग कंपाइलर जो सिमुलेटर और कई क्वांटम हार्डवेयर बैक-एंड को लक्षित करता है, दिसंबर 2018 में जारी किया गया।

स्ट्राबेरी के खेत
एक खुला स्रोत सॉफ्टवेयर |ओपन-सोर्स पायथन (प्रोग्रामिंग लैंग्वेज) लाइब्रेरी जिसे Xanadu क्वांटम टेक्नोलॉजीज द्वारा विकसित किया गया है, जो कंटीन्यूअस-वेरिएबल क्वांटम इंफॉर्मेशन (CV)  क्वांटम प्रकाशिकी  सर्किट की डिजाइनिंग, सिमुलेटिंग और ऑप्टिमाइजेशन के लिए है।  तीन सिमुलेटर प्रदान किए गए हैं - एक फॉक अवस्था में, एक क्वांटम ऑप्टिक्स के गॉसियन सूत्रीकरण का उपयोग करते हुए, और एक TensorFlow मशीन लर्निंग लाइब्रेरी का उपयोग कर रहा है। स्ट्राबेरी फील्ड्स Xanadu के क्वांटम फोटोनिक हार्डवेयर पर कार्यक्रमों को क्रियान्वित करने के लिए पुस्तकालय भी है।

पेनीलेन
क्वांटम कंप्यूटरों की अलग-अलग प्रोग्रामिंग के लिए Xanadu क्वांटम टेक्नोलॉजीज द्वारा विकसित एक ओपन-सोर्स सॉफ्टवेयर | ओपन-सोर्स पायथन (प्रोग्रामिंग लैंग्वेज) लाइब्रेरी।   PennyLane उपयोगकर्ताओं को TensorFlow, NumPy, या PyTorch का उपयोग करके मॉडल बनाने की क्षमता प्रदान करता है, और उन्हें IBM क्वांटम अनुभव, Google, Rigetti कंप्यूटिंग, Quantinuum से उपलब्ध क्वांटम कंप्यूटर बैकेंड से जोड़ता है। और अल्पाइन क्वांटम टेक्नोलॉजीज.

क्वांटम डेवलपमेंट किट
Microsoft द्वारा विकसित एक परियोजना .NET फ्रेमवर्क के हिस्से के रूप में। क्वांटम प्रोग्रामिंग लैंग्वेज Q# का उपयोग करके विजुअल स्टूडियो और VSCode के भीतर क्वांटम प्रोग्राम लिखे और चलाए जा सकते हैं। QDK में विकसित प्रोग्राम Microsoft के एज़्योर क्वांटम पर चलाए जा सकते हैं, और क्वांटिनम से क्वांटम कंप्यूटर पर चलते हैं, आयनक्यू, और पास्कल।

सर्क
Google द्वारा विकसित एक ओपन सोर्स प्रोजेक्ट, जो क्वांटम सर्किट बनाने और हेरफेर करने के लिए पायथन प्रोग्रामिंग भाषा का उपयोग करता है। Cirq में लिखे प्रोग्राम IonQ, Pasqal पर चलाए जा सकते हैं, रिगेटी कंप्यूटिंग, और अल्पाइन क्वांटम टेक्नोलॉजीज।

क्वांटम प्रोग्रामिंग लैंग्वेज
क्वांटम प्रोग्रामिंग लैंग्वेज के दो मुख्य समूह हैं: अनिवार्य प्रोग्रामिंग क्वांटम प्रोग्रामिंग लैंग्वेज और कार्यात्मक प्रोग्रामिंग  क्वांटम प्रोग्रामिंग लैंग्वेज।

अनिवार्य भाषाएँ
अनिवार्य भाषाओं के सबसे प्रमुख प्रतिनिधि QCL हैं, लैनक्यू और क्यू | एसआई>।

क्यूसीएल
क्वांटम संगणना भाषा (QCL) पहली कार्यान्वित क्वांटम प्रोग्रामिंग भाषाओं में से एक है। क्यूसीएल की सबसे महत्वपूर्ण विशेषता उपयोगकर्ता परिभाषित ऑपरेटरों और कार्यों के लिए समर्थन है। इसका  वाक्य - विन्यास  C (प्रोग्रामिंग लैंग्वेज) के सिंटैक्स जैसा दिखता है और इसके शास्त्रीय डेटा प्रकार C में आदिम डेटा प्रकारों के समान हैं। एक ही प्रोग्राम में क्लासिकल कोड और क्वांटम कोड को जोड़ा जा सकता है।

क्वांटम स्यूडोकोड
ई. निल द्वारा प्रस्तावित क्वांटम स्यूडोकोड क्वांटम एल्गोरिदम के वर्णन के लिए पहली औपचारिक भाषा है। यह पेश किया गया था और इसके अलावा, क्वांटम रैंडम एक्सेस मशीन (QRAM) नामक क्वांटम मशीन के एक मॉडल के साथ मजबूती से जुड़ा हुआ था।

क्यू #

 * 1) Quantum Development Kit के साथ प्रयोग करने के लिए Microsoft द्वारा विकसित एक भाषा।

क्यू|एसआई>
Q|SI> .NET Framework|.Net भाषा में एम्बेड किया गया एक प्लेटफ़ॉर्म है, जो क्वांटम प्रोग्रामिंग का समर्थन करता है, जबकि-भाषा के क्वांटम विस्तार में। इस प्लेटफॉर्म में क्वांटम वाइट-लैंग्वेज का एक कंपाइलर शामिल है और क्वांटम संगणना के अनुकरण के लिए उपकरणों की एक श्रृंखला, क्वांटम सर्किट का अनुकूलन, क्वांटम कार्यक्रमों का समाप्ति विश्लेषण, और क्वांटम कार्यक्रमों का सत्यापन।

क्यू भाषा
क्यू लैंग्वेज दूसरी कार्यान्वित अनिवार्य क्वांटम प्रोग्रामिंग भाषा है। क्यू लैंग्वेज को C++ प्रोग्रामिंग लैंग्वेज के विस्तार के रूप में लागू किया गया था। यह QHadamard, QFourier, QNot, और QSwap जैसे बुनियादी क्वांटम संचालन के लिए कक्षाएं प्रदान करता है, जो बेस क्लास Qop से प्राप्त होते हैं। नए ऑपरेटरों को सी ++ वर्ग तंत्र का उपयोग करके परिभाषित किया जा सकता है।

क्वांटम मेमोरी को वर्ग Qreg द्वारा दर्शाया जाता है। गणना प्रक्रिया एक प्रदान किए गए सिम्युलेटर का उपयोग करके निष्पादित की जाती है। सिम्युलेटर के मापदंडों का उपयोग करके शोर वातावरण का अनुकरण किया जा सकता है।

क्यूजीसीएल
क्वांटम संरक्षित कमांड भाषा (qGCL) को पी. जुलियानी ने अपनी पीएचडी थीसिस में परिभाषित किया था। यह Edsger Dijkstra द्वारा बनाई गई गार्डेड कमांड लैंग्वेज पर आधारित है।

इसे क्वांटम प्रोग्राम विनिर्देशन की भाषा के रूप में वर्णित किया जा सकता है।

क्यूएमएएसएम
क्वांटम मैक्रो असेंबलर (QMASM) एक निम्न-स्तरीय भाषा है जो क्वांटम एनीलर जैसे डी-वेव के लिए विशिष्ट है।

मचान
मचान सी-जैसी भाषा है, जो QASM और OpenQASM के लिए संकलित है। यह निर्दिष्ट निर्देश सेट उत्पन्न करने से पहले मचान कोड पर अनुकूलन करने के लिए एलएलवीएम कंपाइलर इंफ्रास्ट्रक्चर के शीर्ष पर बनाया गया है।

सिल्क
ईटीएच ज्यूरिख|ईटीएच ज्यूरिख में विकसित एक मजबूत स्थिर प्रकार प्रणाली के साथ क्वांटम कंप्यूटिंग के लिए सिल्क एक उच्च स्तरीय प्रोग्रामिंग भाषा है।

एलक्यूपी
क्वांटम प्रोग्राम्स (LQP) का तर्क एक गतिशील क्वांटम तर्क है, जो क्वांटम मापन और बहु-पक्षीय राज्यों के एकात्मक विकास की महत्वपूर्ण विशेषताओं को व्यक्त करने में सक्षम है, और उलझाव के विभिन्न रूपों के तार्किक लक्षण वर्णन प्रदान करता है। क्वांटम गणना में विभिन्न प्रोटोकॉल की शुद्धता को निर्दिष्ट करने और सत्यापित करने के लिए तर्क का उपयोग किया गया है।

कार्यात्मक भाषाएं
क्वांटम कंप्यूटिंग के लिए कार्यात्मक प्रोग्रामिंग भाषाओं को विकसित करने के प्रयास चल रहे हैं। कार्यक्रमों के बारे में तर्क करने के लिए कार्यात्मक प्रोग्रामिंग भाषाएं उपयुक्त हैं। उदाहरणों में सेलिंजर का क्यूपीएल शामिल है, और हास्केल (प्रोग्रामिंग भाषा) | हास्केल जैसी भाषा QML Altenkirch और Grattage द्वारा। लैम्ब्डा कैलकुस पर आधारित उच्च-क्रम क्वांटम प्रोग्रामिंग भाषाएं वैन टोंडर द्वारा प्रस्तावित की गई हैं। सेलिंगर और वैलिरोन और अरिघी और डोवेक द्वारा।

क्यूएफसी और क्यूपीएल
QFC और QPL पीटर सेलिंगर द्वारा परिभाषित दो निकट संबंधी क्वांटम प्रोग्रामिंग भाषाएं हैं। वे केवल अपने सिंटैक्स में भिन्न होते हैं: QFC एक फ़्लो चार्ट सिंटैक्स का उपयोग करता है, जबकि QPL एक शाब्दिक सिंटैक्स का उपयोग करता है। इन भाषाओं में शास्त्रीय नियंत्रण प्रवाह होता है लेकिन क्वांटम या शास्त्रीय डेटा पर काम कर सकता है। सेलिंगर सुपरऑपरेटर्स की श्रेणी में इन भाषाओं के लिए एक सांकेतिक शब्दार्थ देता है।

क्यूएमएल
QML Altenkirch और Grattage द्वारा निर्मित हास्केल (प्रोग्रामिंग भाषा) जैसी क्वांटम प्रोग्रामिंग भाषा है। सेलिंगर के क्यूपीएल के विपरीत, यह भाषा एक आदिम ऑपरेशन के रूप में क्वांटम जानकारी को छोड़ने के बजाय दोहराव लेती है। इस संदर्भ में डुप्लिकेशन को मैप करने वाले ऑपरेशन के रूप में समझा जाता है $$|\phi\rangle$$ को $$|\phi\rangle\otimes|\phi\rangle$$, और नो-क्लोनिंग प्रमेय के असंभव संचालन के साथ भ्रमित नहीं होना चाहिए; लेखकों का दावा है कि यह शास्त्रीय भाषाओं में साझा करने के तरीके के समान है। QML शास्त्रीय और क्वांटम नियंत्रण ऑपरेटरों दोनों का भी परिचय देता है, जबकि अधिकांश अन्य भाषाएँ शास्त्रीय नियंत्रण पर निर्भर करती हैं।

यह कितना घूमता है के संदर्भ में QML के लिए एक परिचालन शब्दार्थ दिया गया है, जबकि सुपरऑपरेटर्स के संदर्भ में एक सांकेतिक शब्दार्थ प्रस्तुत किया गया है, और इन्हें सहमत दिखाया गया है। हास्केल में परिचालन और निरूपण शब्दार्थ दोनों को (शास्त्रीय रूप से) लागू किया गया है।

लिक्वि|>
LIQUi|> (उच्चारण तरल) F Sharp (प्रोग्रामिंग भाषा)|F# प्रोग्रामिंग भाषा पर एक क्वांटम सिमुलेशन एक्सटेंशन है। यह वर्तमान में क्वांटम आर्किटेक्चर एंड कंप्यूटेशन ग्रुप (QuArC) द्वारा विकसित किया जा रहा है। माइक्रोसॉफ्ट रिसर्च में स्टेशन क्यू प्रयासों का हिस्सा है। LIQUi|> उपयोग के लिए भौतिक क्वांटम कंप्यूटर उपलब्ध होने से पहले सिद्धांतकारों को क्वांटम एल्गोरिथम डिजाइन के साथ प्रयोग करने की अनुमति देना चाहता है। इसमें एक प्रोग्रामिंग भाषा, अनुकूलन और शेड्यूलिंग एल्गोरिदम और क्वांटम सिमुलेटर शामिल हैं। LIQUi|> का उपयोग क्वांटम डिवाइस के लिए निम्न-स्तरीय मशीन निर्देशों में उच्च-स्तरीय प्रोग्राम के रूप में लिखे गए क्वांटम एल्गोरिदम का अनुवाद करने के लिए किया जा सकता है।

क्वांटम लैम्ब्डा कैलकुली
क्वांटम लैम्ब्डा कैलकुली 1930 के दशक में अलोंजो चर्च और स्टीफन कोल क्लेन द्वारा पेश किए गए शास्त्रीय लैम्ब्डा कैलकुलस के विस्तार हैं। क्वांटम लैम्ब्डा कैलकुली का उद्देश्य क्वांटम प्रोग्रामिंग भाषाओं को उच्च-क्रम के कार्यों के सिद्धांत के साथ विस्तारित करना है।

क्वांटम लैम्ब्डा कैलकुलस को परिभाषित करने का पहला प्रयास फिलिप मेमिन ने 1996 में किया था। उनका लैम्ब्डा-क्यू कैलकुलस किसी भी क्वांटम कम्प्यूटेशन को व्यक्त करने के लिए पर्याप्त शक्तिशाली है। हालांकि, यह भाषा एनपी-पूर्ण समस्याओं को कुशलतापूर्वक हल कर सकती है, और इसलिए मानक क्वांटम कम्प्यूटेशनल मॉडल (जैसे क्वांटम ट्यूरिंग मशीन या क्वांटम सर्किट मॉडल) से सख्ती से मजबूत प्रतीत होती है। इसलिए, मेमिन का लैम्ब्डा-क्यू कैलकुस शायद भौतिक डिवाइस पर लागू करने योग्य नहीं है.

2003 में, आंद्रे वैन टोंडर ने लैम्ब्डा कैलकुलस के एक विस्तार को परिभाषित किया, जो क्वांटम कार्यक्रमों की शुद्धता को साबित करने के लिए उपयुक्त था। उन्होंने स्कीम (प्रोग्रामिंग लैंग्वेज) प्रोग्रामिंग लैंग्वेज में एक कार्यान्वयन भी प्रदान किया। 2004 में, सेलिंगर और वैलिरोन ने रैखिक तर्क पर आधारित एक प्रकार प्रणाली के साथ क्वांटम संगणना के लिए दृढ़ता से टाइप किए गए लैम्ब्डा कैलकुलस को परिभाषित किया।

क्विपर
क्विपर 2013 में प्रकाशित हुआ था। मेजबान भाषा के रूप में हास्केल (प्रोग्रामिंग भाषा) का उपयोग करते हुए इसे एक एम्बेडेड भाषा के रूप में कार्यान्वित किया जाता है। इस कारण से, क्विपर में लिखे गए क्वांटम प्रोग्राम प्रदान किए गए पुस्तकालयों का उपयोग करके हास्केल (प्रोग्रामिंग भाषा) में लिखे गए हैं। उदाहरण के लिए, निम्नलिखित कोड एक सुपरपोजिशन की तैयारी को लागू करता है

बाहरी संबंध

 * Curated list of all quantum open-source software projects
 * Bibliography on Quantum Programming Languages (updated in May 2007)
 * Quantum Physics and Logic (QPL) Conference Series (L stood for 'Languages' until 2006)
 * Quantum programming language in Quantiki
 * QMASM documentation
 * pyQuil documentation including Introduction to Quantum Computing
 * Scaffold Source