কম্পিউটার

C# প্রোগ্রাম দুটি ম্যাট্রিক্স গুণ করতে


ম্যাট্রিক্স গুণের প্রোগ্রামটি দুটি ম্যাট্রিক্সকে গুণ করতে ব্যবহৃত হয়। এই পদ্ধতিটি তখনই সম্ভব যখন প্রথম ম্যাট্রিক্সের কলামের সংখ্যা দ্বিতীয় ম্যাট্রিক্সের সারির সংখ্যার সমান হয়।

একটি প্রোগ্রাম যা 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

এখন আসুন উপরের প্রোগ্রামটি বুঝতে পারি।

প্রথমে, a এবং b দুটি ম্যাট্রিক্স প্রদর্শিত হয়। এর জন্য কোড স্নিপেট নিম্নরূপ দেওয়া হয়েছে।

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");
}

অন্যথায়, একটি নেস্টেড ফর লুপ ম্যাট্রিক্স a ​​এবং b অর্থাৎ ম্যাট্রিক্স c এর গুণফল পেতে ব্যবহৃত হয়। তারপর ম্যাট্রিক্স 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();
}

  1. সি-তে পয়েন্টার ব্যবহার করে দুটি ম্যাট্রিক্সকে কীভাবে গুণ করা যায়?

  2. পাইথন ব্যবহার করে দুটি ম্যাট্রিক্সকে গুন করার জন্য Tensorflow কিভাবে ব্যবহার করা যেতে পারে?

  3. দুটি প্রদত্ত ম্যাট্রিক্স অভিন্ন কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. পাইথন ব্যবহার করে কিভাবে দুটি ম্যাট্রিক্স গুণ করবেন?