कंप्यूटिंग मैट्रिक्स शक्तियों की जटिलता


14

मुझे n × n मैट्रिक्स A की n 'वें शक्ति की गणना करने में रुचि है । मान लीजिए कि हमारे पास मैट्रिक्स गुणा के लिए एक एल्गोरिथ्म है जो ओ ( एम ( एन ) ) समय में चलता है । फिर, एक आसानी से गणना कर सकते हैं एक n में हे ( एम ( एन ) लॉग ( एन ) ) समय। क्या कम समय की जटिलता में इस समस्या को हल करना संभव है?n×nAO(M(n))AnO(M(n)log⁡(n))

मैट्रिक्स प्रविष्टियाँ, सामान्य रूप से, एक संगोष्ठी से हो सकती हैं लेकिन आप अतिरिक्त संरचना मान सकते हैं यदि यह मदद करता है।

नोट: मैं समझता हूं कि सामान्य कंप्यूटिंग में Am इन o(M(n)log⁡(m)) समय एक o(log⁡m) एल्गोरिदम को एक्सप्रेशन के लिए देगा। लेकिन, कई दिलचस्प समस्याएं मैट्रिक्स एक्सपेंशनशिप के विशेष मामले को कम करती हैं जहां m = , और मैं इस सरल समस्या के बारे में भी साबित नहीं कर पा रहा था।O(n)


मैट्रिक्स की प्रविष्टियाँ क्या हैं? पूर्णांकों?
— केवह

1
प्रविष्टियाँ, सामान्य रूप से, एक संगोष्ठी से हो सकती हैं लेकिन आप अतिरिक्त संरचना मान सकते हैं यदि यह मदद करता है।
— शितिकांत

मैं उपरोक्त प्रस्तावित विधि (यानी ) से गुणा करने के लिए गुणा से कमी प्राप्त नहीं कर सका । हालाँकि, काम करता है। हालाँकि, यह केवल कंप्यूटिंग पर एक देता है । ( 0 ए बी 0 ) 2 Ω ( एम ( एन ) ) एक n(A±B)2(0AB0)2Ω(M(n))An
— शितिकांत १३'१२ को १२:२५

जवाबों:


11

यदि मैट्रिक्स विकर्ण है तो वें शक्ति को लेने से O ( D ( n ) + n लॉग एन ) जहाँ D ( n ) A को विकर्ण करने का समय होता है ।n

O(D(n)+nlog⁡n)
D(n)A

केवल विवरणों को पूरा करने के लिए, यदि एक विकर्ण D के साथ है , तो A n = ( P - 1 D P ) n = P - 1 D n PA=P−1DPD

An=(P−1DP)n=P−1DnP

और को केवल वें तत्व के प्रत्येक तत्व को विकर्ण ( A के प्रत्येक eigenvalue ) से n वें शक्ति में ले जाकर गणना की जा सकती है ।DnAn


6
यहां तक ​​कि अगर मैट्रिक्स विकर्ण है, तो ईगेंडेकोम्पोजिशन के लिए सबसे अच्छा ज्ञात एल्गोरिदम समय लेते हैं । ताम्रकार-Winograd एल्गोरिथ्म का उपयोग करना, हम पहले से ही एक है हे ( एन 2.3727 लॉग ( मीटर ) ) की गणना के लिए एल्गोरिथ्म एक मीटर । O(n3)O(n2.3727log⁡(m))Am
— शितिकांत

1
(१) आप जिस समय का हवाला देते हैं, वह कोपरस्मिथ-विनोग्राद (जैसा कि आप शायद जानते हैं) नहीं है। (२) उस फॉर्म के सभी एल्गोरिदम केवल छल्ले के लिए काम करते हैं; वे सामान्य सेमेरींग के लिए काम नहीं करते हैं (जैसा कि आप अपने प्रश्न में अनुमति देते हैं)।
— रयान विलियम्स

5

एक अच्छा तरीका है विलक्षण मूल्य अपघटन SVD । एक को देखते हुए असली मैट्रिक्स एक की पूर्ण रैंक , SVD यह के रूप में अलग विभाजन एक = यू Σ यू टी जहां Σ एक विकर्ण मैट्रिक्स है, कुछ ही समय में हे ( एन 3 ) । SVD, के गुणों से एक मीटर = यू Σ मीटर यू टी , इसलिए केवल विकर्ण मैट्रिक्स exponentiated करने की आवश्यकता है, और इस में किया जा सकता हे ( एन लॉग ऑन मी )n×nAA=UΣUTΣO(n3)Am=UΣmUTO(nlog⁡m)समय। अंतिम गुणन से O ( n 2.3727 ) लगता है , इसलिए हमारे पास पूरी तरह से O ( n 3 + n log m ) संचालन है। U×Σm×UTO(n2.3727)O(n3+nlog⁡m)

O(n2.3727+nlog⁡m)o(M(n)log⁡(m))o(log⁡n)


O(n2.3727)O(n2.3727log⁡(m))Amm=O(n)

1
A=UΣU⊤V≠U⊤

1
nmn=1O(M(1)log⁡mAm

2
log⁡m

1
यह आपके प्रश्न से स्पष्ट नहीं था, जैसा कि कहा गया है।
— PKG
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.