मैट्रिक्स गुणन कार्यक्रम का उपयोग दो मैट्रिक्स को गुणा करने के लिए किया जाता है। यह प्रक्रिया तभी संभव है जब पहले मैट्रिक्स में कॉलम की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर हो।
C# में मैट्रिक्स गुणन को प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है -
उदाहरण
using System; namespace MatrixMultiplicationDemo { class Example { static void Main(string[] args) { int m = 2, n = 3, p = 3, q = 3, i, j; int[,] a = {{1, 4, 2}, {2, 5, 1}}; int[,] b = {{3, 4, 2}, {3, 5, 7}, {1, 2, 1}}; Console.WriteLine("Matrix a:"); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { Console.Write(a[i, j] + " "); } Console.WriteLine(); } Console.WriteLine("Matrix b:"); for (i = 0; i < p; i++) { for (j = 0; j < q; j++) { Console.Write(b[i, j] + " "); } Console.WriteLine(); } if(n! = p) { Console.WriteLine("Matrix multiplication not possible"); } else { int[,] c = new int[m, q]; for (i = 0; i < m; i++) { for (j = 0; j < q; j++) { c[i, j] = 0; for (int k = 0; k < n; k++) { c[i, j] += a[i, k] * b[k, j]; } } } Console.WriteLine("The product of the two matrices is :"); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { Console.Write(c[i, j] + "\t"); } Console.WriteLine(); } } } } }
आउटपुट
उपरोक्त कार्यक्रम का आउटपुट निम्नानुसार दिया गया है।
Matrix a: 1 4 2 2 5 1 Matrix b: 3 4 2 3 5 7 1 2 1 The product of the two matrices is : 172832 223540
आइए अब उपरोक्त कार्यक्रम को समझते हैं।
सबसे पहले, दो मैट्रिक्स ए और बी प्रदर्शित होते हैं। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।
for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { Console.Write(a[i, j] + " "); } Console.WriteLine(); } Console.WriteLine("Matrix b:"); for (i = 0; i < p; i++) { for (j = 0; j < q; j++) { Console.Write(b[i, j] + " "); } Console.WriteLine(); }
यदि पहले मैट्रिक्स में स्तंभों की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर नहीं है, तो मैट्रिक्स को गुणा नहीं किया जा सकता है और यह प्रदर्शित होता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।
if(n! = p) { Console.WriteLine("Matrix multiplication not possible"); }
अन्यथा, लूप के लिए नेस्टेड का उपयोग मैट्रिक्स ए और बी यानी मैट्रिक्स सी के उत्पाद को प्राप्त करने के लिए किया जाता है। फिर मैट्रिक्स c प्रदर्शित होता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है -
for (i = 0; i < m; i++) { for (j = 0; j < q; j++) { c[i, j] = 0; for (int k = 0; k < n; k++) { c[i, j] += a[i, k] * b[k, j]; } } } Console.WriteLine("The product of the two matrices is :"); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { Console.Write(c[i, j] + "\t"); } Console.WriteLine(); }