किस्किट

Qiskit सर्किट, पल्स और एल्गोरिदम के स्तर पर क्वांटम कंप्यूटर के साथ काम करने के लिए खुला स्त्रोत सॉफ़्टवेयर विकास किट | सॉफ्टवेयर डेवलपमेंट किट (एसडीके) है। यह यह कितना घूमता है?  बनाने और हेरफेर करने और उन्हें  आईबीएम क्वांटम अनुभव  पर या स्थानीय कंप्यूटर पर सिमुलेटर पर प्रोटोटाइप क्वांटम उपकरणों पर चलाने के लिए उपकरण प्रदान करता है। यह क्वांटम ट्यूरिंग मशीन के लिए क्वांटम सर्किट का अनुसरण करता है, और इसका उपयोग किसी भी क्यूबिट#भौतिक कार्यान्वयन के लिए किया जा सकता है (वर्तमान में सुपरकंडक्टिंग क्वैबिट्स और ट्रैप्ड आयन क्वांटम कंप्यूटर का समर्थन करता है) ) जो इस मॉडल का अनुसरण करता है।

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

प्रोजेक्ट ज्यूपिटर#ज्यूपिटर नोटबुक की श्रृंखला उपयोग किए जा रहे क्वांटम कंप्यूटिंग के उदाहरणों के साथ प्रदान की गई है। उदाहरणों में Qiskit का उपयोग करने वाले वैज्ञानिक अध्ययनों के पीछे का स्रोत कोड शामिल है, साथ ही लोगों को क्वांटम प्रोग्रामिंग की मूल बातें सीखने में मदद करने के लिए अभ्यासों का सेट। किस्किट पर आधारित ओपन सोर्स पाठ्यपुस्तक विश्वविद्यालय-स्तरीय क्वांटम एल्गोरिदम या क्वांटम गणना पाठ्यक्रम पूरक के रूप में उपलब्ध है।

घटक
किस्किट उन तत्वों से बना है जो क्वांटम कंप्यूटिंग को सक्षम करने के लिए साथ काम करते हैं। किस्किट का केंद्रीय लक्ष्य  सॉफ्टवेयर स्टैक का निर्माण करना है जो किसी के लिए भी क्वांटम कंप्यूटर का उपयोग करना आसान बनाता है, चाहे उनका कौशल स्तर या रुचि का क्षेत्र कुछ भी हो; Qiskit उपयोगकर्ताओं को प्रयोगों और अनुप्रयोगों को आसानी से डिज़ाइन करने और उन्हें वास्तविक क्वांटम कंप्यूटर और/या शास्त्रीय सिमुलेटर पर चलाने की अनुमति देता है। Qiskit OpenQASM के मशीन कोड स्तर और क्वांटम कंप्यूटिंग विशेषज्ञता के बिना अंतिम-उपयोगकर्ताओं के लिए उपयुक्त अमूर्त स्तरों पर क्वांटम सॉफ़्टवेयर विकसित करने की क्षमता प्रदान करता है। यह कार्यक्षमता निम्नलिखित विशिष्ट घटकों द्वारा प्रदान की जाती है।

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

निम्नलिखित किस्किट टेरा का सरल उदाहरण दिखाता है। इसमें दो क्वैब के लिए  क्वांटम सर्किट बनाया जाता है, जिसमें  बेल अवस्था  बनाने के लिए आवश्यक क्वांटम लॉजिक गेट होता है। क्वांटम सर्किट फिर क्वांटम यांत्रिकी में माप के साथ समाप्त होता है, जो प्रत्येक qu[[bit]] से थोड़ा सा निकालता है।

 क्विस्किट से क्वांटम सर्किट आयात करें

क्यूसी = क्वांटम सर्किट(2, 2)

क्यूसी.एच(0) क्यूसी.सीएक्स(0, 1) क्यूसी.माप([0,1], [0,1]) 

किस्किट एयर
तत्व एयर यथार्थवादी शोर मॉडल के साथ उच्च प्रदर्शन क्वांटम कंप्यूटिंग सिमुलेटर प्रदान करता है। निकट भविष्य में, क्वांटम सॉफ्टवेयर का विकास काफी हद तक छोटे क्वांटम उपकरणों के सिमुलेशन पर निर्भर करेगा। Qiskit के लिए, यह Aer घटक द्वारा प्रदान किया जाता है। यह उपयोगकर्ता के डिवाइस पर स्थानीय रूप से होस्ट किए गए सिमुलेटर, साथ ही क्लाउड के माध्यम से उपलब्ध सुपर कंप्यूटर  संसाधन प्रदान करता है। सिमुलेटर सरल और परिष्कृत शोर मॉडल के लिए शोर के प्रभावों का अनुकरण भी कर सकते हैं। पिछले उदाहरण को जारी रखते हुए: बार क्वांटम सर्किट बन जाने के बाद, इसे बैकएंड (क्वांटम हार्डवेयर या सिम्युलेटर) पर चलाया जा सकता है। निम्नलिखित उदाहरण में,  स्थानीय सिम्युलेटर का उपयोग किया जाता है। qiskit आयात एयर से, निष्पादित करें

बैकएंड = Aer.get_backend(qasm_simulator) कार्य = निष्पादित करें (क्यूसी, बैकएंड) परिणाम = नौकरी.परिणाम प्रिंट(result.get_counts(qc)) यहां अंतिम प्रिंट स्टेटमेंट बैकएंड द्वारा लौटाए गए परिणाम दिखाएगा। यह पायथन शब्दकोश है जो क्वांटम सर्किट के एकाधिक रन से प्राप्त बिट स्ट्रिंग्स का वर्णन करता है। इस उदाहरण में प्रयुक्त क्वांटम सर्किट में, बिट स्ट्रिंग्स   और   केवल संभावित परिणाम होने चाहिए, और समान संभावना के साथ घटित होने चाहिए। इसलिए पूर्ण परिणामों में आमतौर पर नमूने दोनों के बीच लगभग समान रूप से विभाजित होंगे, जैसे.

क्विस्किट का उपयोग करके क्वांटम हार्डवेयर पर किए गए प्रयोगों का उपयोग कई शोध पत्रों में किया गया है, जैसे क्वांटम त्रुटि सुधार के परीक्षणों में, उलझाव की पीढ़ी और दूर-से-संतुलन गतिशीलता का अनुकरण।

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

किस्किट एक्वा
2 अप्रैल 2021 को जारी संस्करण 0.9.0 के अनुसार, किस्किट एक्वा को इसके समर्थन के समाप्त होने और अंतिम अभिलेखीय उस तारीख से 3 महीने से अधिक समय पहले नहीं होने के कारण हटा दिया गया है।

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

इसके अतिरिक्त, पुनर्गठन के लिए, सभी एल्गोरिदम नए एकीकृत प्रतिमान का पालन करते हैं: एल्गोरिदम को उनके द्वारा हल की जाने वाली समस्याओं के अनुसार वर्गीकृत किया जाता है, और  ही समस्या को हल करने के लिए  एप्लिकेशन क्लास एल्गोरिदम के भीतर परस्पर उपयोग किया जा सकता है। इसका मतलब यह है कि, पहले के विपरीत, एल्गोरिदम उदाहरण उनके द्वारा हल की गई समस्या से अलग हो जाते हैं।

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

किस्किट फाइनेंस
किस्किट फाइनेंस ओपन-सोर्स फ्रेमवर्क है जिसमें स्टॉक/प्रतिभूति समस्याओं के लिए अनिश्चितता वाले घटक, पोर्टफोलियो अनुकूलन के लिए आइसिंग मॉडल अनुवादक और वित्त प्रयोगों के लिए वास्तविक या यादृच्छिक डेटा स्रोत के लिए डेटा प्रदाता शामिल हैं।

किस्किट मशीन लर्निंग
मशीन लर्निंग पैकेज में वर्तमान में केवल नमूना डेटासेट शामिल हैं। इसमें कुछ वर्गीकरण एल्गोरिदम हैं जैसे कि QSVM और VQC (वैरिएशनल क्वांटम क्लासिफायर), जहां इस डेटा का उपयोग प्रयोगों के लिए किया जा सकता है, और इसमें QGAN (क्वांटम जनरेटिव प्रतिकूल नेटवर्क) एल्गोरिदम भी है।

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

यह भी देखें

 * आईबीएम क्वांटम अनुभव