बिट्स और क्यूबिट्स (Bits and qubits)
एक बिट 0 या 1 होता है। एक क्यूबिट को दो नंबरों से समझाया जाता है जिन्हें एम्प्लीट्यूड (amplitudes) कहते हैं, लेकिन जब आप इसे देखते हैं तो आपको केवल 0 या 1 ही मिलता है। जानिए कि इसका असल में क्या मतलब है।
60 सेकंड में
बिट्स और क्यूबिट्स (Bits and qubits)
एक बिट 0 या 1 होता है। एक क्यूबिट को दो नंबरों से समझाया जाता है जिन्हें एम्प्लीट्यूड (amplitudes) कहते हैं, लेकिन जब आप इसे देखते हैं तो आपको केवल 0 या 1 ही मिलता है। जानिए कि…
क्यूबिट क्या होता है
|0⟩ और |1⟩ कहते हैं। ये अजीब दिखने वाले ब्रैकेट सिर्फ़ लेबल हैं, जिन्हें "केट 0" (ket 0) और "केट 1" (ket 1) पढ़ा जाता है। इंजीनियर क्यूबिट्स को कई तरीकों से बनाते हैं, उदाहरण के लिए बहुत ठंडे रखे गए छोटे सुपरकंडक्टिंग सर्किट, इलेक्ट्रिक फ़ील्ड द्वारा रोके गए अकेले चार्ज्ड एटम (आयन), या प्रकाश के कण (फ़ोटॉन)।state = a|0⟩ + b|1⟩
a = amplitude for 0
b = amplitude for 1
rule: |a|² + |b|² = 1| बिट (Bit) | क्यूबिट (Qubit) | |
|---|---|---|
| यह क्या हो सकता है | 0 या 1 | कोई भी स्थिति a|0⟩ + b|1⟩ जहाँ |a|² + |b|² = 1 हो |
| पढ़ने पर क्या मिलता है | 0 या 1, बिल्कुल वैसा ही जैसा स्टोर किया गया था | 0 या 1, रैंडम तरीके से, |a|² और |b|² संभावना के साथ |
| क्या आप इसे कॉपी कर सकते हैं? | हाँ, जितनी बार चाहें | नहीं: एक अज्ञात (unknown) क्यूबिट स्थिति को कॉपी नहीं किया जा सकता (नो-क्लोनिंग थ्योरम) |
| ऐसे n को समझाने के लिए ज़रूरी नंबर | n बिट्स | 2ⁿ एम्प्लीट्यूड (n क्यूबिट्स की एक सामान्य स्थिति के लिए) |
एक आम भ्रम को दूर करना
- एक क्यूबिट एक ही समय में 0 और 1 दोनों होता है, इसलिए यह दोगुनी जानकारी रखता है
- एक क्वांटम कंप्यूटर एक साथ हर जवाब आज़माता है और सबसे अच्छा चुनता है
- क्यूबिट्स जादुई होते हैं, और कोई भी उन्हें नहीं समझता
- एक क्यूबिट की स्थिति में दो एम्प्लीट्यूड होते हैं, लेकिन एक बार मापने पर आपको केवल एक बिट मिलता है
- मापने पर एक रैंडम नतीजा मिलता है; एक अच्छा क्वांटम एल्गोरिदम सही जवाबों की संभावना बढ़ाने के लिए इंटरफ़ेरेंस (interference) का उपयोग करता है
- क्वांटम मैकेनिक्स साफ़ गणित के साथ एक सटीक, अच्छी तरह से परखा हुआ सिद्धांत है, वही गणित जो आप इस कोर्स में इस्तेमाल करेंगे
स्थिति की जाँच करना
import numpy as np
states = {
"|0>": [1.0, 0.0],
"equal mix": [1 / np.sqrt(2), 1 / np.sqrt(2)],
"60/40 style": [0.6, 0.8],
"not valid": [0.5, 0.5],
}
for name, (a, b) in states.items():
total = abs(a) ** 2 + abs(b) ** 2
print(f"{name:12s} a={a:.3f} b={b:.3f} |a|^2+|b|^2 = {total:.3f}")और देखें और पढ़ें
लैब
दो छोटे Python फ़ंक्शन: एक जो सभी क्लासिकल बिट पैटर्न को लिस्ट करता है, और एक जो जाँचता है कि क्या दो एम्प्लीट्यूड एक मान्य क्यूबिट स्थिति बनाते हैं।
समस्या
इसे ब्राउज़र में, या Python 3 और numpy के साथ रन करें।
bit_patterns(n)को पूरा करें ताकि यह हर n-बिट स्ट्रिंग की एक लिस्ट दे, उदाहरण के लिएbit_patterns(2)से["00", "01", "10", "11"]मिले। (संकेत:itertools.product("01", repeat=n)।)is_valid_state(a, b)को पूरा करें ताकि यह केवल तभी True लौटाए जब |a|² + |b|² का मान 1 हो। राउंडिंग की थोड़ी सी गड़बड़ी को स्वीकार करें, उदाहरण के लिए 1e-9।- प्रिंट करें कि n = 1 से 10 के लिए कितने पैटर्न हैं। एक वाक्य लिखें: 10 बिट्स का एक रजिस्टर एक साथ इनमें से कितने पैटर्न रख सकता है?
प्रैक्टिस लैब
कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।
कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1अगर एक क्यूबिट में दो एम्प्लीट्यूड होते हैं जो कोई भी मान्य नंबर हो सकते हैं, तो हम एक क्यूबिट में पूरी किताब क्यों नहीं स्टोर कर सकते?दिखाएं
क्योंकि हम कभी भी एम्प्लीट्यूड को सीधे नहीं पढ़ सकते। एक माप केवल एक बिट देता है, और यह पुरानी स्थिति को नष्ट कर देता है। किसी स्थिति की कई कॉपियों के साथ भी आपको एम्प्लीट्यूड का मोटा अंदाज़ा लगाने के लिए कई मापों की ज़रूरत होगी, और नो-क्लोनिंग थ्योरम कहता है कि आप किसी अज्ञात स्थिति की कॉपियाँ नहीं बना सकते। एक प्रसिद्ध परिणाम (होलेवो की सीमा या Holevo's bound) कहता है कि इस स्थिति में एक क्यूबिट ज़्यादा से ज़्यादा केवल एक क्लासिकल बिट के बराबर पढ़ी जा सकने वाली जानकारी ले जा सकता है।
Q2एक दोस्त कहता है: "दो एम्प्लीट्यूड का मतलब है कि एक क्यूबिट 50% शून्य और 50% एक है।" यह कब सच होता है, और कब गलत?दिखाएं
यह केवल उन स्थितियों के लिए सच है जहाँ |a|² = |b|² = 0.5 हो, जैसे a = b = 1/√2। अन्य स्थितियाँ अलग संभावनाएँ देती हैं, जैसे 36% और 64%। और समान संभावनाओं के लिए भी, एम्प्लीट्यूड के चिह्न (और फेज़) मायने रखते हैं: 1/√2 और −1/√2 मापने पर समान संभावना देते हैं, लेकिन गेट्स लागू होने पर अलग तरह से व्यवहार करते हैं, क्योंकि वे अलग तरह से इंटरफ़ेयर करते हैं।
अक्सर पूछे जाने वाले सवाल
क्या क्यूबिट सिर्फ़ एक ऐसा बिट है जिसके बारे में हम निश्चित नहीं हैं?
नहीं। जिस बिट के बारे में आप निश्चित नहीं हैं, वह वास्तव में 0 या 1 ही होता है, बस आपको पता नहीं होता कि वह क्या है। एक क्यूबिट के एम्प्लीट्यूड एक-दूसरे के साथ इंटरफ़ेयर कर सकते हैं, और प्रयोग ऐसे प्रभाव दिखाते हैं जिन्हें आम तौर पर कोई भी "छिपा हुआ 0 या 1" वाला तर्क नहीं समझा सकता। पाठ 3 में इस पर वापस चर्चा होगी।
क्यूबिट्स को इतना ठंडा या इतना अलग-थलग (isolated) रखने की ज़रूरत क्यों होती है?
बाहरी दुनिया से कोई भी छोटी सी गड़बड़ी, जैसे गर्मी, आवारा रोशनी या कंपन, एम्प्लीट्यूड को बिगाड़ सकती है। इसे शोर (noise) या डीकोहेरेंस (decoherence) कहा जाता है। ठंड और अलगाव इसे कम करते हैं, लेकिन इसे कोई भी पूरी तरह खत्म नहीं कर पाया है। आखिरी पाठ में इसे शामिल किया गया है।
क्या मेरे पास घर पर एक क्यूबिट हो सकता है?
असली वाला तो नहीं, लेकिन आप अपने कंप्यूटर पर सिमुलेटर का इस्तेमाल कर सकते हैं, जो कि यह ट्रैक करता है। कुछ संगठन छात्रों को इंटरनेट के ज़रिए असली क्वांटम हार्डवेयर पर छोटे प्रोग्राम चलाने की सुविधा भी देते हैं; देखें कि वर्तमान में क्या उपलब्ध है।
|0⟩ नोटेशन का क्या मतलब है?
इसे डिराक (Dirac) या "ब्रा-केट" नोटेशन कहा जाता है। |0⟩ बस उस स्थिति का नाम है जो मापने पर हमेशा 0 देती है। कोड में हम इसे लिस्ट [1, 0] के रूप में लिखते हैं, और |1⟩ को [0, 1] के रूप में।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।