# Python program to add two matrices

Prerequisite : Arrays in Python, Loops, List Comprehension Program to compute the sum of two matrices and then print it in Python. We can perform matrix addition in various ways in Python. Here are a two of them. 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]]```

Using Nested Loops

## 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(N2), as we are traversing the matrix using nested loops.

Auxiliary Space: O(N*N), as we are using an extra space result matrix.

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.

Using nested list comprehension

Here is another approach for addition of two matrix addition using nested list comprehension.

## Python

 `# 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]```

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.

Time Complexity: O(N2), as we are traversing the matrix using nested loops.

Auxiliary Space: O(N*N), as we are using an extra space result matrix.

Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Previous
Next