# Matrix Multiplication in Python

Learn: In this article, we will see how to perform matrix multiplication in python. This article comprises matrix multiplication program written in python with Sample Input and Sample Output.
Submitted by Abhishek Jain, on October 02, 2017

For multiplication of two matrices A and B, the number of columns in A should be equal to the number of rows in B. For getting the elements of the product matrix, we take the ith row of A and kth column of B, multiply them element-wise and take the sum of all these products.

## Program to multiply two matrices in Python

```import random
m1=input("Enter No. of rows in the first matrix: ")
n1=input("Enter No. of columns in the first matrix: ")
a = [[random.random() for col in range(n1)] for row in range(m1)]
for i in range(m1):
for j in range(n1):
a[i][j]=input()
m2=input ("Enter No. of rows in the second matrix: ")
n2=input ("Enter No. of columns in the second matrix: ")
b = [[random.random() for col in range(n2)] for row in range(m2)]
for i in range(m2):
for j in range(n2):
b[i][j]=input()
c=[[random.random()for col in range(n2)]for row in range(m1)]
if (n1==m2):
for i in range(m1):
for j in range(n2):
c[i][j]=0
for k in range(n1):
c[i][j]+=a[i][k]*b[k][j]
print c[i][j],'\t',
print
else:
print "Multiplication not possible"
```

Output

```Enter No. of rows in the first matrix: 3
Enter No. of columns in the first matrix: 2
1
2
3
4
5
6
Enter No. of rows in the second matrix: 2
Enter No. of columns in the second matrix: 3
1
2
3
4
5
6
Output:
9 	12 	15
19 	26 	33
29 	40 	51
```