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


14

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

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

नोट: मैं समझता हूं कि सामान्य कंप्यूटिंग में Am इन o(M(n)log(m)) समय एक o(logm) एल्गोरिदम को एक्सप्रेशन के लिए देगा। लेकिन, कई दिलचस्प समस्याएं मैट्रिक्स एक्सपेंशनशिप के विशेष मामले को कम करती हैं जहां 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)+nlogn)
D(n)A

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

An=(P1DP)n=P1DnP

और को केवल वें तत्व के प्रत्येक तत्व को विकर्ण ( 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(nlogm)समय। अंतिम गुणन से O ( n 2.3727 ) लगता है , इसलिए हमारे पास पूरी तरह से O ( n 3 + n log m ) संचालन है। U×Σm×UTO(n2.3727)O(n3+nlogm)

O(n2.3727+nlogm)o(M(n)log(m))o(logn)


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

1
A=UΣUVU

1
nmn=1O(M(1)logmAm

2
logm

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