एक ऑर्थोगोनल मैट्रिक्स एक वर्गाकार मैट्रिक्स है जिसमें वास्तविक प्रविष्टियाँ होती हैं जिनके स्तंभ और पंक्तियाँ ऑर्थोगोनल यूनिट वैक्टर (जैसे, ऑर्थोनॉमिक वेक्टर) होती हैं।
इसका मतलब यह है कि M ^ TM = I, जहां मैं पहचान मैट्रिक्स हूं और ^ T मैट्रिक्स ट्रांसपोजिशन को दर्शाता है।
ध्यान दें कि यह ओर्थोगोनल नहीं है "विशेष ऑर्थोगोनल" इसलिए एम का निर्धारक 1 या -1 हो सकता है।
इस चुनौती का उद्देश्य मशीन परिशुद्धता नहीं है, यदि M ^ TM = I 4 दशमलव स्थानों के भीतर है जो ठीक होगा।
कार्य कोड लिखना है जो एक सकारात्मक पूर्णांक लेता है n > 1
और एन मैट्रिक्स द्वारा एक यादृच्छिक ऑर्थोगोनल एन आउटपुट करता है । मैट्रिक्स को यादृच्छिक रूप से और समान रूप से n ऑर्थोगोनल मेट्रिसेस द्वारा सभी n से चुना जाना चाहिए । इस संदर्भ में, "यूनिफ़ॉर्म" को हार माप के संदर्भ में परिभाषित किया गया है, जिसके लिए अनिवार्य रूप से यह आवश्यक है कि किसी भी स्वतंत्र रूप से चुने गए ऑर्थोगोनल मैट्रिक्स द्वारा गुणा किए जाने पर वितरण में बदलाव न हो। इसका अर्थ है कि मैट्रिक्स के मान -1 से 1 के रेंज में फ्लोटिंग पॉइंट वैल्यू होंगे।
इनपुट और आउटपुट आपको सुविधाजनक लगने वाला कोई भी रूप हो सकता है।
कृपया अपने कोड को चलाने का एक स्पष्ट उदाहरण दिखाएं।
आप किसी भी मौजूदा लाइब्रेरी फ़ंक्शन का उपयोग नहीं कर सकते हैं जो ऑर्थोगोनल मेट्रिसेस बनाता है। यह नियम थोड़ा सूक्ष्म है इसलिए मैं और अधिक समझाऊंगा। यह नियम किसी भी मौजूदा फ़ंक्शन के उपयोग पर प्रतिबंध लगाता है जो कुछ (या नहीं) इनपुट में लेता है और कम से कम n द्वारा आकार के मैट्रिक्स को आउटपुट करता है जो कि ऑर्थोगोनल होने की गारंटी है। एक चरम उदाहरण के रूप में, यदि आप n द्वारा n पहचान मैट्रिक्स चाहते हैं, तो आपको इसे स्वयं बनाना होगा।
आप अपने चयन के यादृच्छिक संख्या को चुनने के लिए किसी भी मानक यादृच्छिक संख्या जनरेटर लाइब्रेरी का उपयोग कर सकते हैं।
आपका कोड अधिकतम कुछ सेकंड में पूरा हो जाना चाहिए n < 50
।
diag
? यह एक विकर्ण मैट्रिक्स बनाता है जो वास्तव में ऑर्थोगोनल है, लेकिन हमेशा ऑर्थोनॉर्मल नहीं है।
diag
ठीक होना चाहिए।