2009-01-07 80 views
13

मैं कुछ बुनियादी रैखिक बीजगणित संचालन को लागू करने की कोशिश कर रहा हूं और इनमें से एक परिचालन त्रिभुज (ऊपरी और/या निचले) मैट्रिक्स का उलटा है। क्या ऐसा करने के लिए कोई आसान और स्थिर एल्गोरिदम है?क्या त्रिभुज (ऊपरी या निचले) मैट्रिक्स को घुमाने के लिए एक सीधा तरीका है?

धन्यवाद।

+0

इस पोस्ट पर एक नज़र डालें: http://math.stackexchange.com/questions/1143214/method-to-find-the-inverse-of-any-lower-triangular-matrix बेस्ट – Dade

उत्तर

14

हां, back substitution का उपयोग करें। एक मैट्रिक्स को घुमाने के लिए एक मानक एल्गोरिदम अपने LU decomposition (कम त्रिकोणीय और ऊपरी त्रिकोणीय मैट्रिक्स में अपघटन) को खोजने के लिए है, त्रिकोणीय टुकड़ों पर बैक सबमिशन का उपयोग करें, और फिर मूल मैट्रिक्स के विपरीत प्राप्त करने के लिए परिणामों को गठबंधन करें।

+0

मैं एक * त्रिकोणीय * मैट्रिक्स के विपरीत, स्क्वायर मैट्रिक्स के विपरीत होने की कोशिश कर रहा हूं। त्रिभुज के उलटाई प्राप्त करने में प्रतिस्थापन कैसे मेरी मदद कर सकता है? – tunnuz

+8

निश्चित रूप से, त्रिकोणीय matrices वर्ग हैं। – jason

+0

इसके अलावा, केवल वर्ग matrices inverses है। – conjectures

1

यदि आप एकल परिशुद्धता वास्तविकताओं के बारे में बात कर रहे हैं, तो LAPACK रूटीन STRTRI और STRTI2 के लिए स्रोत कोड देखें।

0

वाह, यह संख्यात्मक विश्लेषण पाठ्यक्रम की व्यावहारिक रूप से आधा सामग्री है। मानक एल्गोरिदम इसे करेंगे, और डिब्बाबंद कोड here का एक गुच्छा है। इस के लिए अंतिम स्रोत और अन्य सामान्य संख्यात्मक विश्लेषण समस्याओं Numerical Recipes है।

+1

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

+1

पंक्ति पिवोटिंग करना होगा। बेवकूफ स्थिर नहीं होगा। – duffymo

+2

पिवोटिंग (के माध्यम से, गाऊसियन उन्मूलन) एक रैखिक प्रणाली त्रिकोणीय रूप में रखता है जिसे फिर बैकसबस्टिशन के साथ हल किया जाता है। स्थिरता के लिए, उदाहरण के लिए, निकोलस हाईम द्वारा न्यूमेरिकल एल्गोरिदम की सटीकता और स्थिरता पुस्तक, दूसरे संस्करण के पृष्ठ 140। – jason

3

निचले त्रिकोणीय मैट्रिक्स एल को देखते हुए, बैकसबस्टिशन आपको एल x = b को किसी भी दाएं हाथ के लिए जल्दी से हल करने की अनुमति देता है b।

एल को उलटा करने के लिए, आप इस प्रणाली को दाएं हाथ के पक्षों के लिए हल कर सकते हैं e1 = (1,0, ..., 0), e2 = (0,1, ..., 0), ..., एन = (0,0, ..., 1) और परिणामी समाधान वैक्टर को एक एकल (जरूरी कम त्रिकोणीय) मैट्रिक्स में गठबंधन करें।

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

5

यदि आप कर सकते हैं तो इसे घुमाएं मत। यह संख्यात्मक रैखिक बीजगणित के मूलभूत आदेशों में से एक है।

यह मैट्रिक्स एल को स्मृति में रखने के लिए बहुत तेज़ और संख्यात्मक रूप से स्थिर है और जब भी आपको आविष्कार (एल) के साथ कुछ और करने की आवश्यकता होती है तो प्रतिस्थापन के साथ

inv(L)b
की गणना करें।

ध्यान दें कि इसे बदलने के लिए पारंपरिक एल्गोरिदम सिस्टम

inv(L)[1 0 0 ...], 
inv(L)[0 1 0 ....], 
inv(L)[0 0 1 ....]
को हल करने की आवश्यकता है और इसलिए, आप देखते हैं कि इसे बिल्कुल उलटा नहीं करना बहुत आसान है।