यह अच्छी तरह से अध्ययन किया जाता है, क्योंकि एमसीडॉवेला की टिप्पणी इंगित करती है। यहां बताया गया है कि Cantor-Zassenhaus random algorithm उस मामले के लिए कैसे काम करता है जहां आप अधिक सामान्य कारक के बजाय बहुपद की जड़ों को ढूंढना चाहते हैं।
ध्यान दें कि गुणांक मॉड पी के साथ बहुपदों की अंगूठी में, उत्पाद x (x-1) (x-2) ... (x-p + 1) में सभी संभावित जड़ें हैं, और x^px के बराबर होती है Fermat's Little Theorem और इस अंगूठी में अद्वितीय कारककरण।
सेट जी = जीसीडी (एफ, एक्स^पी-एक्स)। दो बहुपदों की जीसीडी की गणना करने के लिए Euclid's algorithm का उपयोग सामान्य रूप से तेज़ है, अधिकतम डिग्री में लॉगरिदमिक कई कदम उठाते हैं। यह आपको बहुपदों को कारक करने की आवश्यकता नहीं है। जी में समान जड़ें फ़ील्ड में एफ हैं, और कोई दोहराया कारक नहीं है।
x^px के विशेष रूप के कारण, केवल दो nonzero शर्तों के साथ, यूक्लिड के एल्गोरिदम का पहला चरण repeated squaring द्वारा किया जा सकता है, लगभग 2 log_2 (p) चरणों में केवल डिग्री के बहुपदों से जुड़े दो बार से अधिक नहीं होते हैं। गुणांक mod पी के साथ एफ की डिग्री। हम x mod f, x^2 mod f, x^4 mod f, आदि की गणना कर सकते हैं, फिर x^p mod f की गणना करने के लिए पी के बाइनरी विस्तार में nonzero स्थानों से संबंधित शर्तों को एक साथ गुणा करें, और अंततः x घटाएं।
बार-बार निम्न कार्य करें: Z/p में यादृच्छिक डी चुनें। आर_डी = (एक्स + डी)^((पी -1)/2) -1 के साथ जी की जीसीडी की गणना करें, जिसे हम पहले चरण पर बार-बार स्क्वायरिंग का उपयोग करके यूक्लिड के एल्गोरिदम द्वारा तेजी से गणना कर सकते हैं। यदि इस जीसीडी की डिग्री सख्ती से 0 और जी की डिग्री के बीच है, तो हमें जी का एक गैर-कारक कारक मिला है, और हम तब तक रिकर्स कर सकते हैं जब तक हमें रैखिक कारक नहीं मिलते हैं इसलिए जी की जड़ें और इस प्रकार एफ।
यह कितनी बार काम करता है? r_d में जड़ों की संख्या जड़ें हैं जो एक nonzero वर्ग mod p से कम हैं। जी, ए और बी की दो अलग-अलग जड़ों पर विचार करें, इसलिए (एक्स-ए) और (एक्स-बी) जी के कारक हैं। यदि एक + डी एक nonzero वर्ग है, और बी + डी नहीं है, तो (xa) जी और r_d का एक आम कारक है, जबकि (xb) नहीं है, जिसका अर्थ है जीसीडी (जी, आर_डी) जी का एक अनिवार्य कारक है । इसी तरह, यदि बी + डी एक nonzero वर्ग है जबकि एक + डी नहीं है, तो (x-b) जी और r_d का एक सामान्य कारक है जबकि (x-a) नहीं है। संख्या सिद्धांत के अनुसार, एक मामला या दूसरा डी के लिए संभावित विकल्पों में से आधे के करीब होता है, जिसका अर्थ है कि औसत पर यह जी के एक गैर-कारक कारक को खोजने से पहले डी की लगातार संख्या लेता है, वास्तव में एक अलग (xa) से (एक्सबी)।
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.1907&rep=rep1&type=pdf उस बिंदु को बनाता है जो परिमित क्षेत्रों में बहुपदों को हल करना उन्हें फैक्टरिंग का एक विशेष मामला है, और वहां हैं परिमित क्षेत्रों पर फैक्टरिंग बहुपदों के लिए यादृच्छिक बहुपद समय एल्गोरिदम (उदाहरण के लिए http://en.wikipedia.org/wiki/Factorization_of_polynomials_over_finite_fields) देखें। यह कहता है कि यह रूट-खोज के लिए निर्धारिती बहुपद समय एल्गोरिदम का वर्णन करने के लिए चला जाता है, लेकिन मैंने इसे अभी तक नहीं पढ़ा है। – mcdowella