कई दाएं-बाएं पक्षों के लिए रैखिक रैखिक विरल


12

मुझे एक ही विरल रेखीय प्रणाली (300x300 से 1000x1000) को कई दाहिने हाथों (300 से 1000) के साथ हल करने की आवश्यकता है। इस पहली समस्या के अलावा, मैं विभिन्न प्रणालियों को भी हल करना चाहूंगा, लेकिन एक ही गैर-शून्य तत्वों (बस अलग-अलग मूल्यों) के साथ, यह निरंतर स्पार्सिटी पैटर्न के साथ कई विरल सिस्टम हैं। मेरे मैटर अनिश्चितकालीन हैं।

गुणनखंडन और आरंभीकरण का प्रदर्शन महत्वपूर्ण नहीं है, लेकिन हल चरण का प्रदर्शन है। वर्तमान में मैं PaStiX या Umfpack पर विचार कर रहा हूं, और मैं शायद पेट्स (जो दोनों सॉल्वर का समर्थन करता हूं) के साथ खेलूंगा। क्या ऐसी लाइब्रेरी हैं जो मेरी विशिष्ट आवश्यकताओं (वैश्वीकरण, मल्टी-थ्रेडिंग) का लाभ उठाने में सक्षम हैं या क्या मुझे सामान्य सॉल्वर पर भरोसा करना चाहिए, और शायद मेरी जरूरतों के लिए उन्हें थोड़ा संशोधित करें?

क्या होगा यदि विरल मैट्रिक्स बड़ा है, ?106×106

जवाबों:


10

पक्ष या प्रत्यक्ष सॉल्वर का उपयोग करने के बारे में चर्चा किए बिना, मैं सिर्फ दो बिंदुओं को जोड़ना चाहता हूं:

  1. कई दाएं हाथ वाले सिस्टम (जिसे ब्लॉक क्रायलोव विधि कहा जाता है ) के लिए क्रिलोव तरीके मौजूद हैं । एक अतिरिक्त बोनस के रूप में, इन में मानक क्रायलोव विधियों की तुलना में तेजी से अभिसरण होता है क्योंकि क्रायलोव अंतरिक्ष वैक्टर के एक बड़े संग्रह से बनाया गया है। देखें डायने पी O'Leary, ब्लॉक संयुग्मी ढाल एल्गोरिथ्म और संबंधित के तरीके । रेखीय बीजगणित और इसके अनुप्रयोग 29 (1980), पृष्ठ 239-322। और मार्टिन एच। गुटनेश, कई दाहिने हाथों के साथ रैखिक प्रणालियों के लिए ब्लॉक क्रायलोव अंतरिक्ष के तरीके: एक परिचय (2007)।

  2. यदि आपके पास एक ही स्पार्सिटी पैटर्न के साथ अलग-अलग मैट्रिसेस हैं, तो आप पहले मैट्रिक्स के लिए एक प्रतीकात्मक कारक का प्रसार कर सकते हैं, जो इसके और इसके बाद के मैट्रिसेस के लिए संख्यात्मक फैक्टराइजेशन की गणना में पुन: उपयोग किया जा सकता है। (UMFPACK में, आप इसका उपयोग umfpack di symbolicऔर परिणाम को पास करने के लिए कर सकते हैं umfpack_di_numeric।)



3

जब आप "एक ही गैर-शून्य तत्व (केवल भिन्न मान)" के बारे में बात करते हैं, तो आप समस्या के अपने कथन में बिल्कुल स्पष्ट नहीं हैं, क्या आप कह रहे हैं कि मैट्रिक्स में एक निरंतर स्पार्सिटी पैटर्न है लेकिन वास्तविक मान बदलते हैं? या, क्या आप कह रहे हैं कि मैट्रिक्स वास्तव में स्थिर है?

PA=LUO(n2)

इस आकार के समीकरणों के कई दाहिने हाथ पक्षों और प्रणालियों के लिए, पुनरावृत्त तरीके आमतौर पर लायक नहीं होते हैं।

आपके द्वारा बताए गए सभी पैकेज सीधे प्रत्यक्षीकरण के तरीकों की पेशकश करते हैं (हालाँकि पेट्सक ज्यादातर अपने पुनरावृत्त सॉल्वर के लिए जाना जाता है।) हालांकि, आपके सिस्टम इतने छोटे हैं कि यह संभावना नहीं है कि आप पर्याप्त समानांतर स्पीडअप प्राप्त कर सकते हैं, विशेष रूप से वितरित मेमोरी वातावरण में।

मेरा सुझाव है कि इस नौकरी के लिए Umfpack का उपयोग करें- Paixix और PetSc ओवरकिल हैं।


आपके उत्तर के लिए धन्यवाद। स्पष्ट करने के लिए: मैंने पहले एक मैट्रिक्स के लिए कई दाहिने हाथ के किनारों के साथ पूछा, और फिर, एक और समस्या एक ही स्पार्सिटी पैटर के साथ मैट्रिसेस का संग्रह है लेकिन मान बदलते हैं, उनमें से प्रत्येक को कई आरएचएस के लिए हल किया जाना चाहिए। सहायक प्रश्न: क्या होगा यदि विरल मैट्रिक्स अब 10 ^ 5x10 ^ 5 से 10 ^ 6x10 ^ 6 है?
नट चौफ

2
105

केवल एक ही दाहिने हाथ की ओर के साथ अपने बड़े सिस्टम के लिए एक पुनरावृत्त विधि का उपयोग करना समझ में आता है, खासकर यदि आपको बहुत सटीक समाधान की आवश्यकता नहीं है और विशेष रूप से यदि आप एक प्रभावी पूर्व शर्त लगा सकते हैं या आपके सिस्टम पहले से ही अच्छी तरह से वातानुकूलित हैं। हालांकि, यदि आपके सिस्टम बुरी तरह से वातानुकूलित हैं, तो आपको सटीक समाधानों की आवश्यकता है, और आप एक अच्छा पूर्व शर्त नहीं ढूंढ सकते हैं, तो आप संभावित प्रत्यक्षीकरण के साथ अभी भी बेहतर होंगे।
ब्रायन बोरचर्स

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