ম্যাট্রিক্স গুণন একটি দীর্ঘ প্রক্রিয়া যেখানে ম্যাট্রিক্সের প্রতিটি সারি এবং কলামের প্রতিটি উপাদানকে একটি নির্দিষ্ট উপায়ে গুণ করতে হবে এবং যোগ করতে হবে। ম্যাট্রিক্স গুণনের জন্য, প্রথম ম্যাট্রিক্সের কলামের সংখ্যা দ্বিতীয় ম্যাট্রিক্সের সারির সংখ্যার সমান হতে হবে। ফলাফল ম্যাট্রিক্সে প্রথমটির সারির সংখ্যা এবং দ্বিতীয় ম্যাট্রিক্সের কলামের সংখ্যা রয়েছে৷
ছোট ম্যাট্রিক্সের জন্য আমরা লুপের জন্য নেস্টেড ডিজাইন করতে পারি এবং ফলাফল খুঁজে পেতে পারি। বড় ম্যাট্রিক্সের জন্য এটি মোকাবেলা করার জন্য আমাদের পাইথনে কিছু অন্তর্নির্মিত কার্যকারিতা প্রয়োজন। আমরা নীচে উভয় পন্থা দেখব।
লুপের জন্য ব্যবহার করা হচ্ছে
আমরা 2x3 এবং 3x2 (সারি x কলাম) মাত্রার দুটি ম্যাট্রিক্স নিই। ম্যাট্রিক্স গুণের ফলাফল একটি 2x2 ম্যাট্রিক্স। আমাদের একটি নেস্টেড ফর লুপ রয়েছে যা A এর কলাম এবং B এর সারির মধ্য দিয়ে যেতে এবং সেই সারি এবং কলামগুলিতে মানগুলির পণ্য যোগ করার জন্য ডিজাইন করা হয়েছে৷
উদাহরণ
#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-এর একটি অন্তর্নির্মিত ফাংশন রয়েছে যার নাম ডট, যা ম্যাট্রিক্স গুণন সম্পাদন করে। আমাদের প্রোগ্রামের লাইনের সংখ্যা খুব কম হয়ে যায় এবং সিনট্যাক্সও খুব সহজ।
উদাহরণ
np#matrix Amatrix_A =([5,10,15],[20,25,30])#matrix Bmatrix_B =([4,8],[12,10],[14,16] হিসাবে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]]