मैट्रिक्स गुणन एक लंबी प्रक्रिया है जहां मैट्रिक्स की प्रत्येक पंक्ति और स्तंभ से प्रत्येक तत्व को गुणा किया जाता है और एक निश्चित तरीके से जोड़ा जाता है। मैट्रिक्स गुणन के लिए, पहले मैट्रिक्स में कॉलम की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर होनी चाहिए। परिणाम मैट्रिक्स में पहले की पंक्तियों की संख्या और दूसरे मैट्रिक्स के स्तंभों की संख्या होती है।
छोटे मैट्रिक्स के लिए हम लूप के लिए नेस्टेड डिज़ाइन कर सकते हैं और परिणाम ढूंढ सकते हैं। बड़े मैट्रिसेस के लिए हमें इससे निपटने के लिए अजगर में कुछ अंतर्निहित कार्यक्षमता की आवश्यकता होती है। हम दोनों तरीकों को नीचे देखेंगे।
लूप के लिए उपयोग करना
हम आयाम 2x3 और 3x2 (पंक्तियों x कॉलम) के दो मैट्रिक्स लेते हैं। मैट्रिक्स गुणन का परिणाम 2x2 मैट्रिक्स है। हमारे पास एक नेस्टेड लूप है जिसे ए के कॉलम और बी की पंक्तियों के माध्यम से जाने और उन पंक्तियों और स्तंभों में मूल्यों के उत्पादों को जोड़ने के लिए डिज़ाइन किया गया है।
उदाहरण
#matrix A with 2 rows A = ([5,10,15],[20,25,30]) #matrix B with 2 columns B = ([4,8],[12,10],[14,16]) result = [[0 for x in range(2)] for y in range(2)] for i in range(len(A)): # iterate through columns of A for j in range(len(B[0])): # iterate through rows of B for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] for r in result: print(r)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं:
[350, 380] [800, 890]
Numpy का उपयोग करना
Numpy में डॉट नाम का एक इन-बिल्ट फंक्शन है, जो मैट्रिक्स गुणन करता है। हमारे कार्यक्रम की पंक्तियों की संख्या बहुत कम हो जाती है और वाक्य रचना भी बहुत सरल हो जाती है।
उदाहरण
import numpy as np #matrix A matrix_A = ([5,10,15],[20,25,30]) #matrix B matrix_B = ([4,8],[12,10],[14,16]) result = np.dot(matrix_A,matrix_B) # Result print(result)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं:
[[350 380] [800 890]]