Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

मैट्रिक्स गुणन एल्गोरिदम


इस खंड में हम देखेंगे कि दो मैट्रिक्स को कैसे गुणा किया जाए। मैट्रिक्स गुणन केवल तभी किया जा सकता है जब यह शर्त पूरी होती है। मान लीजिए दो मैट्रिक्स A और B हैं, और उनके आयाम A (m x n) और B (p x q) हैं तो परिणाम मैट्रिक्स तभी पाया जा सकता है जब n = p। तब परिणाम मैट्रिक्स C का क्रम (m x q) होगा।

एल्गोरिदम

matrixMultiply(A, B): Assume dimension of A is (m x n), dimension of B is (p x q) Begin    if n is not same as p, then exit    otherwise define C matrix as (m x q)    for i in range 0 to m - 1, do       for j in range 0 to q – 1, do          for k in range 0 to p, do             C[i, j] = C[i, j] + (A[i, k] * A[k, j])          done       done    done End

उदाहरण

#include<iostream> using namespace std; int main() {    int product[10][10], r1=3, c1=3, r2=3, c2=3, i, j, k;    int a[3][3] = {       {2, 4, 1},       {2, 3, 9},       {3, 1, 8}    };    int b[3][3] = {       {1, 2, 3},       {3, 6, 1},       {2, 4, 7}    };    if (c1 != r2) {       cout<<"Column of first matrix should be equal to row of second matrix";    } else {       cout<<"The first matrix is:"<<endl;       for(i=0; i

आउटपुट

The first matrix is: 2 4 1 2 3 9 3 1 8 The second matrix is: 1 2 3 3 6 1 2 4 7 Product of the two matrices is: 16 32 17 29 58 72 22 44 66
  1. फोर्ड-फुल्करसन एल्गोरिदम फोर्ड-फुल्करसन एल्गोरिदम

    फोर्ड-फुल्करसन एल्गोरिदम का उपयोग दिए गए ग्राफ में प्रारंभ शीर्ष से सिंक शीर्ष तक अधिकतम प्रवाह का पता लगाने के लिए किया जाता है। इस ग्राफ में, प्रत्येक किनारे की क्षमता होती है। दो शीर्ष दिए गए हैं जिन्हें स्रोत और सिंक नाम दिया गया है। स्रोत शीर्ष में सभी जावक किनारे होते हैं, कोई आवक किनारा नहीं

  1. फ्लॉयड वार्शल एल्गोरिदम फ्लॉयड वार्शल एल्गोरिदम

    फ्लॉयड-वार्शल एल्गोरिदम का उपयोग दिए गए वेटेड ग्राफ से सभी जोड़े के सबसे छोटे पथ की समस्या को हल करने के लिए किया जाता है। इस एल्गोरिदम के परिणामस्वरूप, यह एक मैट्रिक्स जनरेट करेगा, जो ग्राफ में किसी भी नोड से अन्य सभी नोड्स तक की न्यूनतम दूरी को दर्शाएगा। सबसे पहले, आउटपुट मैट्रिक्स ग्राफ के दिए ग

  1. C++ में स्ट्रासेन के मैट्रिक्स समीकरण को याद रखने का आसान तरीका C++ में स्ट्रासेन के मैट्रिक्स समीकरण को याद रखने का आसान तरीका

    यह एक मैट्रिक्स गुणन एल्गोरिदम है जो विभाजन और विजय विधि पर आधारित है। इसका उपयोग समान आकार के दो मैट्रिक्स को गुणा करने के लिए किया जाता है। दो मैट्रिक्स का गुणनफल ज्ञात करना: स्ट्रासेन का एल्गोरिदम गुणन को सरल बनाकर गुणन के लिए ओवरहेड को कम करता है। यहां स्ट्रासेन के एल्गोरिदम का उपयोग करके क