क्वांटम कंप्यूटरों के लिए कौन सी प्रोग्रामिंग लैंग्वेज उपलब्ध हैं?


53

इस सवाल से, मैं इकट्ठा हुआ कि मुख्य क्वांटम कंप्यूटिंग प्रोग्रामिंग भाषा Q # और QISKit हैं

क्वांटम कंप्यूटर प्रोग्रामिंग के लिए अन्य कौन सी प्रोग्रामिंग लैंग्वेज उपलब्ध हैं? क्या किसी विशेष को चुनने के कुछ लाभ हैं?

EDIT: मैं प्रोग्रामिंग भाषाओं की तलाश कर रहा हूं, एमुलेटर की नहीं। एमुलेटर चीजों का अनुकरण करते हैं। प्रोग्रामिंग भाषा निर्देश लिखने की एक विधि है (या तो वास्तविक वस्तुओं के लिए या एमुलेटर के लिए)। एक एकल भाषा हो सकती है जो कई एमुलेटर और इसके विपरीत काम करती है।


मैं यह बताना चाहता हूं कि अनिवार्य रूप से यहां स्वीकृत उत्तर में सूचीबद्ध भाषाओं में से कोई भी वास्तव में मौजूदा क्वांटम कंप्यूटर के खिलाफ नहीं चल सकता है। यह 1 या तो अधिक समझ में आता है) प्रश्न को संपादित करने के लिए यह स्पष्ट करें कि आप उन भाषाओं के लिए पूछ रहे हैं जिन्हें मौजूदा हार्डवेयर के खिलाफ चलाने के लिए संकलित नहीं किया जा सकता है, या 2) एक अलग उत्तर स्वीकार करते हैं।
डेनियलस्क

1
@DanielSank मैंने विकिपीडिया सूची एक को स्वीकार किया क्योंकि मैंने यह माना कि उस सूची को उन भाषाओं को शामिल करने के लिए अद्यतन किया जाएगा जो वास्तव में हार्डवेयर पर चलती हैं; यह सबसे अच्छी प्रतिक्रिया के रूप में काम करेगा, यह मानते हुए कि विकिपीडिया उस पृष्ठ पर जारी है।
प्रो क्यू

1
@ProQ - मेरे उत्तर के लिए एक मामूली अद्यतन है। इसके अलावा, मैंने इस बात को स्पष्ट कर दिया है कि मेरा उत्तर कट / पेस्ट नहीं है बल्कि सत्यापित लिंक है। मैंने एक टूटी हुई कड़ी तय की है। मैंने एक महत्वपूर्ण योगदानकर्ता की वेबसाइट जोड़ी है। - मैं यह सुनिश्चित करने के लिए समय-समय पर वापस आऊंगा कि यह उत्तर "लगभग महान" है। जवाब देने और बनाए रखने पर विवरण को संबोधित किया गया है। मेरे उत्तर की कुछ भाषाएं खरीद के लिए उपलब्ध हार्डवेयर पर चलती हैं और नियमित रूप से उपयोग की जा रही हैं। आपके विश्वास के लिए धन्यवाद ProQ।
रॉब

वहाँ भी है याओ (एक्स्टेंसिबल, मनुष्य के लिए कुशल क्वांटम एल्गोरिथ्म डिजाइन), जूलिया, में लिखा github.com/QuantumBFS/Yao.jl । और यहां और यहां आपको एक तुलना मिलेगी।
स्कैन

जवाबों:


35

क्वांटम कंप्यूटर प्रोग्रामिंग भाषाओं की विकिपीडिया सूची

(यह उत्तर उस वेबपेज की कॉपी नहीं है, यह अधिक अद्यतन है और सत्यापित लिंक के साथ है। कुछ मामलों में लेखक का पेपर या लिंक जोड़ा गया है।)

वेबसाइट क्वांटम कंप्यूटिंग रिपोर्ट में एक दर्जन से अधिक लिंक, कुछ नए और कुछ उपरोक्त सूची को दोहराते हुए एक टूल वेबपेज है

क्वेटकी के वेबपेज को भी देखें: " क्यूसी सिमुलेटरों की सूची ", सिमुलेटर और प्रोग्रामिंग भाषाओं की एक विशाल सूची के लिए: सी / सी ++, सीएएमएल, ओकेमेल, एफ #, जीयूआई आधारित, जावा, जावास्क्रिप्ट, जूलिया, मेपल, गणित, मैक्सिमा के साथ। , मैटलैब / ऑक्टेव, .NET, पर्ल / पीएचपी, पायथन, स्कीम / हास्केल / एलआईएसपी / एमएल और अन्य ऑनलाइन सेवाएं जो कैलकुलेटर, कंपाइलर, सिमुलेटर, और टूलकिट, आदि प्रदान करती हैं।

क्या किसी विशेष को चुनने के कुछ लाभ हैं?

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

एक बड़ी निम्नलिखित के साथ एक भाषा का चयन करने का मतलब है कि अधिक फ़ोरम उपलब्ध हैं और उम्मीद से अधिक बग फिक्स और समर्थन हैं।

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

चार सॉफ़्टवेयर प्लेटफ़ॉर्म का मूल्यांकन: फ़ॉरेस्ट (pyQuil), QISKit, ProjectQ, और क्वांटम डेवलपर किट "रेव और गेट लेवल क्वांटम सॉफ़्टवेयर प्लेटफ़ॉर्म की तुलना " (6 Jul 2018) की पेशकश की है।


अपडेट:

Google का Cirq और OpenFermion-Cirq: " Google का AI ब्लॉग - घोषणा Cirq: NISQ एल्गोरिथम के लिए एक ओपन सोर्स फ्रेमवर्क "।

डी-वेव के लीप और ओशन एसडीके एक क्लाउड वातावरण में डी-वेव 2000 क्यू ™ सिस्टम तक पहुंच की अनुमति देता है, जिसमें 2000+ क्वांटम क्वांटम एनेलिंग मशीन तक पहुंच होती है, जो खुले स्रोत पूल में जाने के लिए उपयोग किए जाने वाले मुख्य एल्गोरिदम को मुफ्त में परीक्षण और चलाने के लिए प्रदान करता है। । वेब पेज में डी-वेव लीप पर लॉगिन करने के लिए आवेदन करें ।

रिगेटी कम्प्यूटिंग की क्वांटम क्लाउड सेवा (QCS) क्वांटम मशीन छवि, एक वर्चुअलाइज्ड प्रोग्रामिंग और निष्पादन वातावरण प्रदान करती है जो कि वन क्वॉर्ट कंप्यूटर के साथ 128 क्विबिट कंप्यूटर तक पहुंचने के लिए वन 2.0 के साथ पूर्व-कॉन्फ़िगर किया गया है।

Fujitsu के डिजिटल एनीलर पर एक जानकारी के लिए बने रहें , एक पारंपरिक कंप्यूटर की तुलना में 10,000 गुना तेजी से गणना करने में सक्षम वास्तुकला। यदि वे अंततः एक विकास वातावरण प्रदान करते हैं जो कि सच्चे क्वांटम कंप्यूटरों के साथ क्रॉस-संगत है, तो ये दो अनुच्छेद इस उत्तर में रहेंगे, अन्यथा मैं उन्हें हटा दूंगा।

जबकि उनकी सिलिकॉन चिप प्रकृति में क्वांटम नहीं है, फुजित्सु ने " क्वांटम से प्रेरित एआई क्लाउड सेवा " के रूप में वर्णित करने के लिए 1Qbit के साथ भागीदारी की है , चाहे उनका डिजिटल एनीलर एक बत्तख की तरह ( क्यू -डी-वेव की तरह घोषणा करता है और संगत कोड का उपयोग करता है) देखना बाकी है। Fujitsu डिजिटल एनीलर तकनीकी सेवा का उपयोग करने के लिए यहां जाएं ।

पेंसिल्वेनिया विश्वविद्यालय QWIRE ( गाना बजानेवालों ) एक क्वांटम सर्किट भाषा और औपचारिक सत्यापन उपकरण है, यह एक GitHub वेबपेज है

की समीक्षा: Cirq, Cliffords.jl, dimod, dwave-system, FermiLib, Forest (pyQuil & Grove), OpenFermion, ProjectQ, PyZX, QGL.jl, Qbsolv, Qiskit Terra and Aqua, Qiskit Tutorials, और Qiskit.js क्रैक, क्वांटम फॉग, क्वांटम ++, क्यूबिटर, क्वर्क, संदर्भ-क्यूवीएम, स्कैफ़सीसी, स्ट्रॉबेरी फील्ड्स, एक्सएसीसी, और अंत में एक्सएसीसी वीक्यूई को पेपर में पेश किया जाता है: मार्क फ़िंगरहुट द्वारा, " क्वांटम कंप्यूटिंग में ओपन सोर्स सॉफ़्टवेयर " (21 दिसंबर 2018)। टॉम बेब, और पीटर विटटेक।

मैं इस जवाब के लिए समय-समय पर अपडेट करता रहूंगा, बिना अत्यधिक टकराए



क्रमबद्ध "प्रोग्रामिंग" संबंधित समाचार: आईबीएम ने जनता के उपयोग के लिए अगले महीने उपलब्ध 53 क्यूबिट कंप्यूटर की घोषणा की ।
रॉब

28

गेट मॉडल हार्डवेयर विक्रेताओं ने अपनी निम्न स्तर की भाषाओं का निर्माण किया है:

ये उच्च स्तर के अजगर एसडीके उपलब्ध हैं:

रिगेटी अपनी भाषा को ग्रोव नामक पूर्व-निर्मित अनुप्रयोगों के लिए एक उच्च स्तरीय पुस्तकालय में भी लपेट रहे हैं ।

Microsoft ने अपने मौजूदा सिम्युलेटर और अंततः उनके भौतिक हार्डवेयर के विरुद्ध चलने के लिए Q # विकसित किया है ।

चूँकि उपरोक्त भाषाएँ विक्रेता विशिष्ट हैं इसलिए मुख्य लाभ यह है कि आप उनके कंप्यूटर पर क्वांटम प्रोग्राम चला सकते हैं।

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

संपादित करें: प्रोजेक्ट क्यू एक और ढांचा है जो आपको पायथन के उपयोग वाले कार्यक्रमों को विकसित करने की अनुमति देता है जो एक शामिल सिम्युलेटर पर चल सकता है।

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


3
projectq.ch भी एक उल्लेख के योग्य है।
जेम्स वॉटन

1
मुझे यह जवाब पसंद है क्योंकि यह बताता है कि मौजूदा हार्डवेयर के खिलाफ कौन सी भाषाएं चल सकती हैं
डैनियलस्क

5

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


3

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


1

दुर्भाग्य से, क्वांटिकी की सूची बहुत पुरानी है और अच्छी तरह से बनाए नहीं है। इस प्रश्न के उत्तर में सभी क्वांटम प्रोग्रामिंग भाषाओं को सूचीबद्ध करना भी टिकाऊ नहीं है क्योंकि क्वांटम परिदृश्य लगातार विकसित हो रहा है। उदाहरण के लिए, Google जारी किया है Cirq , शोर मध्यवर्ती स्केल क्वांटम (NISQ) कंप्यूटर जो ऊपर से किसी भी जवाब में विशेष रुप से नहीं कर रहा है, क्योंकि यह केवल एक दिन के पहले घोषणा की गई थी के लिए एक नया क्वांटम प्रोग्रामिंग ढांचे।

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


2
यह एक अद्भुत संसाधन जैसा दिखता है। धन्यवाद! मुझे आश्चर्य है कि अगर परियोजनाओं की एक और समान सूची है जो सिर्फ ओपन-सोर्स नहीं हैं।
प्रो।

1
@ProQ ईमानदार होने के लिए मुझे लगता है कि ओपन-सोर्स लिस्ट में क्वांटम सॉफ्टवेयर स्पेस का 95% हिस्सा शामिल है। सार्वजनिक पहुंच के साथ बमुश्किल किसी भी बंद-स्रोत पैकेज हैं और आप क्वांटम सॉफ़्टवेयर के बारे में परवाह नहीं करेंगे जो किसी भी तरह से सार्वजनिक पहुंच के बिना किसी कंपनी के भीतर उपयोग किया जाता है।
मार्क फिंगरथ जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.