मैट्रिक्स गुणन एक लंबी प्रक्रिया है जहां मैट्रिक्स की प्रत्येक पंक्ति और स्तंभ के प्रत्येक तत्व को एक निश्चित तरीके से गुणा और जोड़ा जाता है। मैट्रिक्स गुणन के लिए, पहले मैट्रिक्स में स्तंभों की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर होनी चाहिए। परिणाम मैट्रिक्स में पहले की पंक्तियों की संख्या और दूसरे के स्तंभों की संख्या होती है।
छोटे मैट्रिक्स के लिए हम नेस्टेड फॉर लूप डिजाइन कर सकते हैं और परिणाम ढूंढ सकते हैं। बड़े मैट्रिक्स के लिए हमें पायथन में कुछ बिल्ट-इन कार्यक्षमता की आवश्यकता होती है। हम नीचे दोनों दृष्टिकोण देखेंगे।
फॉर लूप का उपयोग करके
हम 2x3 और 3x2 (पंक्तियाँ x स्तंभ) आयाम के दो मैट्रिक्स लेते हैं। मैट्रिक्स गुणन का परिणाम एक 2x2 मैट्रिक्स है। हमारे पास A के स्तंभों और B की पंक्तियों के माध्यम से जाने के लिए एक नेस्टेड फॉर लूप डिजाइन किया गया है और उन पंक्तियों और स्तंभों में मानों के उत्पादों को जोड़ते हैं।
उदाहरण
# मैट्रिक्स A 2 पंक्तियों के साथ
A = ([5,10,15],[20,25,30])
# मैट्रिक्स B 2 स्तंभों के साथ
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)):
# A के स्तंभों के माध्यम से पुनरावृति
for j in range(len(B[0])):
# 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 में dot नामक एक बिल्ट-इन फंक्शन है, जो मैट्रिक्स गुणन करता है। हमारे प्रोग्राम की लाइनें बहुत कम हो जाती हैं और सिंटैक्स भी बहुत सरल होता है।
उदाहरण
import numpy as np # मैट्रिक्स A matrix_A = ([5,10,15],[20,25,30]) # मैट्रिक्स B matrix_B = ([4,8],[12,10],[14,16]) result = np.dot(matrix_A,matrix_B) # परिणाम print(result)
आउटपुट
उपरोक्त कोड चलाने से हमें निम्नलिखित परिणाम मिलता है:
[[350 380] [800 890]]