मैं सुझाव देता हूं कि प्रोटोकॉल को देखते हुए eigenvalue / eigenvector को देखें। समस्या को जितना आसान या जितना मुश्किल करना है, उतना आसान बनाने के लिए बहुत लचीलापन है।
दो मापदंडों को चुनकर शुरू करें, n तथा k। आप एक डिजाइन करना चाहते हैंn- एकतरफा, U कि फार्म के eigenvalues है e−2πiq/2k पूर्णांकों के लिए q। सुनिश्चित करें कि उनमें से कम से कम एक eigenvalues अद्वितीय है, और इसे कॉल करेंω। यह भी सुनिश्चित करें कि एक साधारण उत्पाद राज्य, कहते हैं|0⟩⊗n, नॉन-ज़ीरो ओवरलैप के साथ eigenvector of eigenvalue है ω।
इसका उद्देश्य मूल्य के बारे में बताया जा रहा है, इस पर एक चरण आकलन एल्गोरिथ्म को लागू करना होगा k, और एक वेक्टर के उत्पादन के साथ काम सौंपा जा रहा है |ψ⟩ वह आइगेनवेक्टर है जो आइजनवेल्यू के अनुरूप है ω। सामान्य तौर पर इसमें एक सर्किट शामिल होगाn+k qubits (जब तक आपको नियंत्रित लागू करने के लिए ancillas की आवश्यकता नहीं है-U)।
यह निम्नानुसार काम करता है:
दो रजिस्टर, एक में से एक को स्थापित करें k qubits, और के अन्य nqubits। ( क्वांटम रजिस्टरों का उपयोग )
राज्य में हर क्वबिट को इनिशियलाइज़ किया गया है |0⟩। ( क्वांटम रजिस्टरों का आरंभ )
पहले रजिस्टर ( सिंगल-क्वैबिट गेट्स ) में प्रत्येक क्वैबिट में एक हैडमर्ड लागू करें
qubit से r पहले रजिस्टर में, नियंत्रित लागू करें-U2r, दूसरा रजिस्टर ( बहु-नियंत्रित नियंत्रित द्वार ) को लक्षित करना
उलटा फूरियर रूपांतरण को पहले रजिस्टर पर लागू करें, और मानक आधार में पहले रजिस्टर के हर qubit को मापें। इन्हें अर्ध-शास्त्रीय फूरियर रूपांतरण को लागू करते हुए जोड़ा जा सकता है । ( माप और फ़ीड-शास्त्रीय डेटा के आगे )
सही माप परिणाम के लिए, दूसरा रजिस्टर वांछित स्थिति में है |ψ⟩।
सादगी के लिए, आप चुन सकते हैं n=2, k=1, तो आप एक की जरूरत है 4×4 eigenvalues के साथ एकात्मक मैट्रिक्स ±1। मैं कुछ का उपयोग करता हूँ
(U1⊗U2)C(U†1⊗U†2),
कहाँ पे
Cनियंत्रित-नहीं को दर्शाता है। Eigenvalue -1 के साथ सिर्फ एक eigenvector है, जो कि है
|ψ⟩=(U1⊗U2)|1⟩⊗(|0⟩−|1⟩)/2–√, और आप के विकल्पों के साथ गड़बड़ कर सकते हैं
U1 तथा
U2 के कार्यान्वयन का पता लगाने के लिए
Uएक सार्वभौमिक गेट सेट के संदर्भ में अपघटन का उपयोग करना (मैं शायद इसे प्रारंभिक समस्या के रूप में सेट करूँगा)। फिर, नियंत्रित-
Uएक नियंत्रित नियंत्रित-नॉट (टोफोली) गेट के साथ नियंत्रित-नहीं की जगह बस आसानी से लागू किया जाता है। अंत में, उलटा फूरियर रूपांतरण सिर्फ एक हैमर्ड द्वार है।
कुछ और अधिक जटिल के लिए, डाल दिया k=3, और प्रतिस्थापित करें C स्वैप गेट के वर्गमूल के साथ,
⎛⎝⎜⎜⎜⎜⎜1000012√i2√00i2√12√00001⎞⎠⎟⎟⎟⎟⎟
with
ω=e±iπ/4 and
|ψ⟩=(U1⊗U2)(|01⟩±|10⟩)/2–√.