# Python Program to Add Two Matrices

Given two matrices X and Y, the task is 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]]```

### Add Two Matrices Using for loop

Here we will use for loop with two matrices for adding the elements

## 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])), 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.

### Add Two Matrices Using List comprehension

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 : 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.

Below is the implementation:

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

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.

### Add Two Matrices Using zip() function

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.

Below is the implementation:

## Python

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

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.

### Add Two Matrices Using Numpy

The numpy library has a built-in overload of the operator +, that allows one to perform the addition of matrices.

Below is the implementation:

## Python3

 `# Program to add two matrices` `# using numpy`   `import` `numpy as np` ` `  `X ``=` `[[``1``,``2``,``3``],` `    ``[``4` `,``5``,``6``],` `    ``[``7` `,``8``,``9``]]` ` `  `Y ``=` `[[``9``,``8``,``7``],` `    ``[``6``,``5``,``4``],` `    ``[``3``,``2``,``1``]]`   `result ``=` `np.array(X) ``+` `np.array(Y)`   `print``(result)`

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]))

### Add Two Matrices Using SymPy

To add matrices using a library, you can use the Matrix class provided in the SymPy library.

Here’s an example of how to use it:

## Python3

 `from` `sympy ``import` `Matrix`   `X ``=` `[[``1``, ``2``, ``3``],` `     ``[``4``, ``5``, ``6``],` `     ``[``7``, ``8``, ``9``]]`   `Y ``=` `[[``9``, ``8``, ``7``],` `     ``[``6``, ``5``, ``4``],` `     ``[``3``, ``2``, ``1``]]`   `# Create Matrix objects from the lists` `matrix_x ``=` `Matrix(X)` `matrix_y ``=` `Matrix(Y)`   `# Add the matrices` `result ``=` `matrix_x ``+` `matrix_y`   `# Print the result` `print``(result)`

Output:

```Matrix([
[10, 10, 10],
[10, 10, 10],
[10, 10, 10]])```

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