मैट्रिक्स की एगेंडेकोम्पोजिशन खोजने की जटिलता


40

मेरा प्रश्न सरल है:

एक n × n मैट्रिक्स के एक eigendecomposition कंप्यूटिंग के लिए सबसे अच्छा ज्ञात एल्गोरिथ्म का सबसे खराब समय चल रहा है ?n×n

क्या eigendecomposition मैट्रिक्स गुणन में कमी करता है या सबसे खराब ज्ञात एल्गोरिदम O(n3) ( एसवीडी के माध्यम से ) सबसे खराब स्थिति में है?

कृपया ध्यान दें कि मैं सबसे खराब स्थिति विश्लेषण (केवल संदर्भ में n) के लिए कह रहा हूं , न कि समस्या-निर्भर स्थिरांक जैसे शर्त संख्या के साथ सीमा के लिए।

संपादित करें : नीचे जवाब में से कुछ को देखते हुए, मुझे सवाल समायोजित: मैं एक साथ खुशी होगी ϵ -approximation। सन्निकटन गुणा, योगात्मक, प्रवेश-वार या जो भी उचित परिभाषा आप चाहें, वह हो सकती है। मैं वहाँ एक ज्ञात एल्गोरिथ्म पर बेहतर निर्भरता है कि अगर दिलचस्पी n की तरह कुछ की तुलना में O(poly(1/ϵ)n3) ?

EDIT 2 : सममित मैट्रिक पर इस संबंधित प्रश्न को देखें ।


क्या आपने CLRS एल्गोरिदम पाठ्यपुस्तक में मैट्रिक्स व्युत्क्रम से मैट्रिक्स गुणन में कमी को देखा है? मैं उन विचारों को देखकर शुरू करता हूं कि क्या वे ईजोन-अपघटन का विस्तार करते हैं।
वॉरेन शूडी

हां - वे एक LU- अपघटन खोजने के लिए विस्तार करने के लिए लगता है, लेकिन मैं नहीं जानता कि यह कैसे एक eigen- अपघटन के लिए काम करते हैं।
लेव Reyzin

क्या आपको पता है कि एसवीडी की गणना के लिए O(n3) सबसे अच्छा ज्ञात एल्गोरिथ्म है?
रॉबिन कोठारी

1
O(min(mn2,m2n))n×n

ठीक है। मुझे इस क्षेत्र के बारे में ज्यादा जानकारी नहीं है, लेकिन शायद SVD गणना को eigendecomposition के लिए कम किया जा सकता है, क्योंकि यदि आप AA * और A * A को eigendecompose कर सकते हैं, तो आपको SVD के लिए दाएं और बाएं मैट्रेस मिलेंगे।
रॉबिन कोठारी

जवाबों:


18

रेयान ने मैथोवेटफ्लो पर इसी तरह के सवाल का जवाब दिया। यहाँ लिंक है: mathoverflow-answer

मूल रूप से, आप एक सांकेतिक निर्धारक की गणना करके मैट्रिक्स गुणन के लिए आइजनवेल्यू कम्प्यूटेशन को कम कर सकते हैं। यह ओजेनवालों के बिट्स प्राप्त करने के लिए O ( ) का रनिंग टाइम देता है ; वर्तमान में ज्ञात सबसे अच्छा रनटाइम भीतर एक सन्निकटन के लिए हे ( ) है ।nω+1mmn3+n2log2nlogb2b

रेयान का संदर्भ `` विक्टर वाई पैन, झाओ क्यू चेन: द कॉम्पलेक्सिटी ऑफ द मेट्रिक्स ईजेनप्रोलेम है। STOC 1999: 507-516 ''।

(मेरा मानना ​​है कि पुरानी अहो, होपक्रॉफ्ट और उल्मैन की पुस्तक `कंप्यूटर डिजाइनों का विश्लेषण और विश्लेषण '' में eigenvalues ​​और मैट्रिक्स गुणा की जटिलताओं के बीच संबंध पर भी चर्चा होती है, हालांकि, मेरे पास पुस्तक नहीं है मेरे सामने, और मैं आपको सटीक पृष्ठ संख्या नहीं दे सकता।)


13

Eigenvalues ​​खोजना स्वाभाविक रूप से एक पुनरावृत्तीय प्रक्रिया है: eigenvalues ​​को ढूँढना एक बहुपद की जड़ों को खोजने के बराबर है। इसके अलावा, एबेल-रफ़िनी प्रमेय में कहा गया है कि सामान्य तौर पर, आप एक मनमाने ढंग से बहुपद की जड़ों को एक साधारण बंद रूप में व्यक्त नहीं कर सकते (जैसे कि द्विघात सूत्र जैसे मूलक के साथ)। इस प्रकार आप eigenvalues ​​"बिल्कुल" की गणना करने की उम्मीद नहीं कर सकते।

इसका मतलब है कि वर्णक्रमीय विघटन एल्गोरिथ्म अनुमानित होना चाहिए। किसी भी सामान्य एल्गोरिथ्म के चलने का समय वांछित सटीकता पर निर्भर होना चाहिए; यह सिर्फ आयाम पर निर्भर नहीं कर सकता।

मैं इस पर विशेषज्ञ नहीं हूं। मुझे लगता है कि n पर एक घन निर्भरता बहुत अच्छा है। मैंने जिन एल्गोरिदम को देखा है वे सभी मैट्रिक्स-वेक्टर गुणा का उपयोग करते हैं, बल्कि फिर मैट्रिक्स-मैट्रिक्स गुणा का उपयोग करते हैं। इसलिए मुझे कुछ आश्चर्य होगा कि यह सब मैट्रिक्स-मैट्रिक्स गुणा करने के लिए उबलता है।

Http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms पर एक नज़र डालें


आपके उत्तर के लिए धन्यवाद - मुझे इसे पचाने के लिए कुछ समय की आवश्यकता होगी! लेकिन अगर कोई मैट्रिक्स-वेक्टर गुणा का उपयोग करता है, तो n पर निर्भरता शायद n ^ 3 से बेहतर हो सकती है।
लेव Reyzin

6

मैं केवल एक मैट्रिक्स के eigenvalues ​​से संबंधित आंशिक उत्तर दूंगा।

जैसा कि पहले उल्लेख किया गया है, मैट्रिक्स के eigenvalues ​​(जैसे शक्ति पुनरावृत्ति) को खोजने के लिए कई पुनरावृत्ति विधियां हैं, लेकिन सामान्य तौर पर, eigenvalues ​​को खोजने से बहुपद की जड़ों को खोजने में कमी आती है। ढूँढना विशेषता बहुपद में किया जा सकता , जहां है की लागत सा गुणा करता है और , अधिकतम प्रविष्टि के सा आकार है एक से बरिस के एल्गोरिथ्म का उपयोग करते हुए प्रतीकात्मक निर्धारक गणना । खासतौर पर चैप के "फंडामेंटल ऑफ अल्गोरिथम अलजेब्रा" पर याप की किताब देखें 10, "रैखिक सिस्टम"O(n3MB[n(logn+L)])MB(s)sL

एक बार जब विशेषता बहुपद पाया जाता है, तो किसी को अलग-अलग अंतराल का उपयोग करके वांछित की किसी भी हद तक जड़ें मिल सकती हैं। याप की पुस्तक देखें, चैप। विवरण के लिए 6 "रूट ऑफ़ पॉलिनॉमिअल्स" । मैं सटीक रन टाइम भूल जाता हूं, लेकिन इसकी बहुपद की विशेषता बहुपद और सटीकता के अंकों की डिग्री में वांछित है।

मुझे संदेह है कि जो कुछ भी सटीकता की डिग्री तक eigenvectors की गणना कर रहा है वह भी बहुपद है, लेकिन मुझे एक सीधा आगे एल्गोरिथ्म नहीं दिखता है। बेशक, चाल के मानक बैग जो पहले उल्लेख किए गए हैं, लेकिन जहां तक ​​मुझे पता है, उनमें से कोई भी वांछित सटीकता के लिए बहुपद चलाने के समय की गारंटी नहीं देता है।


दिलचस्प है, लेकिन यह n ^ 3 से भी बदतर लगता है। क्या हम जानते हैं कि यह सबसे अच्छा संभव है?
लेव Reyzin

इस प्रकृति के एल्गोरिदम पर चलने का समय मैट्रिक्स गुणन की जटिलता से जुड़ा होता है जो कि O (n ^ 3) के बारे में है। मैं स्ट्रैसेन के एल्गोरिथ्म के बारे में जानता हूं लेकिन यदि आप संख्यात्मक स्थिरता के मुद्दों की अनदेखी नहीं करते हैं, तो मेरा मानना ​​है कि आपको मैट्रिक्स गुणन के लिए ओ (एन ^ 3) वापस मिल जाएगा। Iterative विधियां "औसत" मामले में तेजी से परिवर्तित हो सकती हैं, लेकिन मेरा मानना ​​है कि सामान्य रूप से, O (n ^ 3) के बारे में सबसे अच्छा है जो आप कर सकते हैं।
user834

तो आप कह रहे हैं कि अगर मुझे संख्यात्मक स्थिरता के मुद्दों की परवाह नहीं है, तो हम इसे O (n ^ 2.376) पर ले सकते हैं?
लेव Reyzin

5

आप कमांडर और काले द्वारा नए पेपर की जांच कर सकते हैं जो मैक्स-कट के लिए एक कॉम्बिनेटर एल्गोरिथ्म देता है। ऐसा लगता है (सरसरी तौर पर पढ़ने से) लगता है कि उनका एल्गोरिथ्म ईजीनवेक्टर को अधिकतम ईजेनवेल्यू के अनुरूप खोजने पर आधारित है, और एक बार जब वे इस आइजनवेक्टर का उपयोग करते हैं तो लुका ट्रेविसन के एल्गोरिथ्म का उपयोग करते हैं।

ऐसा लगता है कि वे इस तरह के एक eigenvector को खोजने के लिए लैंकोज़ोस के एल्गोरिदम के लिए एक वैकल्पिक दृष्टिकोण का उपयोग कर रहे हैं, इसलिए यह रुचि का हो सकता है। मुझे यकीन नहीं है कि आइजनवेक्टर खोजने के लिए उनकी विधि की दावा की गई जटिलता क्या है, लेकिन यह देखने लायक हो सकता है। इसके अलावा, चूंकि यह सन्निकटन अनुपात है और प्रति se समय नहीं है कि वे इसमें रुचि रखते हैं, जो भी समय वे देते हैं वह इष्टतम नहीं हो सकता है।


1

यह एक पुराना प्रश्न है लेकिन कुछ महत्वपूर्ण साहित्य छूट गए हैं।

ऐसे एल्गोरिदम हैं जिनके लिए हमारे पास मजबूत सैद्धांतिक समर्थन है। उदाहरण के लिए, मैट्रिक्स साइन फंक्शन पर आधारित पुनरावृत्तियाँ हैं, उदाहरण के लिए Demmel, Dumitriu और Holtz द्वारा "Fast Linear Algebra is Stable" देखें । उस पत्र में, यह दिखाया गया है कि आइजनवेल्यू समस्या को समय में हल किया जा सकता है , जहां मैट्रिक्स गुणन का प्रतिपादक है और कोई भी संख्या है ।(Oω+η)ωη>0

हां, पैन + चेन + झेंग पेपर है जो कि विशेषता बहुपद को इकट्ठा करने और बिगफ्लोट में गणना करने का सुझाव देता है क्योंकि आप अंत में सटीकता के बहुत सारे बिट खो देते हैं, लेकिन बहुत से लोग इसे व्यावहारिक दृष्टिकोण नहीं मानते हैं।

मैं यह भी उल्लेख करता हूं कि सबसे व्यापक रूप से उपयोग किया जाने वाला एल्गोरिदम, फ्रांसिस क्यूआर पुनरावृत्ति, सामान्य मेट्रिसेस के लिए अभिसरण का कोई प्रमाण नहीं है; क्रेसनर की पुस्तक में कई प्रतिपक्षों की चर्चा है।


0

हां, संख्यात्मक लीनियर बीजगणित के सभी को मैट्रिक्स गुणा में कम किया जा सकता है, हालांकि, हमेशा की तरह, संख्यात्मक स्थिरता एक मुद्दा है। इसके अलावा, ईगेंडेकोम्पोजिशन जैसी समस्याओं के साथ, आपको एक सन्निकटन के साथ संतुष्ट होना चाहिए क्योंकि समाधान तर्कहीन हो सकता है। Bini और पान द्वारा पुस्तक पॉलीनोमियल और मैट्रिक्स संगणना की जाँच करें ।

यहाँ एक और संदर्भ है - फास्ट लीनियर बीजगणित स्थिर है http://www.netlib.org/lapack/lawnspdf/lawn186.pdf


3
सूचक के लिए धन्यवाद, लेकिन Google पुस्तकों पर पुस्तक के माध्यम से खोज करने पर, मैं मैट्रिक्स गुणन में कमी नहीं पा सका। क्या आपके पास कुछ ठोस संदर्भ या एल्गोरिथ्म के लिए एक संकेतक है? और उनके एसवीडी एल्गोरिदम मैट्रिक्स की स्थिति संख्या पर निर्भर करते हैं, जो कि सबसे खराब स्थिति विश्लेषण नहीं है। संख्यात्मक स्थिरता के मुद्दों, आदि के बारे में, आइए आदर्शीकृत मामले को मानें, जहां सभी गुणा और भाग इकाई समय लेते हैं और सटीक उत्तर देते हैं।
लेव Reyzin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.