मैट्रिक्स को मैट [पंक्ति] [कॉलम] के रूप में देखते हुए, हमारा काम यह जांचना है कि दिया गया मैट्रिक्स एकवचन है या नहीं और परिणाम प्रदर्शित करता है।
एकवचन मैट्रिक्स एक मैट्रिक्स है जिसका निर्धारक शून्य है और यदि सारणिक शून्य नहीं है तो मैट्रिक्स गैर-एकवचन है।
तो यह पता लगाने के लिए कि मैट्रिक्स एकवचन या गैर-एकवचन है या नहीं, हमें पहले निर्धारक की गणना करने की आवश्यकता है। मैट्रिक्स के सारणिक की गणना −
. के रूप में की जा सकती है$$M1[3][3]\:=\:\begin{bmatrix}a &b &c \\d &e &f \\g &h &i \end{bmatrix}$$
|एम1| =a(e*i - f*h) - b(d*i - f*g) + c(d*h - e*g)
उदाहरण
इनपुट-:मैट[3][3]={ 4, 10, 1}, {0, 2, 3}, { 1, 4, -3} आउटपुट-:मैट्रिक्स नॉन-सिंगुलर हैइनपुट-:मैट[ 3] [3] ={ 0, 0, 0 }, { 10, 20, 30 }, { 1, 4, -3 }आउटपुट-:मैट्रिक्स एकवचन हैचूंकि पूरी पहली पंक्ति 0 है, निर्धारक केवल शून्य होगा। पूर्व>एल्गोरिदम
स्टार्टइन फंक्शन कॉफ़ेक्टर (इंट मैट्रिक्स [एन] [एन], इंट मैट्रिक्स 2 [एन] [एन], इंट पी, इंट क्यू, इंट एन) {चरण 1-> घोषित करें और आरंभ करें i =0, j =0, पंक्ति, कर्नल चरण 2-> पंक्ति के लिए लूप =0 और पंक्तिघोषित और इनिशियलाइज़ इंट डी =0; चरण 2-> यदि n ==1 तो, रिटर्न मैट्रिक्स [0] [0] चरण 3-> घोषित मैट्रिक्स 2 [एन] [एन], साइन =1 चरण 4-> लूप फॉर एफ =0 और एफ <एन और एफ ++ कॉल फंक्शन कॉफ़ेक्टर (मैट्रिक्स, मैट्रिक्स 2, 0, एफ, एन) सेट डी + =साइन * मैट्रिक्स [0] [एफ] * चेक_सिंगुलर (मैट्रिक्स 2, एन -1) सेट साइन =-साइन एंड लूप चरण 5-> रिटर्न डी इन मेन () चरण 1-> मैट्रिक्स घोषित करें और आरंभ करें [एन] [एन] चरण 2-> यदि कॉल चेक_सिंगुलर (मैट्रिक्स, एन) गैर 0 मान देता है, तो प्रिंट करें "मैट्रिक्स एकवचन है" चरण 3-> अन्य प्रिंट "मैट्रिक्स है गैर-एकवचन "रोकें उदाहरण
#शामिल करें इंट आई =0, जे =0; इंट पंक्ति, कर्नल; // मैट्रिक्स के प्रत्येक तत्व के लिए लूपिंग (पंक्ति =0; पंक्ति <एन; पंक्ति ++) {के लिए (कॉल =0; कॉल <एन; कॉल ++) {// केवल अस्थायी मैट्रिक्स में कॉपी करना // वे तत्व जो अंदर नहीं हैं दिया गया // पंक्ति और स्तंभ अगर (पंक्ति! =p &&col!=q) {मैट्रिक्स 2 [i] [j ++] =मैट्रिक्स [पंक्ति] [कॉल]; // पंक्ति भरी हुई है, इसलिए पंक्ति बढ़ाएं // अनुक्रमणिका और col अनुक्रमणिका रीसेट करें यदि (j ==n - 1) { j =0; मैं++; } } } } वापसी 0;}/* पुनरावर्ती फ़ंक्शन यह जांचने के लिए कि क्या मैट्रिक्स [] [] एकवचन है या नहीं। */इंट चेक_सिंगुलर (इंट मैट्रिक्स [एन] [एन], इंट एन) {इंट डी =0; // इनिशियलाइज़ रिजल्ट // बेस केस:यदि मैट्रिक्स में सिंगल एलिमेंट है अगर (n ==1) रिटर्न मैट्रिक्स [0] [0]; इंट मैट्रिक्स 2 [एन] [एन]; // कॉफ़ैक्टर्स को स्टोर करने के लिए इंट साइन =1; // साइन मल्टीप्लायर को स्टोर करने के लिए // पहली पंक्ति के प्रत्येक तत्व के लिए इटरेट करें (int f =0; fआउटपुट
यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -
मैट्रिक्स नॉन-सिंगुलर है