# Adding Two Matrices Using Numpy.ndarray With Example

## Adding two matrices - Two dimensional ndarray objects:

• For adding two matrixes together both the matrices should have equal number of rows and columns.

• To add two matrices corresponding elements of each matrix are added and placed in the same position in the resultant matrix.

• The result of the matrix addition is a matrix of the same number of rows and columns.

• ndarray of NumPy module supports matrix addition through the method __add__() which adds two ndarray objects of the same shape and returns the sum as another ndarray object.

## Example:

 # import numpy module import numpy as np   # import python standard library module - random import random   # Routine for printing a 2x2 matrix def PrintMatrix(matrix_in):     for x in range(0, matrix_in.shape):         for y in range(0, matrix_in.shape):             print("%d \t"%(matrix_in[x][y]), end='')             if(y%3>1):                 print("\n")      # Function to populate a 2x2 matrix with random data def FillMatrix(matrix_in):     for x in range(0, matrix_in.shape):         for y in range(0, matrix_in.shape):             matrix_in[x][y] = random.randrange(2, 10) + 2   # Create matrices using ndarray matrix1 = np.ndarray((3,3)) matrix2 = np.ndarray((3,3))   # Fill the matrices i.e., the two dimensional arrays created using ndarray objects FillMatrix(matrix1) FillMatrix(matrix2)   # Add two matrices - two nd arrays add_results = matrix1.__add__(matrix2)   # Print Matrix1 print("Matrix1:") PrintMatrix(matrix1)   # Print Matrix2 print("Matrix2:") PrintMatrix(matrix2)   # Print the results of adding two matrices print("Result of adding Matrix1 and Matrix2:") PrintMatrix(add_results)

## Output:

 Matrix1: 8   4   7     7   9   7     11 9   7     Matrix2: 5   7   5     7   11 10   9   11 5     Result of adding Matrix1 and Matrix2: 13 11 12   14 20 17   20 20 12