Matrix manipulation in Python
Last Updated : 10 Dec, 2025
In Python, matrices can be represented as 2D lists or 2D arrays. Using NumPy arrays for matrices provides additional functionalities for performing various operations efficiently. NumPy is a Python library that offers fast, optimized array operations.
Why Use NumPy for Matrix Operations?
- Efficient Computation: Uses optimized C-level implementations.
- Cleaner Code: Eliminates explicit loops in many operations.
- Wide Functionality: Supports element-wise operations, matrix multiplication, aggregation, and more.
Matrix Operations in NumPy
1. Element-wise Addition, Subtraction, and Division
Performing element-wise operations allows you to directly apply arithmetic operations between matrices of the same shape.
Python import numpy as np x = np.array([[1, 2], [4, 5]]) y = np.array([[7, 8], [9, 10]]) print("Addition:\n", np.add(x, y)) print("Subtraction:\n", np.subtract(x, y)) print("Division:\n", np.divide(x, y)) Output
The element wise addition of matrix is:
[[ 8 10]
[13 15]]
The element wise subtraction of matrix is:
[[-6 -6]
[-5 -5]]
The element wise division of matrix is:
[[0 0]
[0 0]]
2. Element-wise Multiplication vs. Matrix Multiplication
Use np.multiply() for element-wise multiplication and np.dot() or @ for standard matrix multiplication.
Python import numpy as np x = np.array([[1, 2], [4, 5]]) y = np.array([[7, 8], [9, 10]]) print("Element-wise multiplication:\n", np.multiply(x, y)) print("Matrix multiplication:\n", np.dot(x, y)) Output
Element-wise multiplication of matrix is:
[[7 16]
[36 50]]
Matrix multiplication:
[[25 28]
[73 82]]
3. Other Useful NumPy Matrix Functions
NumPy provides utility functions to perform common matrix operations like square root, sum, or transpose.
Python import numpy as np x = np.array([[1, 2], [4, 5]]) y = np.array([[7, 8], [9, 10]]) print("Square root:\n", np.sqrt(x)) print("Sum of all elements:", np.sum(y)) print("Column-wise sum:", np.sum(y, axis=0)) print("Row-wise sum:", np.sum(y, axis=1)) print("Transpose:\n", x.T) Output
The element wise square root is:
[[ 1. 1.41421356]
[ 2. 2.23606798]]
The summation of all matrix element is: 34
The column wise summation of all matrix is: [16 18]
The row wise summation of all matrix is: [15 19]
The transpose of given matrix is:
[[1 4]
[2 5]]
Matrix Operations Using Nested Loops
If you are not using NumPy, you can perform matrix operations using nested loops:
Python A = [[1,2],[4,5]] B = [[7,8],[9,10]] rows = len(A) cols = len(A[0]) C = [[0 for i in range(cols)] for j in range(rows)] for i in range(rows): for j in range(cols): C[i][j] = A[i][j] + B[i][j] print("Addition:\n", C) D = [[0 for i in range(cols)] for j in range(rows)] for i in range(rows): for j in range(cols): D[i][j] = A[i][j] - B[i][j] print("Subtraction:\n", D) E = [[0 for i in range(cols)] for j in range(rows)] for i in range(rows): for j in range(cols): E[i][j] = A[i][j] / B[i][j] print("Division:\n", E) Output
Addition:
[[8, 10], [13, 15]]
Subtraction:|
[[-6, -6], [-5, -5]]
Division:
[[0.14285714285714285, 0.25], [0.4444444444444444, 0.5]]
Related Articles:
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice
My Profile