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.
# Program to add two matrices using nested loop 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]] # 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:
[10, 10, 10] [10, 10, 10] [10, 10, 10]
Time Complexity: O(len(X) * len(X[0]))
Auxiliary Space: O(len(X) * len(X[0]))
Another Approach:
# Program to add two matrices # using list comprehension 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]
Another Approach:
# Program to add two matrices # using zip() 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]]
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.