क्वांटम गेट्स को एकात्मक और प्रतिवर्ती कहा जाता है। हालांकि, शास्त्रीय द्वार तार्किक और तार्किक या गेट्स की तरह अपरिवर्तनीय हो सकते हैं। फिर, अपरिवर्तनीय शास्त्रीय और OR फाटकों को क्वांटम गेट्स का उपयोग करना कैसे संभव है?
क्वांटम गेट्स को एकात्मक और प्रतिवर्ती कहा जाता है। हालांकि, शास्त्रीय द्वार तार्किक और तार्किक या गेट्स की तरह अपरिवर्तनीय हो सकते हैं। फिर, अपरिवर्तनीय शास्त्रीय और OR फाटकों को क्वांटम गेट्स का उपयोग करना कैसे संभव है?
जवाबों:
मान लीजिए कि हमारे पास एक फंक्शन जो n बिट्स से m बिट्स (जहाँ m < n ) मैप करता है ।
हम निश्चित रूप से इस ऑपरेशन को करने के लिए एक शास्त्रीय सर्किट डिजाइन कर सकते हैं। चलो इसे । यह इनपुट n -बिट्स के रूप में लेता है । मान लीजिए कि इसे इनपुट X के रूप में लिया गया है और यह f ( X ) आउटपुट करता है ।
अब, हम क्वांटम सर्किट का उपयोग करना चाहते हैं। चलो इसे , जो इनपुट के रूप में लेता है | एक्स ⟩ और आउटपुट | f ( X ) ⟩ । अब याद रखें कि चूंकि क्वांटम मैकेनिक्स रैखिक है, इसलिए इनपुट क्वैबिट्स सभी एन -बिट स्ट्रिंग्स के सुपरपोजिशन में हो सकते हैं। तो इनपुट कुछ राज्य में हो सकता है Σ एक्स ∈ { 0 , 1 } n α एक्स | एक्स ⟩ । Linearity तक उत्पादन होने जा रहा है Σ एक्स ∈ { 0 ,।
क्वांटम यांत्रिकी में विकास एकात्मक है । और क्योंकि यह एकात्मक है, यह प्रतिवर्ती है। यह अनिवार्य रूप से मतलब है कि यदि आप एक इनपुट राज्य पर एक क्वांटम गेट लागू करते हैं | x an और एक ouput राज्य प्राप्त करें U | एक्स ⟩ , तो आप हमेशा एक व्युत्क्रम गेट आवेदन कर सकते हैं यू † राज्य के लिए वापस पाने के लिए | एक्स ⟩ ।
ध्यान दें, ऊपर की तस्वीर में ध्यान से देखें कि इनपुट लाइनों की संख्या (यानी छह) प्रत्येक चरण में आउटपुट लाइनों की संख्या के समान है। इसकी वजह ऑपरेशंस की यूनिटेरिटी है। इसकी तुलना तार्किकों की तरह शास्त्रीय संचालन से करें और जहाँ a 1 एकल बिट आउटपुट 0 देता है । आप प्रारंभिक बिट्स फिर से संगठित नहीं कर सकते 0 और 1 , उत्पादन से के बाद से भी 0 ∧ 0 और 1 ∧ 0 एक ही उत्पादन के लिए मैप किया गया है | 0 । लेकिन, शास्त्रीय नहीं गेट पर विचार करें। यदि इनपुट 0 है , तो यह 1 है , जबकि यदि इनपुट है यह आउटपुट 0 है । चूंकि यह मैपिंग वन-वन है, इसलिए इसे आसानी से एक प्रतिवर्ती एकात्मक गेट के रूप में लागू किया जा सकता है, जिसका नामपॉलि-एक्स गेट है। हालांकि, एक शास्त्रीय और एक शास्त्रीय या गेट को लागू करने के लिए हमें थोड़ा और सोचने की आवश्यकता है।
CSWAP गेट पर विचार करें । यहाँ एक मोटा चित्र दिखाया गया है:
नियंत्रण बिट के आधार पर SWAP गेट में, हम अन्य दो की अदला-बदली कर सकते हैं या नहीं। ध्यान दें कि तीन इनपुट लाइनें और तीन आउटपुट लाइनें हैं। तो, यह एक एकात्मक क्वांटम गेट के रूप में तैयार किया जा सकता है। अब, अगर : यदि x = 0 , आउटपुट 0 है , जबकि अगर x = 1 , आउटपुट y है ।
अगर आप देखते हैं, अगर , हम outputting रहे ˉ एक्स ∧ y जबकि यदि x = 1 हम outputting रहे हैं एक्स ∧ y । इसलिए हम सफलतापूर्वक उत्पादन उत्पन्न कर सकता है एक्स ∧ y जो हम हालांकि हम कुछ "जंक" आउटपुट के साथ समाप्त हो गया चाहता था ˉ एक्स ∧ y और एक्स । एक दिलचस्प तथ्य यह है कि CSWAP गेट का उलटा CSWAP गेट ही होता है (चेक!)।
बस इतना ही! याद रखें कि सभी शास्त्रीय फाटकों का निर्माण NAND गेट के साथ किया जा सकता है , जो निश्चित रूप से AND और NOT गेट का निर्माण किया जा सकता है। हमने प्रतिवर्ती क्वांटम फाटकों का उपयोग करके शास्त्रीय रूप से शास्त्रीय और शास्त्रीय और गेट को प्रभावी ढंग से तैयार किया है। बस सुरक्षित पक्ष पर होने के लिए, हम अपनी सूची में qauntum CNOT गेट भी जोड़ सकते हैं , क्योंकि CNOT का उपयोग करके हम बिट्स की प्रतिलिपि बना सकते हैं।
इसलिए, मूल संदेश यह है कि क्वांटम CSWAP, CNOT और NOT गेट्स का उपयोग करके हम किसी भी शास्त्रीय गेट को दोहरा सकते हैं । BTW, "जंक" बिट्स से छुटकारा पाने के लिए एक चतुर चाल है जो क्वांटम गेट्स का उपयोग करते समय उत्पन्न होती है, लेकिन यह एक और कहानी है।
पुनश्च: "जंक" बिट्स से छुटकारा पाना बहुत महत्वपूर्ण है अन्यथा वे कम्प्यूटेशनल त्रुटियों का कारण बन सकते हैं!
संदर्भ और छवि क्रेडिट: क्वांटम यांत्रिकी और क्वांटम कम्प्यूटेशन MOOC, UCX पर UC बर्कले द्वारा प्रस्तुत किया गया है।