Last Updated On By Anmol Lohana
Python Matrix multiplication is an operation that takes two matrices and multiplies them. Multiplication of two matrices is possible when the first matrix’s rows are equal to the second matrix columns. It multiplies the row items of the first matrix with the column items of the second matrix. The syntax for a matrix can be as an array inside an array.
Table of Contents
A python matrix is a specialized two-dimensional array. A rectangular array that stores data in rows and columns. Array is the one of important data structures that a user use to perform mathematical and scientific calculations. Data inside the matrix can be numbers, strings, expressions, symbols, etc.
There are three ways of doing matrix multiplication.
Explicit for loops is a simple technique for the Multiplication of two matrices. But, this technique is one of the expensive methods for larger matrix operations. Let’s see an example in which we will use nested for loops for matrix multiplication. It will multiply each row from the first matrix to each column element from the second matrix.
matrix1 = [[1,2,3],
[4 ,5,6],
[7 ,8,9]]
matrix2 = [[9,8,7],
[6,5,4],
[3,2,1]]
result = [[0 for x in range(3)] for y in range(3)]
# explicit for loops
for i in range(len(matrix1)):
for j in range(len(matrix2[0])):
for k in range(len(matrix2)):
# resulted matrix
result[i][j] += matrix1[i][k] * matrix2[k][j]
print("Resultant Matrix : ", result)
We can use the list comprehension technique as well for the Multiplication of two matrices. The whole process will be the same as in nested for loops, but we used for loop to store the result in the above example. Here in this example, we will create a list to store the result. Let’s have a look at an example of this.
Matrix1 = [[1, 2, 3],
[4,5,6],
[7,8,9]]
Matrix2 = [[9,8,7],
[6,5,4],
[3,2,1]]
RM = [[0,0,0],
[0,0,0],
[0,0,0]]
matrix_length = len(Matrix1)
for i in range(len(Matrix1)):
for k in range(len(Matrix2)):
RM[i][k] = Matrix1[i][k] * Matrix2[i][k]
print("Multiplication of two matrices using list comprehension: ", RM)
Multiplication of two matrices using NumPy is also known as vectorization. Using this module to reduce explicit use of for loops in the program makes program execution faster. NumPy is a built-in package of Python which is used for array processing and manipulation. We need to import NumPy in the program and use dot operator for matrix multiplication to use this package. Let’s have a look at an example.
import NumPy as np
matrix1 = ([1, 2, 3],[4 ,5, 6],[7, 8, 9])
matrix2 = ([9, 8, 7],[6, 5, 4],[3,2, 1])
result = np.dot(matrix1,matrix2)
print("Matrix Multiplication Using NumPy : ", result)
In this article, we discussed the Multiplication of two matrices. We discussed three different ways of python matrix multiplication. And coding examples in which we performed Multiplication of 3×3 matrix