Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 55

Matrix Multiplication

Matrix multiplication क्या है

Matrix multiplication दो matrices (2D arrays) को एक नई में जोड़ता है। हर result cell पहली matrix की row, दूसरी की column लेकर, मेल खाते elements गुणा करके, और जोड़कर बनता है। यह nested loops और 2D arrays का classic अभ्यास है।

💡 हर result cell = (A की एक row) · (B की एक column): मेल खाते elements गुणा करके जोड़िए।

गुणा का नियम

2×2 matrices A और B को, ऊपर-बाएँ result cell है: (A की पहली row) गुणा (B की पहली column):

c[0][0] = a[0][0]*b[0][0] + a[0][1]*b[1][0]

आप हर result cell को यह pattern दोहराते हैं, हर एक A की एक row को B की एक column से जोड़कर।

Java program

public class MatrixMul {
    public static void main(String[] args) {
        int[][] a = {{1, 2}, {3, 4}};
        int[][] b = {{5, 6}, {7, 8}};
        int[][] c = new int[2][2];

        for (int i = 0; i < 2; i++) {          // A की हर row
            for (int j = 0; j < 2; j++) {      // B की हर col
                for (int k = 0; k < 2; k++) {  // products जोड़ो
                    c[i][j] += a[i][k] * b[k][j];
                }
            }
        }
        for (int[] row : c) {
            for (int x : row) System.out.print(x + " ");
            System.out.println();
        }
    }
}
19 22
43 50

तीन loops: i और j result cell चुनते हैं, और k उस cell को A की row और B की column के products जोड़ता है।

Dry run

Dry Run — 2x2 matrix multiply, har cell ki calculation
Result cellRow × ColumnCalculationValue
c[0][0]A row0 · B col01*5 + 2*7 = 5+1419
c[0][1]A row0 · B col11*6 + 2*8 = 6+1622
c[1][0]A row1 · B col03*5 + 4*7 = 15+2843
c[1][1]A row1 · B col13*6 + 4*8 = 18+3250
💡 ऐसे समझिए

हर result cell को, A की row को B की column से जोड़िए, मेल खाते elements गुणा करके जोड़िए। c[0][0] A की पहली row और B की पहली column इस्तेमाल करता है: 1*5 + 2*7 = 19।

कब मान्य है

दो matrices तभी गुणा हो सकती हैं जब पहली के columns दूसरी की rows के बराबर हों। एक m×n matrix गुणा n×p matrix m×p result देता है। अगर inner dimensions मेल न खाएँ, गुणा परिभाषित नहीं है।

आम गलतियाँ

  • Result initialise न करना। Result cells products जोड़ने से पहले 0 से शुरू होने चाहिए (Java arrays यह default करते हैं)।
  • गलत index क्रम। a[i][k] * b[k][j] इस्तेमाल कीजिए — साझा index k है।
  • बेमेल dimensions। A के columns B की rows के बराबर होने चाहिए।
  • A×B = B×A की उम्मीद। Matrix multiplication commutative नहीं है।

सारांश

  • हर result cell A की row का B की column से dot product है।
  • तीन nested loops इस्तेमाल कीजिए: दो cell को, एक products जोड़ने को।
  • मान्य सिर्फ़ तब जब A के columns B की rows के बराबर हों।
  • m×n गुणा n×p matrix m×p result देता है।
  • Matrix multiplication commutative नहीं है।

आगे, 2D arrays अभ्यास कीजिए Java arrays में, या nested loops Floyd's triangle में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Matrix multiplication कैसे काम करता है?
Result का हर cell पहली matrix की row और दूसरी की column का dot product है। आप मेल खाते elements गुणा करके जोड़ते हैं। इसे code में तीन nested loops चाहिए।
दो matrices कब गुणा हो सकती हैं?
दो matrices तभी गुणा हो सकती हैं जब पहली के columns की संख्या दूसरी की rows की संख्या के बराबर हो। Result में पहली की rows और दूसरी के columns होते हैं।
Matrix multiplication को तीन loops क्यों चाहिए?
दो loops हर result cell चुनते हैं (उसकी row और column), और तीसरा loop उस cell को row और column elements के products जोड़ता है। तो यह loop के अंदर loop के अंदर loop है।
क्या matrix multiplication commutative है?
नहीं। numbers के विपरीत, matrices को A × B आमतौर पर B × A के बराबर नहीं। क्रम मायने रखता है, और कभी dimensions के आधार पर सिर्फ़ एक क्रम मान्य भी होता है।
Java में matrices कैसे store होती हैं?
2D arrays के रूप में, जैसे int[][] a। आप element को दो indexes से access करते हैं, a[row][col], और पूरी matrix process करने को rows व columns पर loop करते हैं।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicCalculator (Switch) आपकी प्रगति: 55 / 61 (90%) · Lesson 56 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें