न्यूनतम बैंडविड्थ की एक बंधी हुई मैट्रिक्स का उत्पादन करने के लिए चर को कैसे पुनः व्यवस्थित करें?


15

मैं परिमित अंतरों द्वारा 2 डी पोइसन समीकरण को हल करने की कोशिश कर रहा हूं। प्रक्रिया में, मुझे प्रत्येक समीकरण में केवल चर के साथ एक विरल मैट्रिक्स प्राप्त होता है। उदाहरण के लिए, यदि चर थे , तो विवेकाधिकार होगा:यू5यू

यूमैं-1,जे+यूमैं+1,जे-4यूमैं,जे+यूमैं,जे-1+यूमैं,जे+1=मैं,जे

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


2
कटहल-मैककी जैसा कुछ, फिर?
जेएम

दिलचस्प ... मैं पहले कभी Cuthill-McKee एल्गोरिथ्म के बारे में नहीं सुना है! :)
पॉल

1
साथ ही रिवर्स कटहल-मैकी भी है।
ज्यॉफ ऑक्सीबेरी

1
मुझे उम्मीद है कि यह उत्तर से स्पष्ट है, लेकिन आप इस समस्या के लिए एक बैंडेड सॉल्वर का उपयोग नहीं करना चाहते हैं, और न ही एक आदेश का चयन करें जो बैंडविड्थ को कम करता है। शायद प्रश्न या चुने हुए उत्तर को स्पष्ट करने के लिए संपादित किया जा सकता है, अन्यथा मुझे डर है कि इस मिथक को समाप्त कर दिया जाएगा। मैंने एक दृश्य तुलना दी और scicomp.stackexchange.com/a/880/119 में भरण की तुलना की ।
जेड ब्राउन

@JedBrown: वास्तव में, मैं एक सेशन समस्या के साथ काम नहीं कर रहा हूँ, प्रति se ... मेरी समस्या पॉसन समस्या के समान संरचना है ... चर (i और j) के संकेत बिल्कुल समान हैं, और मैट्रिक्स तिरछे ऑफ-विकर्ण प्रविष्टियों के साथ तिरछे प्रमुख है (उसी पंक्ति के भीतर) तिरछे प्रविष्टि के योग को बिल्कुल जोड़ते हैं।
पॉल

जवाबों:


13

यह विरल-प्रत्यक्ष विलेय के क्षेत्र में एक अच्छी तरह से अध्ययन की गई समस्या है। मैं अत्यधिक सलाह देता हूं कि जोसेफ लियू के मल्टीफ्रंटल तरीके के अवलोकन को पढ़ने के लिए एक बेहतर विचार प्राप्त करना चाहिए कि कैसे पुनरावर्तन और सुपरनोड्स फिल-इन और समाधान समय को प्रभावित करते हैं।

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

जॉर्ज और लियू से पता चला उनके क्लासिक किताब में है कि 2 डी विरल-सीधा समाधान केवल आवश्यकता काम करते हैं और हे ( एन लॉग इन करें n ) स्मृति, जबकि 3 डी विरल प्रत्यक्ष की आवश्यकता हे ( एन 2 ) काम करते हैं और हे ( एन 4 / ) स्मृति।हे(n3/2)हे(nलॉगn)हे(n2)हे(n4/3)


क्या आपके पास जॉर्ज और लियू संदर्भ के लिए एक प्रशस्ति पत्र है?
पॉल

जोड़ा गया; जब मैंने इसे पहली बार प्रस्तुत किया था, तो मैं कार से बाहर निकलने वाला था। मुझे पता है कि पुस्तक का एक स्वतंत्र रूप से उपलब्ध संस्करण कहीं ऑनलाइन मौजूद है (जेड को पता है कि यह कहाँ है), लेकिन मुझे यह नहीं मिला।
जैक पॉल्सन

मैंने पुस्तक समीक्षा के बजाय पुस्तक के पीडीएफ को इंगित करने के लिए लिंक को अपडेट किया।
जेड ब्राउन

@JedBrown यह एक महान संदर्भ था! बहुत बहुत धन्यवाद! :)
पॉल

1
@Alexander हर कोई जॉर्ज और लियू के लिए बाध्य 3 डी का श्रेय देता है, हालांकि मुझे नहीं पता कि क्या वे पुस्तक में स्पष्ट रूप से इंगित करते हैं। हालांकि यह सिद्धांत से स्पष्ट है। एक के लिए कम से कम शीर्ष विभाजक ग्रिड है n 2 / 3 = मीटर × मीटर । घने कि supernode के साथ जुड़े मैट्रिक्स है ( n 2 / 3 ) 2 = n 4 / 3 प्रविष्टियों और की आवश्यकता है ( n 2 / 3 ) 3 = n 2n=××n2/3=×(n2/3)2=n4/3(n2/3)3=n2कारक का संचालन। 2 डी मामले में लॉगरिदमिक शब्द अधिक सूक्ष्म है और नेस्ट डिसेक्शन पर अध्याय 8 में इलाज किया जाता है, जो निचली सीमा को प्राप्त करता है।
जेड ब्राउन

5

Cuthill-मैककी है वास्तविक कि आप क्या करना चाहते हैं के लिए मानक। यदि आप इस पद्धति से खेलना चाहते हैं, तो बूस्ट ग्राफ लाइब्रेरी (बीजीएल) में एल्गोरिथ्म (और इसके विपरीत) का एक आसान-से-उपयोग कार्यान्वयन है , और प्रलेखन में उदाहरण हैं कि इसका उपयोग कैसे किया जाए।


वास्तव में Cuhill-McKee को उल्टा करें; यह आमतौर पर कम भराव देता है। लेकिन एक नेस्टेड विच्छेदन ऑर्डर कम बैंडविड्थ ऑर्डर करने के लिए बहुत बेहतर है।
अर्नोल्ड न्यूमैयर

4

मल्टीफ्रंटल तरीकों की बात करें तो टिम डेविस , जो एलयू फैक्टराइजेशन ( यूएमएफपीओके ) के लिए मल्टीफ्रंटल तरीकों पर काम करता है, में कई रूटीन हैं जो मैट्रीस को फिर से भरने के लिए फिर से चालू करेंगे। आप उन्हें यहां सुइटसर्से के हिस्से के रूप में पा सकते हैं । सुइटसर्प मेइटीएस का उपयोग करता है।

एक और बात ध्यान दें: कुछ समस्याओं में, आप वैरिएबल ऑर्डर करने के बारे में चतुर हो सकते हैं ताकि आप बैंडेड, या बैंडेड, पैटर्न के करीब हों, जो आपको इन एल्गोरिदम को कॉल करने की परेशानी (और सीपीयू समय) को बचा सकता है। हालाँकि, इस चतुर पुनरावर्तन के लिए आपके हिस्से पर अंतर्दृष्टि की आवश्यकता होती है और यह कहीं भी सामान्य नहीं है, जैसा कि ग्राफ़-थ्योरी-आधारित पुनर्लेखन एल्गोरिदम लोगों ने अपने उत्तर में यहाँ दिया है।


आपका स्वागत है, पॉल। अगर आपको यह पसंद है, तो इसे वोट करें।
ज्यॉफ ऑक्सबेरी

3

लागू गणित हलकों में ADI (प्रत्यावर्तन दिशा) नामक एक एल्गोरिथ्म है और भौतिकी हलकों में स्प्लिट-ऑपरेटर है जो मूल रूप से आपके द्वारा वर्णित है। यह एक पुनरावृत्त विधि है, और यह इस मूल प्रक्रिया का अनुसरण करती है:

  1. के हर मान के लिए , x -direction में आराम करें । यह मैट्रिक्स ट्रिडिएगोनल होना चाहिए, इसलिए इसे अपेक्षाकृत कम समय में सीधे हल किया जा सकता है।yएक्स

  2. के हर मान के लिए , y -direction में आराम करें । फिर, यह बहुत जल्दी होना चाहिए।एक्सy

  3. 1 और 2 को तब तक दोहराएं जब तक कि त्रुटि उतनी छोटी न हो जाए जितनी आप चाहते हैं।

मैं इस एल्गोरिथ्म की औपचारिक जटिलता को नहीं जानता, लेकिन मैंने हर बार जब मैंने इसका इस्तेमाल किया है तो जैकोबी और गॉस-सेडेल जैसी चीजों की तुलना में कम पुनरावृत्तियों में अभिसरण करना पाया है।


2
यदि आप ऑपरेटर विभाजन मार्ग पर जाने का निर्णय लेते हैं, तो आप जिस चीज के बारे में सावधान रहना चाहते हैं, वह यह है कि ऑपरेटर विभाजन को कुछ मामलों में स्थिर स्थिति समाधानों में त्रुटियों के लिए जाना जाता है। (मेरे एक लेब्रेट ने इस कठिनाई को दूर करने का एक तरीका विकसित किया है, लेकिन मुझे विश्वास नहीं है कि वह अभी तक इसे प्रकाशित किया है।) इसके अलावा, ऑपरेटर विभाजन को संख्यात्मक त्रुटियों का कारण माना जाता है। इन त्रुटियों को एक पश्चाताप का अनुमान लगाने के लिए अच्छी तरह से स्थापित तरीके हैं ; डॉन एस्टेप ने उस क्षेत्र में उत्कृष्ट कार्य किया है।
ज्योफ ऑक्सीबेरी

@GeoffOxberry ऐसा लगता है कि आप एक अलग विभाजन का उल्लेख कर रहे हैं। आप ADI का उपयोग पूरी तरह से निहित योजना में कर सकते हैं जिसमें कोई विभाजन की त्रुटि नहीं है क्योंकि यह वास्तव में सिस्टम को हल करता है। IMEX विधियाँ भी हैं जो कठोरता से विभाजन की त्रुटियों को नियंत्रित करती हैं।
जेड ब्राउन

एक्सy

मैंने गोडुनोव और स्ट्रैंग के विभाजन के बारे में कभी नहीं सुना है। मैं अपने ऑपरेटर को बेकर-कैंपबेल-हॉसडॉर्फ सूत्र के साथ विभाजित करता हूं। क्या यह वही चीज है?
दान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.