एक बहुत बड़े और बहुत विरल आसन्न मैट्रिक्स के सभी eigenvalues ​​की गणना करें


13

मेरे पास लगभग n ~ 100000 नोड्स के साथ दो ग्राफ हैं। दोनों ग्राफ़ में, प्रत्येक नोड ठीक 3 अन्य नोड्स से जुड़ा होता है, ताकि आसन्न मैट्रिक्स सममित और बहुत विरल हो।

मुश्किल हिस्सा यह है कि मुझे आसन्न मैट्रिक्स के सभी eigenvalues ​​की आवश्यकता है, लेकिन eigenvectors की नहीं। सटीक होने के लिए, यह मेरे जीवनकाल में एक बार होने वाला है (जहां तक ​​मैं देख सकता हूं, कम से कम!) तो मैं सभी eigenvalues ​​प्राप्त करना चाहता हूं और उन्हें प्राप्त करने के लिए कुछ दिनों का इंतजार नहीं करना चाहता।

मैंने scipyचारों ओर रैपर की कोशिश की ARPACK, लेकिन यह बहुत लंबा रास्ता तय करता है। मुझे कई लाइब्रेरी मिलीं लेकिन वे सबसे बड़े / सबसे छोटे आइजनवेल्स का सबसेट पाने के लिए सबसे अच्छा काम करती हैं। क्या कोई पुस्तकालय है जो सभी समानताओं को प्राप्त करने के लिए संभवतः समानांतर कार्यान्वयन के साथ सममित विरल मैट्रिस के लिए काम करता है?


6
जिज्ञासा से बाहर, आपको वास्तव में सभी eigenvalues ​​की आवश्यकता क्यों है ? इस आकार की अधिकांश समस्याएँ और भी बड़ी (या अनन्त आयामी) समस्याओं के सन्निकटन हैं, और इसलिए छोटी समस्याओं के प्रतिजन केवल अनुमानित हैं कि समस्या वास्तव में हल करना चाहते हैं। सबसे अधिक बार, सन्निकटन की गुणवत्ता केवल सबसे छोटे या सबसे बड़े eigenvalues ​​के लिए अच्छी है, और अन्य सभी केवल खराब रूप से अनुमानित हैं और परिणामस्वरूप बहुत व्यावहारिक हित के नहीं हैं।
वुल्फगैंग बंगर्थ


@WolfgangBangerth: (मुझे माफ कर दो अगर ये आपके लिए स्पष्ट हैं) समस्या भौतिक विज्ञान से आ रही है। यह बैंड संरचना, कंपन और बिजली के गुणों को प्राप्त करने के लिए सामग्री के तंग बाध्यकारी सन्निकटन से संबंधित है। इन्हें प्राप्त करने के लिए, मुझे eigenvalues ​​के पूर्ण स्पेक्ट्रम की आवश्यकता है। BTW, यह कोई नई बात नहीं है और यह 70 और 80 के दशक में वापस चला जाता है लेकिन जब से मेरा सिस्टम अनाकार है, मुझे अच्छे परिणाम प्राप्त करने के लिए एक बहुत बड़ी प्रणाली की आवश्यकता है। हालांकि अधिकांश लोग केवल क्रिस्टल की परवाह करते हैं जो मेरे मामले की तुलना में बेहद आसान है।
महदी

2
@ मेहदी: मेरा मतलब है कि भौतिक गुणों का निर्धारण कुछ आंशिक अंतर ऑपरेटर के स्पेक्ट्रम द्वारा किया जाता है। मुझे संदेह है (लेकिन निश्चित रूप से पता नहीं है, क्योंकि आप यह वर्णन नहीं करते हैं कि समस्या कहाँ से आती है) कि आपके पास जो बड़ी मैट्रिक्स eigenvalue समस्या है वह पीडीई समस्या का सिर्फ एक अनुमान है। नतीजतन, अपने eigenvalues भी केवल सन्निकटन हो जाएगा।
वुल्फगैंग बंगर्थ

जवाबों:


8

आप शिफ्ट-इनवर्ट स्पेक्ट्रल ट्रांसफॉर्म [1] का उपयोग कर सकते हैं और बैंड द्वारा स्पेक्ट्रम बैंड की गणना कर सकते हैं।

तकनीक को मेरे लेख [2] में भी समझाया गया है। [1] में कार्यान्वयन के अलावा, मेरे ग्रेफाइट सॉफ्टवेयर [३] में C ++ में एक कार्यान्वयन उपलब्ध है ( अपडेट १ : जनवरी : अब सब कुछ जियोग्रॉफ / ग्रेफाइट संस्करण ३ में पोर्ट किया गया है ), जिसे मैं लाप्लास ऑपरेटर के आइजनफंक्शन की गणना के लिए इस्तेमाल करता था। 1 मिलियन वर्टिकल (एक समस्या जो आपके जैसी ही है) तक होती है।

यह काम किस प्रकार करता है:

A(V,λ)A(V,1/λ)A1AA1ALLtAx=bAσIdσ(AσId)1σ

[१] http://www.mcs.anl.gov/uploads/cels/papers/P1263.pdf

[२] http://alice.loria.fr/index.php/publications.html?redirect=0&Paper=ManifoldHarmonics@2008

[३] http://alice.loria.fr/software/graphite/doc/html/


धन्यवाद ब्रूनो! ये बहुत ही आशाजनक लग रहे हैं, मैं इन पर गौर करूँगा!
महदी

1

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

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