एक सामान्यीकृत वैंडर्मोंडे मैट्रिक्स का निर्धारक


10

मूर मैट्रिक्स वैंडमोंडे मैट्रिक्स के समान है, लेकिन इसकी थोड़ी संशोधित परिभाषा है। http://en.wikipedia.org/wiki/Moore_matrix

किसी पूर्ण मूर मैट्रिक्स modulo कुछ पूर्णांक के के निर्धारक की गणना करने की जटिलता क्या है ?n×n

Can मूर से कम किया जा निर्धारक के लिए FFT तकनीक का उपयोग O (n \ लॉग ^ {a} एन) कुछ के लिए एक \ में \ mathbb {R} _ {+} \ कप \ {0 \} ?O(n3)O(nlogan)aR+{0}

क्या मूर की जटिलता मोडुलो का पूर्णांक है और वैंडर्मोंडे एक ही है? वैंडमोंडे निर्धारक की जटिलता O(nlog2n) (सैद्धांतिक कंप्यूटर विज्ञान की पुस्तिका में पृष्ठ 644: एल्गोरिथ्म और जटिलता जन ली लुवेन द्वारा)

वर्तमान के समान पोस्ट करें : निर्धारक modulo m


क्या मूर निर्धारक की गणना O (n ^ 3) समय (पूर्णांक RAM पर) में भी की जा सकती है?
जेफ़ ε

1
@ J @ ɛ E यही कारण है कि मैंने modulo random उल्लेख किया है । NN
टी ....

वैसे, और मैं बस उत्सुक हूं, क्या ऐसे ज्ञात एप्लिकेशन हैं जो इस तरह के "सुपरफास्ट" एल्गोरिथ्म के लाभ होंगे?
जुआन बरमेजो वेगा

@ जे ffE, क्या आपको पता है कि पर एक डबल मॉड्यूलर घातांक की गणना करने पर तुच्छ लिए BPP में है ? क्योंकि यह मैट्रिक्स की गुणांक की गणना करने के लिए एक समस्या है। εNN
जुआन बरमेजो वेगा

जवाबों:


4

सामान्य तौर पर, Coppersmith-Winograd एल्गोरिथ्म का उपयोग करके एक मनमाना मैट्रिक्स के LU अपघटन को खोजने के लिए एक सैद्धांतिक समय एल्गोरिथ्म है , जो तब निर्धारक ( समय जोड़कर करता है। हालांकि एक समस्या यह है कि कोपरस्मिथ-विनोग्राद एल्गोरिथम व्यवहार में प्रयोग करने योग्य नहीं है। Afaik, लोग ज्यादातर समय स्ट्रॉसन एल्गोरिथ्म का उपयोग करते हैं। क्या UBLAS का lu_factorize इसका उपयोग नहीं करता है ?O ( n ) O ( n 2.807 )O(n2.376)O(n)O(n2.807)

आपके मामले में, मूर मैट्रिक्स को काफी अनुकूलन करना चाहिए क्योंकि मूल रूप से एलयू अपघटन जैसी प्रक्रिया की तरह किसी भी गॉसियन उन्मूलन को अमूर्त रूप से किया जा सकता है। वास्तव में, आपको विकिपीडिया द्वारा संदर्भित मूर निर्धारक की गणना करने के लिए एक अच्छा सूत्र मिलेगा , जो संभवतः सामान्य रूप से एलयू अपघटन का काम करके साबित होता है।O(n)


हाय जेफ: ओ (एन ^ 2) फॉर्मूला के लिए आप किस संदर्भ का संदर्भ ले रहे हैं। मुझे लगता है कि वंदेरमोंडे को ओ (nlogn) में गणना की जा सकती है, लेकिन मुझे संदर्भ नहीं मिल रहा है। तो मूर को भी O (nlogn) में होना चाहिए?
टी ....

हां, मुझे ओ (एन) स्पष्ट रूप से कहा जाना चाहिए, वास्तव में बड़े एन के लिए ओ (एन लॉग एन)।
जेफ बर्देज

हाय जेफ: क्या आपके पास एक संदर्भ है?
टी ....

7
@JeffBurdges: यदि रनिंग टाइम O (n log n) "बड़े n" के लिए है, तो परिभाषा के अनुसार, रनिंग टाइम O (n लॉग एन) है, O (n) नहीं।
जेफ़ ε

मुझे विकिपीडिया द्वारा संदर्भित सूत्र दिखाई नहीं देता है । सबसे अच्छा यह दिखता है । Θ ( n 2 )O(n)Θ(n2)
पीटर टेलर

3

यह महत्वपूर्ण है कि, आपके द्वारा प्रदान की गई परिभाषा में , मैट्रिक्स एक परिमित क्षेत्र में रहता है, जहाँ अभाज्य है , कहते हैं । यह आपको Euler के प्रमेय का उपयोग करने की अनुमति देता है डबल- घातांक की गणना करने के लिए जो कि समय में मैट्रिक्स में दिखाई देता है । अन्यथा, यह मुश्किल भी factorising बिना मैट्रिक्स गुणांक की गणना करने लगता है । m a q eZmm( लॉग ( एम एन ))aqemodmएक क्ष मैंएक क्ष मैंO(log(mn)M(logm))m

aqiaqi(modφ(m))(modm)
m

यदि अभाज्य है या कुशलतापूर्वक फैक्टर किया जा सकता है, तो सबसे अधिक मामले की जटिलता उन गुणा की संख्या पर हावी है, जो आपको मैट्रिक्स गुणा । उदाहरण के लिए, स्मिथ सामान्य फॉर्म अप्रोच, जिसका मैंने पार्टनर पोस्ट में उल्लेख किया है, यह निर्धारित समय में गणना करेगा यदि आप "धीमी गति" का उपयोग करते हैं; गुणन एल्गोरिदम । 2. को 2.373 चुना जा सकता है।O ( n ω ) O ( n ω)mO(nω) * ωO(nωlog2mlog(mn))ω

जब से आपको मैट्रिक्स के गुणांकों को दोगुना-बढ़ाना होगा, आपको मूर बनाम वांडरमॉन्ड में एक धीमी गति से गिरावट आती है । आप गुणनखंडों कर सकते हैं जब यह धीमी गति से नीचे बस पर polylogarithmic है । यदि नहीं, तो प्रस्तुत एल्गोरिथ्म आपको पर डबल-मॉड्यूलर-एक्सपेंशनशिप में कुक कमी देता है ।एम जेड एमmmZm

नोट *: पूर्णांक गुणन के लिए तेज एल्गोरिदम आपको साथ को बदलने की अनुमति देता है ।एम ( लॉग एम लॉग लॉग एम )log2mM(logmloglogm)


अद्यतन : प्राप्त करने की संभावना पर ।O(nlogan)

मेरे पास इसके लिए कोई निश्चित उत्तर नहीं है, लेकिन मुझे कुछ ऐसी जानकारी मिली, जो आपकी खोज को और कस सकती है।

संरचित मैट्रिसेस के लिए एल्गोरिदम जो समय में निर्धारकों की तरह मात्राओं की गणना करते हैं, उन्हें साहित्य में "सुपरफास्ट" कहा जाता है। सभी ज्ञात "सुपरफास्ट" संरचित मैट्रिसेस के लिए एल्गोरिदम (वैंडर्मोंडे, टोप्लेट्ज़, हैंकेल) कम "विस्थापन रैंक" के रूप में जाने जाने वाले इस मैट्रिस की एक सामान्य संपत्ति पर भरोसा करते हैं। इस पुस्तक के पहले अध्याय (खुली पहुंच वाले पृष्ठ), या इस लेख में [ACM] , [PDF] पर चर्चा करें ।O(nlogan)

मैंने जो पढ़ा है, उससे मूर मैट्रिक्स , यदि आप मैट्रिक्स , को खोजने में सक्षम थे , जैसे कि नया मैट्रिक्स (या वैकल्पिक रूप से ) निम्नलिखित संरचना हैM A B L ( M ) = A M - M B L ( M ) = M - A M Bm×nMABL(M)=AMMBL(M)=MAMB

L(M)=k=1rgkhkT

, और रैंक छोटा है (या तो स्थिर है या घिरा हुआ है , तो आप मौजूदा तकनीकों को लागू कर सकते हैं (पुस्तक के अध्याय 5, खुले- पहुँच पृष्ठों) को त्रिकोणीय करने के लिए और, इसलिए, का उपयोग करके, गणना करें । ऊपर, , । अगर आपको पूरी बात पढ़ने के लिए ऊपर की किताब नहीं मिल रही है, तो इस लेख में इन तरीकों के बारे में बहुत सारी जानकारी है।o ( मिr>0M det M O ( n log 2 n ) g k h ko(min{m,n})MdetMO(nlog2n)gkhk

दुर्भाग्य से, मैं मूर मैट्रिक्स (वैंडर्मोंडे है) के लिए एक कम-विस्थापन-रैंक संरचना नहीं पा सका है। यहां मुख्य जटिलता दोहरे घातीय के "गैर-रैखिक" प्रकृति से उत्पन्न होती है। यदि यह मदद करता है, तो वैंडर्मोंडे, कैची, टोप्लेट्ज़, हेंकेल के मामलों को पुस्तक में काम किया जाता है।


मैं अपने मैट्रिक्स को char क्षेत्र में लाइव कर सकता हूं । हालाँकि, मेरे इच्छित एप्लिकेशन के लिए अक्षर का आकार बड़ा होगा। तो कुछ बड़े पर्याप्त लिए फार्म । 3m3kk
टी ....

यह ठीक है, क्योंकि आप :) के फंक्शनिएंट फंक्शन की गणना कर सकते हैं3k
जुआन बर्मेजो वेगा

अच्छी तरह से यह जटिलता को सरल नहीं करता है, मैं कहूंगा कि क्षेत्र बहुत बड़ा है।
टी ....

यह उन समस्याओं का सरलीकरण करता है जिनका मैं दोहरे प्रतिपादक के साथ उल्लेख करता हूं। चूँकि , आप यूलर की प्रमेय का उपयोग डबल एप्रोनिएट करने के लिए कर सकते हैं : सबसे पहले, कंप्यूट , फिर । आप इसे समय । स्कूल-गुणन एल्गोरिथ्म का उपयोग करते हुए, , और आपको अंतिम "नेट्टो" मूल्य मिलेगा जो कुशल है। φ(3k)=3k3k1aqimodmb=qimodφ(3k) हे ( लॉग ( एन 3 कश्मीर ) एम ( कश्मीर लॉग 3 ) ) एम ( एन ) = n 2 हे ( एन ω कश्मीर 2 एल जी 2 3 ( लॉग एन + कश्मीर लॉग 3 ) )abmod3kO(log(n3k)M(klog3))M(n)=n2O(nωk2log23(logn+klog3))
जुआन बरमेजो वेगा

क्या हम द्वारा बदल सकते हैं ? यह वह लागत बचत है, जिसमें मैं उत्सुक हूं (मैट्रिक्स संरचना से संभव हो सकता है)। साथ , मैं अपने उद्देश्य के लिए कुछ भी हासिल नहीं है। 1 + ε ω 2ω1+ϵω2
टी ....
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.