2011-06-11 55 views
6

पंक्तियों को स्वैप करने के लिए क्रमपरिवर्तन मैट्रिक्स का उपयोग करने के क्या फायदे हैं? क्यों कोई क्रमपरिवर्तन मैट्रिक्स बनायेगा और उसके बाद मैट्रिक्स गुणा लागू करेगा, क्या यह लूप के साथ पंक्तियों को स्वैप करने से आसान और अधिक कुशल है?एक सरणी की पंक्तियों को स्वैप करने के लिए क्रमपरिवर्तन matrices का उपयोग क्यों किया जाता है?

उत्तर

7

क्रमपरिवर्तन matrices एक उपयोगी गणितीय अमूर्तता है, क्योंकि वे मैट्रिक्स बीजगणित के सामान्य नियमों का उपयोग करके विश्लेषण की अनुमति देते हैं, बिना किसी अन्य प्रकार के ऑपरेशन को पेश किए।

सॉफ्टवेयर में, अच्छा कार्यान्वयन एक पूर्ण मैट्रिक्स के रूप में एक क्रमचय मैट्रिक्स स्टोर नहीं करते, वे एक क्रमचय सरणी की दुकान और वे इसे सीधे लागू (एक पूर्ण आव्यूह गुणन के बिना)।

मैट्रिस के आकार और संचालन और एक्सेस पैटर्न के आधार पर, यह स्मृति में डेटा को क्रमपरिवर्तन लागू नहीं करना सस्ता हो सकता है, लेकिन इसे अतिरिक्त संकेत के रूप में उपयोग करने के लिए सस्ता हो सकता है। तो, आप का अनुरोध करते हैं (P * M)(i,j), जहां P क्रमपरिवर्तन मैट्रिक्स है और M कुछ अन्य मैट्रिक्स है कि आप permuting रहे हैं, डेटा सब पर फिर से व्यवस्थित नहीं होने की जरूरत है, बल्कि तत्व पहुंच आपरेशन जब आप पहुँच permuted पंक्ति ऊपर दिखेगा तत्व।

0

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

+1

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

संबंधित मुद्दे

 संबंधित मुद्दे