छोटे रेखीय प्रणाली का संख्यात्मक रूप से स्थिर स्पष्ट समाधान


11

मेरे पास एक अमानवीय रैखिक प्रणाली है

Ax=b

जहाँ , साथ वास्तविक मैट्रिक्स है । नलस्पेस शून्य आयाम के होने की गारंटी है, इसलिए समीकरण में एक अद्वितीय व्युत्क्रम । चूंकि परिणाम एक ओडीई के दाहिने हाथ में प्रवेश करता है, जिसे मैं एक अनुकूली विधि का उपयोग करके हल करना चाहता हूं, यह महत्वपूर्ण है कि समाधान और के तत्वों की छोटी विविधता के संबंध में चिकनी है । इस आवश्यकता और छोटे आयाम के कारण मैंने लिए स्पष्ट सूत्र लागू करने के लिए सोचाn × n n 4 एक एक्स = एक - 1एक एक - 1An×nn4Ax=A1bAbA1b। तत्व बिल्कुल शून्य हो सकते हैं या बहुत भिन्न मान ले सकते हैं। मेरा प्रश्न यह है कि क्या यह आपके लिए समझ में आता है और यदि इसके लिए स्थिर भाव ज्ञात हैं। मैं x86 सिस्टम के लिए C में कोडिंग कर रहा हूं।


मुझे पता है कि यह बहुत देर से आता है, लेकिन यहां मेरा सुझाव है: चूंकि कुल धुरी के साथ गाऊसी उन्मूलन को स्थिर माना जाता है, यह छोटे आकारों के लिए एल्गोरिथ्म को हार्ड-कोड करने के लिए समझ में आता है। Pivoting जटिल मामला है जैसे तरीके से क्रमिक पिवोट्स को चुनना है, जिसके कारण विभिन्न प्रकार के सूत्र हैं; आप इस जटिलता को अदला-बदली करके कम कर सकते हैं, जिसे स्वैप करने की आवश्यकता है, मामलों की संख्या को । ( एन ! ) 2 1 2 + 2 2 + एन 2(n!)2(n!)212+22+n2
यवेस डाएव

जवाबों:


6

स्पष्ट फ़ार्मुलों को लागू करने से पहले, मैं खुद से सवाल पूछूंगा: "क्या यह इसके लायक है?":

  • क्या यह समय लेखन, डिबगिंग और इन स्पष्ट फ़ार्मुलों को मान्य करने के लिए खर्च करने के लायक है, जबकि आप शास्त्रीय गॉसियन उन्मूलन का उपयोग करने वाले BLAS + LAPACK से आसानी से लिंक कर सकते हैं?
  • क्या आप स्थिरता हासिल करने की उम्मीद करते हैं? मुझे नहीं लगता कि प्रोग्रामिंग के स्पष्ट सूत्र (जैसे कि क्रैमर के नियम) आपको इसके विपरीत बेहतर स्थिरता प्रदान करेंगे।
  • क्या आपको गति प्राप्त करने की उम्मीद है? क्या आपने पहले से ही अपने पूरे कार्यक्रम की रूपरेखा तैयार की है? हेस 4x4 सिस्टम को हल करने में समय का कितना हिस्सा खर्च होता है?
  • क्या संभावना है कि एक साल के समय में, आप अपने मॉडल में सुधार करें और आपको 4 के बजाय 5 समीकरणों की आवश्यकता है?

मेरी सलाह: पहले BLAS / LAPACK संयोजन का उपयोग करें, देखें कि क्या यह काम करता है, पूरे कार्यक्रम की रूपरेखा तैयार करें, एक छात्र से स्पष्ट सूत्र लागू करने के लिए कहें (क्षमा करें, यहाँ व्यंग्यात्मक) और गति और मजबूती पर तुलना करें।


इसे लागू करने के लिए मुझे जो प्रयास करना है, वह लगभग 15 मिनट का है, क्योंकि मैं बस एक सामान्य 1x1, 2x2, 3x3 और 4x4 मैट्रिक्स को एक CAS (मेरे लिए मेपल) में दर्ज करता हूं और इसे उल्टा करता हूं। यह एक स्पष्ट (सी-लाइक) परिणाम (कथित रूप से क्रैमर के नियम के आधार पर) लौटाएगा। आपका दूसरा बिंदु बिल्कुल मेरी चिंता का विषय है। परिणाम में मैट्रिक्स तत्वों के उच्च क्रम वाले उत्पाद होंगे। जाहिर है कि यह विभिन्न शर्तों के 'लगभग रद्द' होने के कारण त्रुटियां पेश कर सकता है। लेकिन सवाल यह है, अगर परिणाम को ऐसे रूप में लिखना संभव है जहां यह नहीं होता है। इस जगह में गति मुख्य चिंता का विषय नहीं है।
highsciguy

6

एकमात्र स्पष्ट उलटा परिणाम जो मुझे पता है कि क्रैमर का नियम है , जिसे हाल ही में इन- समय (जैसे गॉसियन एलिमिनेशन में अभिकलन दिखाया गया है ; प्रमुख कारक के सामने स्थिर का अनिश्चित; हालांकि)।O(n3)

की मैट्रिक्स उलटा की एक चिकनी समारोह है बहुत लंबे समय के रूप में , और समाधान निश्चित रूप से एक चिकनी समारोह है है, इसलिए जब तक स्तोत्र का दाएँ हाथ की ओर के रूप में एक चिकनी है कार्य और आप ऐसे मामलों से बचते हैं जहाँ रैंक-डिफेक्ट है, मुझे लगता है कि आपका दाहिना हाथ चिकना होगा। (यहाँ, मैं "कम से कम दो बार लगातार भिन्न होने" का मतलब के लिए चिकनी लेता हूं।)AAdet(A)0xbxA

सुरक्षित होने के लिए, यह शायद यह सुनिश्चित करने के लिए सबसे अच्छा है कि संख्यात्मक रूप से रैंक-कमी या तो नहीं है (यानी, छोटे एकल मान नहीं हैं)।A

Cramer के नियम के साथ समस्या यह है कि इसकी स्थिरता गुण को छोड़कर अज्ञात हैं (जो आगे स्थिर है, लेकिन पीछे स्थिर नहीं है)। ( एन। हिघ्म द्वारा न्यूमेरिकल एल्गोरिदम की सटीकता और स्थिरता , दूसरा संस्करण देखें।) यह एक विश्वसनीय एल्गोरिथ्म नहीं माना जाता है; आंशिक धुरी (GEPP) के साथ गाऊसी उन्मूलन इष्ट है।n=2

मैं एक ODE हल में GEPP बाहर ले जाने के लिए BLAS + LAPACK का उपयोग करने के साथ समस्या की उम्मीद करूँगा कि एक निहित ODE विधि में उपयोग किया जाने वाला कोई परिमित अंतर होगा। मुझे पता है कि लोगों ने रैखिक कार्यक्रमों को दाएं हाथ के मूल्यांकन के हिस्से के रूप में हल किया है, और क्योंकि उन्होंने ऐसा भोलेपन से किया (बस रैखिक कार्यक्रम को दाहिने हाथ की तरफ हल किया, एक सिम्प्लेक्स एल्गोरिथ्म कहते हुए), उन्होंने उनकी सटीकता को बहुत कम कर दिया कम्प्यूटेड समाधान और समस्या को हल करने में लगने वाले समय में काफी वृद्धि हुई। मेरी एक प्रयोगशाला ने पता लगाया कि इस तरह की समस्याओं को अधिक कुशल, सटीक तरीके से कैसे हल किया जाए; मुझे यह देखना होगा कि क्या उसका प्रकाशन अभी तक जारी किया गया है। आपको एक समान समस्या हो सकती है, भले ही आप GEPP या Cramer के नियम का उपयोग करें।

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

और अगर कोई तरीका है तो आप अपने गणना किए गए समाधान की तुलना ज्ञात पैरामीटर मानों के साथ एक समाधान से कर सकते हैं, तो मैं यह करूंगा, ताकि आप यह निदान कर सकें कि क्या आपने इनमें से किसी भी संख्यात्मक नुकसान का सामना किया है।


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

1
मेरा मतलब है "कम से कम दो बार लगातार विभेदीकरण"। मुझे लगता है कि मैट्रिक्स का उलटा नक्शा असीम रूप से लगातार सभी लिए अलग-अलग है जैसे । Adet(A)0
ज्योफ ऑक्सबेरी

'एक अंतर्निहित ODE पद्धति में प्रयुक्त परिमित भिन्नता' के बारे में आपकी टिप्पणी मेरे लिए लागू होती है। चूंकि आयाम के मेरी स्तोत्र प्रणाली के आयाम से छोटी है (इस मैट्रिक्स कुछ चर की मैपिंग में केवल उठता है), मजबूती अधिक महत्वपूर्ण गति की तुलना में इस स्तर पर है। विशेष रूप से विकास के चरण के बाद से मुझे कभी भी पता नहीं चलेगा कि कहां संख्यात्मक त्रुटियां उत्पन्न हुईं अगर मैं यह सुनिश्चित नहीं करता कि व्यक्तिगत घटक सुरक्षित हैं। nA
१०:३६

-2

यकीन नहीं है कि मदद कर सकता है, लेकिन मुझे लगता है कि जब आप स्थिर समाधान के बारे में बात करते हैं, तो आप सन्निकटन विधियों के बारे में बात कर रहे हैं। जब आप चीजों को स्पष्ट करते हैं, तो स्थिरता में समझदारी नहीं होती है। कहते हैं कि यदि आप विकलांगों पर लाभ चाहते हैं, तो आपको एक अनुमानित समाधान स्वीकार करना होगा।


5
फ्लोटिंग-पॉइंट सन्निकटन (राउंड ऑफ, रद्दीकरण, आदि) जब स्थिरता की बात आती है तो सभी गणना करते हैं। यहां तक ​​कि अगर आपके पास जवाब के लिए एक सूत्र है, तो आपको यह पता लगाना होगा कि क्या परिमित-सटीक अंकगणित में इसकी सटीक गणना की जा सकती है।
बिल बार्थ

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