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 utilised 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 a scalar of nd-array. It depends on 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 Examples
Convert 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