# numpy.dot() in Python | np.dot() in Python

Numpy `dot()` function is used to perform matrix multiplication.

You might be thinking if you can multiply two arrays then why there is a need for the `dot()` function. Let's understand why direct multiplication of arrays does not work:

```import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 10], [15, 20]])
c = a*b
print('Matrix a:\n', a)
print('Matrix b:\n', b)
print('Resultant Matrix:\n ', c)```

Output

```Matrix a:
[[1 2]
[3 4]]
Matrix b:
[[ 5 10]
[15 20]]
Resultant Matrix:
[[ 5 20]
[45 80]]```

Note: Following tutorials are essential to improve your understanding of performing various matrix operations in NumPy:

As you can see direct multiplication of two NumPy arrays does not produce the desired result. It is just multiplying corresponding elements of two arrays. That is why `dot()` function is introduced.

Let's see the syntax of `dot()` function:

`np.dot(a, b)`

Both `a` and `b` parameter refer to two-dimensional Numpy array.

Note: Before you perform matrix multiplication, make sure that the number of columns in the first matrix is equal to the number of rows in the second matrix.

```#Python program to test np.dot() function
import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 10], [15, 20]])
c = np.dot(a, b)
print('Matrix a:\n', a)
print('Matrix b:\n', b)
print('Resultant Matrix:\n ', c)```

Output

```Matrix a:
[[1 2]
[3 4]]
Matrix b:
[[ 5 10]
[15 20]]
Resultant Matrix:
[[ 35  50]
[ 75 110]]```