How do you do matrix addition in python?

In this program, you'll learn to add two matrices using Nested loop and Next list comprehension, and display it.

To understand this example, you should have the knowledge of the following Python programming topics:

  • Python for Loop
  • Python List

In Python, we can implement a matrix as a nested list (list inside a list). We can treat each element as a row of the matrix.

For example X = [[1, 2], [4, 5], [3, 6]] would represent a 3x2 matrix. First row can be selected as X[0] and the element in first row, first column can be selected as X[0][0].

We can perform matrix addition in various ways in Python. Here are a couple of them.

Source code: Matrix Addition using Nested Loop

# Program to add two matrices using nested loop

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

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

result = [[0,0,0],
         [0,0,0],
         [0,0,0]]

# iterate through rows
for i in range(len(X)):
   # iterate through columns
   for j in range(len(X[0])):
       result[i][j] = X[i][j] + Y[i][j]

for r in result:
   print(r)

Output

[17, 15, 4]
[10, 12, 9]
[11, 13, 18]

In this program we have used nested for loops to iterate through each row and each column. At each point, we add the corresponding elements in the two matrices and store it in the result.

Source Code: Matrix Addition using Nested List Comprehension

# Program to add two matrices using list comprehension

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

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

result = [[X[i][j] + Y[i][j]  for j in range(len(X[0]))] for i in range(len(X))]

for r in result:
   print(r)

The output of this program is the same as above. We have used nested list comprehension to iterate through each element in the matrix.

List comprehension allows us to write concise codes and we must try to use them frequently in Python. They are very helpful.

Aim : Program to compute the sum of two matrices and then print it in Python. 

Examples: 

Input :
 X= [[1,2,3],
    [4 ,5,6],
    [7 ,8,9]]
 
Y = [[9,8,7],
    [6,5,4],
    [3,2,1]]
 
Output :
 result= [[10,10,10],
         [10,10,10],
         [10,10,10]]

We can perform matrix addition in following ways in Python.  

Using for loop: 

Implementation:

Python

X = [[1,2,3],

    [4 ,5,6],

    [7 ,8,9]]

Y = [[9,8,7],

    [6,5,4],

    [3,2,1]]

result = [[0,0,0],

        [0,0,0],

        [0,0,0]]

for i in range(len(X)):  

    for j in range(len(X[0])):

        result[i][j] = X[i][j] + Y[i][j]

for r in result:

    print(r)

Output

[10, 10, 10]
[10, 10, 10]
[10, 10, 10]

Time Complexity: O(len(X) * len(X[0])), as we are using nested loop for traversing the matrix.
Auxiliary Space: O(len(X) * len(X[0])), as we are using a result matrix which is extra space.

Another Approach:

  1. Explanation :- In this program we have used nested for loops to iterate through each row and each column. At each point we add the corresponding elements in the two matrices and store it in the result.
  2. Using nested list comprehension : In Python, we can implement a matrix as nested list (list inside a list). We can treat each element as a row of the matrix. 

Implementation:

Python

X = [[1,2,3],

    [4 ,5,6],

    [7 ,8,9]]

Y = [[9,8,7],

    [6,5,4],

    [3,2,1]]

result = [[X[i][j] + Y[i][j]  for j in range

(len(X[0]))] for i in range(len(X))]

for r in result:

    print(r)

Output

[10, 10, 10]
[10, 10, 10]
[10, 10, 10]

Time Complexity: O(len(X) * len(X[0])), as we are using nested loop for traversing the matrix.
Auxiliary Space: O(len(X) * len(X[0])), as we are using a result matrix which is extra space.

Another Approach:

  1. Explanation:- 
    The output of this program is the same as above. We have used nested list comprehension to iterate through each element in the matrix. List comprehension allows us to write concise codes and we must try to use them frequently in Python. They are very helpful.
  2. Using zip() and sum 

Implementation:

Python

X = [[1,2,3],

    [4 ,5,6],

    [7 ,8,9]]

Y = [[9,8,7],

    [6,5,4],

    [3,2,1]]

result = [map(sum, zip(*t)) for t in zip(X, Y)]

print(result)

Output

[[10, 10, 10], [10, 10, 10], [10, 10, 10]]

Time Complexity: O(len(X) * len(X[0])), as we are using zip function.
Auxiliary Space: O(len(X) * len(X[0])), as we are using extra space.

Explanation :- The zip function accepts iterator i of each element(list) of matrix, mapping them, adding them using sum() and storing them in the map form.

This article is contributed by ajay0007. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.


How do you add a matrix in Python?

In Python, we can implement a matrix as a nested list (list inside a list). We can treat each element as a row of the matrix. For example X = [[1, 2], [4, 5], [3, 6]] would represent a 3x2 matrix. First row can be selected as X[0] and the element in first row, first column can be selected as X[0][0] .

How do you find the sum of a matrix in Python?

Python numpy sum() function syntax The array elements are used to calculate the sum. If the axis is not provided, the sum of all the elements is returned. If the axis is a tuple of ints, the sum of all the elements in the given axes is returned. We can specify dtype to specify the returned output data type.

Which function is used to add two matrices in Python?

Explanation :- The zip function accepts iterator i of each element(list) of matrix, mapping them, adding them using sum() and storing them in the map form.

How do you combine two matrices in Python?

join two numpy 2d array.
import numpy as np..
a = np. array([[0, 1, 3], [5, 7, 9]]).
b = np. array([[0, 2, 4], [6, 8, 10]]).
c = np. concatenate((a, b), axis=0).
print(c).
Output :.