संक्षिप्त उत्तर
क्वांटम कंप्यूटर्स किसी भी ज्ञात शास्त्रीय समकक्ष की तुलना में तेजी से फैक्टरिंग के लिए एक एल्गोरिथ्म के सबरूटीन्स को चलाने में सक्षम हैं। इसका मतलब यह नहीं है कि शास्त्रीय कंप्यूटर यह तेजी से भी नहीं कर सकते हैं, हम सिर्फ आज के शास्त्रीय एल्गोरिदम के लिए क्वांटम एल्गोरिदम के रूप में कुशल चलाने का एक तरीका नहीं जानते हैं
लंबा जवाब
क्वांटम कंप्यूटर असतत फूरियर ट्रांसफॉर्म में अच्छे हैं। यहाँ पर बहुत कुछ है जो केवल " यह समानांतर है " या " यह त्वरित है " द्वारा कैप्चर नहीं किया गया है " , तो चलो जानवर के खून में मिलें।
फैक्टरिंग समस्या निम्नलिखित है: एक नंबर को देखते हुए जहां पी , क्यू अभाज्य हैं, तुम कैसे ठीक हो करते पी और क्यू ? एक दृष्टिकोण निम्नलिखित पर ध्यान देना है:N=pqp,qpq
अगर मैं एक नंबर x को देखता हूं , फिर या तो एक्स एन के साथ एक सामान्य कारक साझाकरता है, या यह नहीं करता है।xmodNxN
यदि एक सामान्य कारक को साझा करता है, और स्वयं N के एक से अधिक नहीं है, तो हम आसानी से x और N के सामान्य कारकों के लिए पूछ सकते हैंxNxN हैं (सबसे बड़े सामान्य कारकों के लिए यूक्लिडियन एल्गोरिथ्म के माध्यम से)।
अब इतना स्पष्ट तथ्य नहीं है: सभी का सेट जो एन के साथ एक सामान्य कारक को साझा नहीं करता है एक गुणक समूह मोड एन । इसका क्या मतलब है? आप यहां विकिपीडिया में एक समूह की परिभाषा देख सकते हैं । विवरण में भरने के लिए समूह संचालन को गुणा करें, लेकिन हम वास्तव में यहां ध्यान रखते हैं कि उस सिद्धांत का निम्नलिखित परिणाम है: अनुक्रमxNmodN
x0modN,x1modN,x2modN,...
आवधिक है, जब सामान्य कारकों को साझा नहीं करते हैं ( x = 2 , N = 5 का प्रयास करें ) इसे पहले हाथ के रूप में देखें:x,Nx=2N=5
1mod5=1,4mod5=4,8mod5=3,16mod5=1.
अब कितने प्राकृतिक संख्या से कम एन के साथ किसी भी आम कारण का हिस्सा नहीं है एन ? इसका उत्तर यूलर के फंक्शनिएंट फ़ंक्शन द्वारा दिया गया है , यह ( p - 1 ) ( q - 1 ) हैxNN(p−1)(q−1) ।
अंत में, समूह सिद्धांत के विषय पर दोहन, दोहराए जाने वाले जंजीरों की लंबाई
x0modN,x1modN,x2modN,...
उस संख्या विभाजित करता है । इसलिए यदि आप x N की शक्तियों के अनुक्रम की अवधि जानते हैं(p−1)(q−1)xNmod5 then you can start to put together a guess for what (p−1)(q−1) is. Moreover, If you know what (p−1)(q−1) is, and what pq is (that's N don't forget!), then you have 2 equations with 2 unknowns, which can be solved through elementary algebra to separate p,q.
Where do quantum computers come in? The period finding. There's an operation called a Fourier transform, which takes a function g written as a sum of periodic functions a1e1+a2e2... where ai are numbers, ei are periodic functions with period pi and maps it to a new function f^ such that f^(pi)=ai.
कम्प्यूटिंग फूरियर बदलना आम तौर पर एक अभिन्न रूप में पेश किया जाता है, लेकिन जब आप करना चाहते हैं सिर्फ डेटा की एक सरणी में इसे लागू (मैं वें सरणी के तत्व है ) यदि आप एक बुलाया इस उपकरण का उपयोग कर सकते हैं असतत फूरियर रूपांतरण जो मात्रा में अपने "एरे" को गुणा करना जैसे कि यह एक वेक्टर था, एक बहुत बड़ी एकात्मक मैट्रिक्स द्वारा।f(I)
एकात्मक शब्द पर जोर: यह यहाँ वर्णित एक बहुत ही मनमानी संपत्ति है । लेकिन प्रमुख टेकवेवे निम्नलिखित है:
भौतिकी की दुनिया में, सभी ऑपरेटर एक ही सामान्य गणितीय सिद्धांत का पालन करते हैं: यूनिटारिटी ।
तो इसका मतलब है कि क्वांटम ऑपरेटर के रूप में उस डीएफटी मैट्रिक्स ऑपरेशन को दोहराने के लिए यह अनुचित नहीं है।
Now here is where it gets deep an n Qubit Array can represent 2n possible array elements (consult anywhere online for an explanation of that or drop a comment).
And similarly an n Qubit quantum operator can act on that entire 2n quantum space, and produce an answer that we can interpret.
See this Wikipedia article for more detail.
If we can do this Fourier transform on an exponentially large data set, using only n Qubits, then we can find the period very quickly.
If we can find the period very quickly we can rapidly assemble an estimate for (p−1)(q−1)
If we can do that fast then given our knowledge of N=pq we can take a stab at checking p,q.
That's whats going on here, at a very high level.