# Matrix Multiplication(dot Product) - Using Numpy.ndarray With Example

## Overview:

• To multiply two matrices A and B the matrices need not be of same shape. For example, a matrix of shape 3x2 and a matrix of shape 2x3 can be multiplied, resulting in a matrix shape of 3 x 3.

• Matrix multiplication is not commutative.

• Two matrices can be multiplied using the dot() method of numpy.ndarray which returns the dot product of two matrices.

## Example:

 import numpy as np import random   # Populate a 2 dimensional ndarray with random numbers between 2 to 10 def FillMatrix(matrix_in): for x in range(0, matrix_in.shape[0]): for y in range(0, matrix_in.shape[1]): matrix_in[x][y] = random.randrange(2, 10) + 2   # Create a matrix1 matrix1 = np.ndarray((3,3)) matrix2 = np.ndarray((3,3))   # Dot product of two matrices using ndarray newmatrix = matrix1.dot(matrix2)   # Print the Matrices print("Matrix multiplication using numpy ndarray - Matrix 1:") print("Matrix multiplication using numpy ndarray - Matrix 2:") print("Matrix multiplication using numpy ndarray - Multiplication results:")

## Output:

 Matrix multiplication using numpy ndarray - Matrix 1: [[ 10.   5.   4.]  [  5.   7.  11.]  [  4.  11.   4.]] Matrix multiplication using numpy ndarray - Matrix 2: [[  6.  11.   6.]  [  4.   5.   6.]  [ 10.   8.   6.]] Matrix multiplication using numpy ndarray - Multiplication results: [[ 120.  167.  114.]  [ 168.  178.  138.] [ 108.131.114.]]