Addition of two matrices in Python

Addition of two matrices in Python

Matrices are a mathematical concept used in various fields in the real world such as physics, engineering, etc. In Python, We can able to perform an arithmetic operation on top of matrices. In this article, we will learn about the addition of two matrices in Python.

Adding two matrices in Python is a simple task that can be accomplished using the np.add() function from the NumPy library. It takes two matrices as inputs and returns a new matrix that represents the sum of the original matrices.

There are multiple other ways to achieve the addition of two matrices which have been discussed in this article as well

What are Matrices?

A matrix is a two-dimensional array of numbers or values arranged in rows and columns. In Python, the matrix is represented as a list of lists, where each inner list represents a row of the matrix. Consider the below matrix as an example: which is a 3×3 matrix (3 rows and 3 columns)

1 2 3
4 5 6
7 8 9

As mentioned, in Python the matrics is represented as a list of lists as shown below

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

Adding Two Matrices in Python can be done by following the methods

  • Nested Loop
  • Using NumPy
  • Using List Comprehension
  • Using the Zip Function
  • Using the map Function

Nested Loop

In this method, We will be using a nested loop to add two matrices

Example:

# Define the matrices
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]

matrix2 = [[10, 11, 12],
           [13, 14, 15],
           [16, 17, 18]]

# Create an empty matrix to store the result
result = [[0, 0, 0],
          [0, 0, 0],
          [0, 0, 0]]

# Iterate over each element of the matrices and add them together
for i in range(len(matrix1)):
    for j in range(len(matrix1[0])):
        result[i][j] = matrix1[i][j] + matrix2[i][j]

# Print the result
for row in result:
    print(row)

In the above example, we have defined two matrices matrix1 and matrix2 with the same dimensions (3×3). Then we created an empty matrix result with the same dimensions to store the result of the addition.

Once done, we can now iterate over each element of the matrices using nested loops and add the corresponding elements together and store it in the result matrix. At last, we can able to print the result matrix to see the sum of values.

Output

[11, 13, 15]
[17, 19, 21]
[23, 25, 27]

Process finished with exit code 0

Using NumPy

In this method, We are going to add two numbers using the Numpy module and it is considered an efficient method for large matrices as it provides optimized operations.

Steps to install NumPy: In this article, I have used pycharm IDE to execute the example code, To install Numpy module in pycharm, follow the below steps

Pycharm -> preferences -> project -> Python interpreter -> Add module -> search "numpy" -> install
Addition of two matrices : To install numpy module in pycharm IDE

If you are running the example in the terminal, we can use pip to install the NumPy module

pip install numpy

“+” Operator

Example:

import numpy as np

# define the matrices as NumPy arrays
matrix1 = np.array([[1, 2, 3],
                    [4, 5, 6],
                    [7, 8, 9]])

matrix2 = np.array([[10, 11, 12],
                    [13, 14, 15],
                    [16, 17, 18]])

# add the matrices using the '+' operator
result = matrix1 + matrix2

# print the result
print(result)

In the above example, we are importing the NumPy library and defining the two matrices using the np.array() function. Once it is defined, We can add the two matrices using the ‘+’ operator and store the result in the result variable and can be printed to see the final output

Output

[[11 13 15]
 [17 19 21]
 [23 25 27]]

Process finished with exit code 0

numpy.add()

We can also add two matrices in Python by using the numpy.add() function

import numpy as np

# define the matrices as NumPy arrays
matrix1 = np.array([[1, 2, 3],
                    [4, 5, 6],
                    [7, 8, 9]])

matrix2 = np.array([[10, 11, 12],
                    [13, 14, 15],
                    [16, 17, 18]])

# add the matrices using the numpy add function
result = np.add(matrix1, matrix2)

# print the result
print(result)

It is similar to the (+) operator shown in the above example, Instead of + we are using numpy.add() the function to add the two matrices together and store the result in the result variable. At last, we print the result matrix.

Output:

[[11 13 15]
 [17 19 21]
 [23 25 27]]

Process finished with exit code 0

Using List Comprehension

In this method, We are using list comprehension to add two matrices in Python.

Example:

# define the matrices
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]

matrix2 = [[10, 11, 12],
           [13, 14, 15],
           [16, 17, 18]]

# add the matrices using list comprehension
result = [[matrix1[i][j] + matrix2[i][j] for j in range(len(matrix1[0]))] for i in range(len(matrix1))]

# print the result
for row in result:
    print(row)

In the above example, we are using nested list comprehension to add the two matrices. Initially, we define the two matrices as a variable, then use list comprehension to iterate over each element of the matrices and add them together, and stored them in the variable result, We then print the result matrix to see the final result.

Output:

[11, 13, 15]
[17, 19, 21]
[23, 25, 27]

Process finished with exit code 0

Using the Zip Function

In this method, We are using zip() function to add two matrices in Python.

Example:

# define the matrices
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]

matrix2 = [[10, 11, 12],
           [13, 14, 15],
           [16, 17, 18]]

# add the matrices using the zip function
result = [[x + y for x, y in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]

# print the result
for row in result:
    print(row)

In the above example, we are using the zip() function to iterate over each row of the matrices simultaneously and add the corresponding elements together using list comprehension. We then store the result in the result matrix and print it.

Output:

[11, 13, 15]
[17, 19, 21]
[23, 25, 27]

Process finished with exit code 0

Using the map Function

In this method, We are going to use the map() function to add two matrices in Python.

Example:

# define the matrices
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]

matrix2 = [[10, 11, 12],
           [13, 14, 15],
           [16, 17, 18]]

# add the matrices using the map function
result = list(map(lambda x, y: list(map(sum, zip(x, y))), matrix1, matrix2))

# print the result
for row in result:
    print(row)

In the above example, we use the map() function along with lambda functions to add the two matrices. Initially, We use map() to iterate over each row, then use zip() to combine the corresponding elements of each row, use sum() to add them together. Once down, We can convert the resulting map object to a list and store it in the result matrix which can be printed

Output:

[11, 13, 15]
[17, 19, 21]
[23, 25, 27]

Process finished with exit code 0

Conclusion

In conclusion, adding two matrices in Python is the most used operation that comes up in multiple use cases. With the above-discussed methods, you should now be able to have an understanding of how to perform this operation and which method to use in which use case.

Good Luck with your Learning !!

Related Topics:

What datatype is represented by int in python 3

How to Use Python Print to stderr

What does pass do in Python?

Coding Spell Python Journey | About Us 

Jerry Richard R
Follow me