क्या एक अध्ययन गाइड मौजूद है जो "विशुद्ध रूप से सीएस पृष्ठभूमि" से शुरू होता है और "एक नई क्वांटम प्रोग्रामिंग भाषा बनाने" की दिशा में आगे बढ़ता है?


12

मैं एक कंप्यूटर साइंस बैकग्राउंड से हूं और मुझे क्वांटम कंप्यूटिंग सीखते समय जिन संसाधनों पर ध्यान देना चाहिए, उन पर निर्णय लेना मुश्किल है, क्योंकि पढ़ने / देखने के लिए बहुत कुछ है। मेरा अंतिम लक्ष्य क्वांटम कंप्यूटर और 1972 के समान व्यक्ति के बीच एक प्रोग्रामिंग भाषा को अभिनय करना है जब सी बनाया गया था। एक यथार्थवादी मध्यवर्ती चरण के रूप में, मैं आईबीएम के क्यूओसिट पर कार्यक्रम लिखने के बिंदु पर जाना चाहूंगा।

उसके लिए, मुझे भौतिकी में आवश्यक पृष्ठभूमि और क्वांटम कंप्यूटिंग के क्षेत्र में गोता लगाने के लिए आवश्यक संबंधित क्षेत्रों का अधिग्रहण करने के लिए एक योजनाबद्ध अध्ययन मार्गदर्शिका की आवश्यकता होगी। क्या यह पहले से ही मौजूद है: मास्टर करने के लिए अपरिहार्य अवधारणाओं और क्षमताओं की एक सूचीबद्ध सूची, यदि संभव हो तो उनमें से प्रत्येक को प्राप्त करने के लिए पर्याप्त सामग्री का भी उल्लेख किया गया है ?

एक हाई स्कूल स्तर के भौतिकी ज्ञान को मान लें। एक अध्ययन गाइड यानी शुरुआत से विशेषज्ञ विशेषज्ञ गाइड प्रदान करें। वीडियो / पुस्तक संसाधनों को सूचीबद्ध करने का प्रयास करें जो किसी कालानुक्रमिक क्रम में पालन करें ताकि मैं क्वांटम कंप्यूटिंग के क्षेत्र में एक विशेषज्ञ बन जाऊं जिस स्तर पर मैं अपनी क्वांटम कंप्यूटिंग भाषा लिख ​​सकता हूं (भाषा लिखने के लिए पहले से ही अन्य सीएस कौशल है) ।


क्या आपने इसकी जाँच की है? quantumcomputing.stackexchange.com/questions/1367/…
agaitaarino

3
क्वांटम कम्प्यूटिंग एसई में आपका स्वागत है! वर्तमान में, इस प्रश्न का शीर्षक यह प्रकट करता है कि आप कुछ व्यापक और राय आधारित पूछ रहे हैं (जो कुछ ऐसा है जो SE Q & A प्रारूप के लिए डिज़ाइन नहीं किया गया है), हालांकि प्रश्न का मुख्य निकाय यह स्पष्ट करता है कि यह वास्तव में है संसाधन अनुरोध (जो स्वीकार्य है)। इस प्रकार, यह सबसे अधिक उपयोगी होगा यदि आप अपने प्रश्न के शीर्षक को संपादित करें जो आप जानना चाहते हैं, उसके बारे में अधिक विशिष्ट होना चाहिए। इसके अलावा, यह उपयोगी हो सकता है यदि आपने ठीक वही शामिल किया है जो टिप्पणियों में जुड़े प्रश्न के उत्तर गायब हैं, तो हम बेहतर मदद कर सकते हैं। धन्यवाद!
Mithrandir24601

1
संसाधन अनुरोध प्रश्नों पर विशेष रूप से हमारी नीति देखें । यह बहुत व्यापक है।
हीथ

1
क्या आप कुछ सोच रहे हैं जैसे कि nand2tetris, लेकिन क्वांटम? या "वैज्ञानिकों के लिए क्वांटम कम्प्यूटिंग" पुस्तक की तरह कुछ?
जेम्स वॉटन

1
आपके संपादन के लिए धन्यवाद, मेरा मानना ​​है कि यह अब संसाधन अनुरोध आवश्यकताओं को पूरा करता है, इसलिए मैं फिर से खोल दिया।
हीथ

जवाबों:


11

मुझे नहीं लगता कि एक भी स्वर्ण संसाधन है जो आपको सभी आवश्यक ज्ञान प्रदान कर सकता है। लेकिन मैं एक मार्ग (या आपके शब्दों में योजनाबद्ध अध्ययन गाइड ) का सुझाव दे सकता हूं :

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

  • Microsoft की अपनी क्वांटम प्रोग्रामिंग भाषा है जिसका नाम Q # है (जो उनके क्वांटम डेवलपमेंट किट का एक हिस्सा है )। पूर्ण प्रलेखन-सह-गाइड उनकी वेबसाइट पर है: https://docs.microsoft.com/en-us/quantum । यदि आप सीएस की ओर से हैं, तो मुझे उम्मीद है कि आपको पहले से ही वैक्टर, मैट्रिसेस और रैखिक बीजगणित का कुछ ज्ञान है। यदि हां, तो आप सीधे गाइड लेख-दर-लेख पढ़ना शुरू कर सकते हैं। प्रारंभ में, वे मैट्रिस, वैक्टर आदि के संक्षिप्त पुनरीक्षण के साथ शुरू करते हैं, इसके बाद एक संक्षिप्त परिचय देते हैं। बुनियादी क्वांटम प्रोग्राम लिखने के साथ कम से कम शुरुआत करने के लिए यह पर्याप्त है, इसके पीछे भौतिकी की न्यूनतम समझ है। वैसे, यदि आपकी रैखिक बीजगणित की अवधारणाएं कमजोर हैं, तो आप हमेशा कोशिश कर सकते हैंखान अकादमी के व्याख्यान उसी पर।

  • अगला, आप क्वांटम यांत्रिकी के कम से कम कुछ मूल बातें सीखना चाहते हैं। मुझे व्यक्तिगत रूप से प्रोफेसर वज़ीरानी के व्याख्यान पसंद हैं , जो अब Youtube पर हैं। लगभग 60 दस मिनट के व्याख्यान में उन्होंने क्वांटम यांत्रिकी और क्वांटम कम्प्यूटेशन एल्गोरिदम के सभी आवश्यक मूल बातें शामिल कीं। इसके बाद, आप अपने दम पर नए एल्गोरिदम लेने के लिए अच्छे आकार में होंगे।

  • तीसरे चरण के रूप में, मैं सुझाव दूंगा कि " क्वांटम कम्प्यूटेशन और क्वांटम सूचना इसहाक चुआंग और माइकल नील्सन द्वारा " और साथ ही " क्वांटम कम्प्यूटिंग फॉर कंप्यूटर साइंटिस्ट्स फॉर मिर्को ए। मान्नुसी और नोसन एस। यानोफ्स्की " जैसे महत्वपूर्ण विषयों को कवर करने के लिए। छूट गया।

यह आपके लिए पर्याप्त होना चाहिए कि आप अपनी खुद की क्वांटम प्रोग्रामिंग भाषा लिखना शुरू कर सकें। आप अन्य सामान्य क्वांटम कंप्यूटिंग भाषाओं के लिए ट्यूटोरियल में देख सकते हैं कि कैसे क्वांटम प्रोग्राम लिखने और क्वांटम प्रोग्रामिंग भाषाओं को डिज़ाइन करने के बारे में सोचा जाए।


6

मैं आपको सुझाव दूंगा कि क्या "क्वांटम प्रोग्रामिंग लैंग्वेज बनाने का लक्ष्य" क्वांटम कम्प्यूटेशन के विकास में इस बिंदु पर उपयुक्त है। यह सबसे आम दृष्टिकोण नहीं है, क्योंकि ज्यादातर हम अभी भी मशीन भाषा के मामले में सोच के स्तर पर हैं। जब हम एल्गोरिदम बनाते हैं, तो जिस स्तर पर यह किया जाता है वह लॉजिक गेट्स के संदर्भ में शास्त्रीय एल्गोरिदम को व्यक्त करने के समान होता है (जैसे कि गुणा के लिए यह उदाहरण )। क्वांटम SDKs, जैसे QISKit अनिवार्य रूप से क्वांटम हार्डवेयर या सिमुलेटर पर भेजे जाने वाले कार्य बनाने के तरीके हैं। इसमें सिमुलेशन प्रदर्शन करने के लिए उपकरण, रन टाइम या शोर के स्तर के लिए अनुकूलन आदि शामिल हैं। वे उच्च स्तरीय अर्थों में वास्तव में भाषाएँ नहीं हैं जिनका उपयोग हम शास्त्रीय गणना के लिए करते हैं।

क्वांटम स्टैक के इस स्तर पर क्या हो रहा है, इसके लिए एक परिचय के लिए, क्यू टेरी रूडोल्फ द्वारा क्वांटम के लिए क्यू सहायक हो सकता है।

QISKit के साथ प्रोग्राम लिखने के आपके मध्यवर्ती लक्ष्य के लिए, मैं QISKit ट्यूटोरियल की सलाह दूंगा । इसमें लघु क्वांटम कार्यक्रमों को लागू करने के कई काम किए गए उदाहरण हैं। माध्यम पर एक QISKit प्रकाशन भी है जिसमें ट्यूटोरियल की कुछ चीजों को अधिक विस्तार से समझाया गया है। QISKit का एक संक्षिप्त ट्यूटोरियल भी है , जो पूर्ण QISKit ट्यूटोरियल के लिए वार्म-अप के रूप में उपयोगी हो सकता है।

पूर्ण प्रकटीकरण: मैंने अंतिम पैराग्राफ में उल्लिखित सभी चीजों में योगदान दिया है।


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

1
महान बिंदु! मैं कहूँगा कि हार्डवेयर इस समय मशीन की भाषा से बहुत परे है। लेकिन गलत साबित होना बहुत अच्छा होगा।
जेम्स वूटटन

मैंने नकारात्मकता को कम करने के लिए अपने उत्तर को थोड़ा संपादित किया, और सिर्फ यह इंगित किया कि यह इस समय चीजों को करने का सामान्य तरीका नहीं है (हालांकि इसका मतलब यह नहीं है कि यह गलत है)
जेम्स वॉटन ने
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.