# Numpy Matrix Multiplication

In this post, you will learn about the **Numpy Matrix Multiplication**.

**NumPy** is the fundamental package for scientific computing with Python. It is a highly optimised library for numerical operations. The support of NumPy makes the task easier. Several libraries, like OpenCV, SciPy, and Matplotlib, when combined with NumPy, increase the number of weapons in your arsenal.

**Matrix**, a set of numbers arranged in rows and columns so as to form a rectangular array. Matrices are utilized substantially more in everyday life than individuals would have suspected. A square matrix can represent a linear transformation of a geometric object. A real-life example is Adobe Photoshop. It uses a matrix to process linear transformations to render images. In robotics and automation, matrices are the fundamental building blocks for robot development. The contributions for controlling robots are acquired based on the calculations from matrices.

## NumPy matrix multiplication methods

These are the three different ways to perform NumPy matrix multiplication.

**Using numpy.dot() function****Using numpy.matmul() function****Using numpy.multiply() function**

## NumPy matrix multiplication using numpy.dot() function

Python provides a powerful **numpy.dot()** function for matrix computation. Here is the syntax of the **numpy.dot()** method.

**numpy.dot(x, y, out=None)**

Here, **x** and **y** are two input arrays. Both arrays should be 1-D or 2-D. The **out** is the output argument for 1-D array scalar to be returned. It returns a dot product of two arrays, x and y. If both the arrays 'x' and 'y' are 1-D arrays, the **dot()** function performs the inner product of vectors and returns a scalar. If both the arrays 'x' and 'y' are 2-D arrays, the **dot()** function performs the matrix multiplication. If 'x' is an N-dimensional array and 'y' is a 1-dimensional array, then the **dot()** function performs the sum-product over the last axis of x and y. For N-dimensional arrays, it is a sum product over the last axis of x and the second-last axis of y.

Here, we have the dot product of two matrices. It is equivalent to matrix multiplication.

```
import numpy as np
# take a 3x3 matrix
X = [[4, 1, 6],
[7, 8, 2],
[5, 2, 8]]
# take a 3x4 matrix
Y = [[1, 4, 2, 7],
[7, 5, 9, 2],
[2, 8, 1, 1]]
# result will be 3x4
result= [[0,0,0,0],
[0,0,0,0],
[0,0,0,0]]
result = np.dot(X,Y)
for r in result:
print(r)
```

**Output of the above code:**

```
[23 69 23 36]
[67 84 88 67]
[35 94 36 47]
```

## NumPy matrix multiplication using numpy.matmul() function

The **numpy.matmul()** function returns the matrix product of two arrays.

**Syntax-**

**numpy.matmul(x, y, out=None)**

Here, **x** and **y** are two input arrays.

**Example-**

```
import numpy as np
# take two 3x3 matrix
M1 = [[7, 3, 2],
[5, 4, 3],
[4, 8, 9]]
M2 = [[1, 2, 8],
[4, 2, 7],
[6, 5, 3]]
print(np.matmul(M1,M2))
```

**Output of the above code:**

```
[[ 31 30 83]
[ 39 33 77]
[ 90 69 115]]
```

## NumPy matrix multiplication using np.multiply() function

The numpy multiply function **np.multiply()** calculates the product between the two numpy arrays.

**Syntax-**

**numpy.multiply(m1, m2)**

Here, **m1** and **m2** are two input arrays. This function returns the product between **m1** and **m2**. The **multiply()** function can be scalar of nd-array. It depends on the **m1** and **m2**. Suppose m1, and m2 are scalar, then **numpy.multiply()** will return a scalar value. Else it will return an nd-array.

```
import numpy as np
m1 = [[7, 3, 2],
[5, 4, 3],
[4, 8, 9]]
m2 = [[3, 2, 8],
[4, 2, 7],
[6, 5, 3]]
print(np.multiply(m1,m2))
```

**Output of the above code:**

```
[[21 6 16]
[20 8 21]
[24 40 27]]
```

### Related Articles

** Trigonometric functions Python Numpy Python convert dataframe to numpy array Convert binary to decimal in Python Multiply all elements in list Python Multiply each element of a list by a number in Python Python NumPy: Overview and ExamplesConvert Python list to numpy array numpy dot product Python Pandas Plotting Pandas string to datetime Convert Excel to CSV Python Pandas Python take screenshot of specific window Read data from excel file using Python Pandas Quick Introduction to Python Pandas Python requests GET method Python Convert XML to CSV Python iterate list with index Python add list to list Python random choice Python dict inside list Bouncing ball game code in Python Remove character from string Python Python raise keyword**