Adding and Subtracting Matrices in Python
Last Updated : 22 Sep, 2025
In this article, we will learn how to add and subtract matrices in Python using both NumPy (fast and simple) and nested loops (manual approach).
For Example:
Suppose we have two matrices A and B.
A = [[1,2],[3,4]]
B = [[4,5],[6,7]]
then we get
A+B = [[5,7],[9,11]] #Addition
A-B = [[-3,-3],[-3,-3]] #Subraction
Adding Matrices
NumPy provides the np.add() function, which adds two matrices element-wise.
Python import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[4, 5], [6, 7]]) print("Matrix A:\n", A) print("Matrix B:\n", B) # Adding matrices C = np.add(A, B) print("Result:\n", C) OutputMatrix A: [[1 2] [3 4]] Matrix B: [[4 5] [6 7]] Result: [[ 5 7] [ 9 11]]
Explanation: np.add(A, B) adds corresponding elements of matrices A and B and result is a new matrix C with element-wise sums.
Subtracting Matrices
NumPy also provides np.subtract(), which subtracts one matrix from another element-wise.
Python import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[4, 5], [6, 7]]) print("Matrix A:\n", A) print("Matrix B:\n", B) # Subtracting matrices C = np.subtract(A, B) print("Result:\n", C) OutputMatrix A: [[1 2] [3 4]] Matrix B: [[4 5] [6 7]] Result: [[-3 -3] [-3 -3]]
Explanation: np.subtract(A, B) subtracts each element of B from A and result is a matrix with the element-wise differences.
Adding and Subtracting Matrices using Nested Loops
This manual approach uses nested loops to perform both addition and subtraction of two matrices without using NumPy.
Python matrix1 = [[1, 2], [3, 4]] matrix2 = [[4, 5], [6, 7]] print("Matrix 1:") for row in matrix1: print(row) print("Matrix 2:") for row in matrix2: print(row) add_result = [[0, 0], [0, 0]] sub_result = [[0, 0], [0, 0]] # Perform addition and subtraction for i in range(len(matrix1)): for j in range(len(matrix1[0])): add_result[i][j] = matrix1[i][j] + matrix2[i][j] sub_result[i][j] = matrix1[i][j] - matrix2[i][j] print("Addition Result:") for row in add_result: print(row) print("Subtraction Result:") for row in sub_result: print(row) OutputMatrix 1: [1, 2] [3, 4] Matrix 2: [4, 5] [6, 7] Addition Result: [5, 7] [9, 11] Subtraction Result: [-3, -3] [-3, -3]
Explanation: We iterate over rows (i) and columns (j) using nested loops. At each index [i][j], we calculate both:
- add_result[i][j] = matrix1[i][j] + matrix2[i][j]
- sub_result[i][j] = matrix1[i][j] - matrix2[i][j]
- Finally, both results are printed row by row.
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice