जिन समस्याओं में मेरी दिलचस्पी है, उनके लिए मैट्रिक्स का आयाम 30 या उससे कम है।
वुल्फगैंगबैंगर नोट के रूप में, जब तक कि आपके पास इन मैट्रिसेस (लाखों, अरबों) की एक बड़ी संख्या नहीं है, मैट्रिक्स उलटा का प्रदर्शन आमतौर पर एक मुद्दा नहीं है।
एक सकारात्मक निश्चित सममित मैट्रिक्स को देखते हुए, व्युत्क्रम मैट्रिक्स और इसके निर्धारक की गणना के लिए सबसे तेज़ एल्गोरिथम क्या है?
यदि गति एक समस्या है, तो आपको निम्नलिखित प्रश्नों का उत्तर देना चाहिए:
- क्या आपको वास्तव में पूरे व्युत्क्रम की आवश्यकता है? (कई अनुप्रयोगों को एक स्पष्ट उलटा बनाने की आवश्यकता नहीं है।)
- क्या आपको वास्तव में निर्धारक की आवश्यकता है? (निर्धारक असामान्य हैं, लेकिन निश्चित रूप से कम्प्यूटेशनल विज्ञान में अनसुना नहीं हैं।)
- क्या आपको या तो उच्च सटीकता की आवश्यकता है? (कम सटीकता वाले एल्गोरिदम अधिक तेज़ होते हैं।)
- एक संभाव्य सन्निकटन पर्याप्त होगा? (संभावित एल्गोरिदम अधिक तेज़ होते हैं।)
एक छोटे, सकारात्मक निश्चित मैट्रिक्स को निष्क्रिय करने और इसके निर्धारक की गणना करने की आपकी समस्या के लिए मानक प्रतिक्रिया चोल्स्की अपघटन होगी। अगरA=LLT, फिर det(A)=∏ni=1l2ii, और ।det(A−1)=∏ni=1l−2ii
को द्वारा मान लिया जाए, चोल्स्की अपघटन की गणना लगभग फ्लॉप में की जा सकती है, जो कि LU अपघटन की लागत का लगभग आधा है। हालांकि, ऐसे एल्गोरिथ्म को "तेज" नहीं माना जाएगा। एक यादृच्छिक एलयू अपघटनAnnn3/3यह विचार करने के लिए एक तेज़ एल्गोरिथम हो सकता है कि क्या (1) आपके पास वास्तव में बड़ी संख्या में मेट्रिक्स फैक्टर करने के लिए है, (2) फैक्टरिज़ेशन वास्तव में आपके एप्लिकेशन में सीमित कदम है, और (3) यादृच्छिक रैंडम एल्गोरिथ्म का उपयोग करने में कोई त्रुटि। स्वीकार्य। आपके मैट्रिसेस संभवतः विरल एल्गोरिदम के लायक होने के लिए बहुत छोटे हैं, इसलिए तेज़ एल्गोरिदम के केवल अन्य अवसरों के लिए अतिरिक्त मैट्रिक्स संरचना (जैसे, बैंडेड), या समस्या संरचना का शोषण करना होगा (उदाहरण के लिए, शायद आप अपने एल्गोरिथ्म को चतुराई से पुनर्गठन कर सकते हैं: अब एक मैट्रिक्स व्युत्क्रम या इसके निर्धारक की गणना करने की आवश्यकता है)। कुशल निर्धारक एल्गोरिदम एक स्थिर कारक को हल करने की लागत है, एक स्थिर कारक के भीतर, इसलिए रैखिक प्रणालियों के लिए उपयोग किए जाने वाले समान तर्क, साथ ही साथ निर्धारक की गणना करने के लिए लागू होते हैं।