# Numpy dot Product

By | September 27, 2021

Numpy is one of the Powerful Python Data Science Libraries. It comes with a built-in robust Array data structure that can be used for many mathematical operations.

The numpy library supports many methods and `numpy.dot()` is one of those. Using the numpy dot() method we can calculate the dot product of two arrays.

The numpy` dot(array1,array2)`  method accepts two arrays as a parameter and returns their dot product or matrix multiplication.

## Numpy dot() syntax

``numpy.``dot`(array1, array2, out=None)`

#### Parameters

arrray1 and array2 represent the array-like structure.

The out parameter represents the output argument. By default its value is `None,` and if specified explicitly, it needs to be the exact kind of the return output of dot() method.

#### Return value

The dot() product return a `ndarray.`

#### Python numpy dot() method examples

Example1: Python dot() product if both array1 and array2 are 1-D arrays.

```>>> import numpy as np
>>> array1 = [1,2,3]
>>> array2 = [4,5,6]
>>> print(np.dot(array1, array2))
32```

If both the arrays are 1D, the `dot()` method performs the inner product between the arrays and returns the output as a number.

```>>>1*4 + 2*5 + 3*6
>>>4+10+18
32```

Example 2: Python dot() product if both array1 and array2 are 2-D arrays

```>>> import numpy as np
>>> array1 = [[4,0], [1,-9]]
>>> array2 = [[8,0],[2,-18]]
>>> print(np.dot(array1, array2))
[[ 32 0]
[-10 162]]```

If both the arrays are 2D, the dot will perform the matrix multiplication between them.

```>>>[[4*8 + 0*2, 4*0 + 0*-18 ]
[1*8 + -9*2, 1*0 + -9*-18 ]

>>>[[32, 0]
[-10, 162]]
```

Note: As a matrix multiplication the row size of `array1` must be equal to the column size of `array2` else, the dot() method throws a ValueError.

Example3: Python dot() product if either of array1 or array2 is a 0-D(scalar) array

```>>> import numpy as np
>>> array1 = 10
>>> array2 = [[8,0],[2,-18]]
>>> print(np.dot(array1, array2))
[[ 80 0]
[ 20 -180]]```

If one array of the either is a 0-D array, the `dot()`multiply the 0-D array with the other array.

### Summary

The numpy `dot()`method find out the product of two arrays based on their shape. Here are some important facts about `dot(array1, array2)` method of how it computes the product for different array shapes.

• If `array1,` and `array2` are 1-D array, the dot() method perform inner product between both the arrays.
• If `array1` and `array2` are 2D arrays, the numpy dot() method performs matrix multiplication between them.
• If anyone between the `array1` or `array2` is a scalar or 1d array, the numpy `dot()` method will multiply that 1d or scalar number with another array.
• If `array1` is an N-D array and `array2` is a 1-D array, then the numpy `dot()` method will calculate the sum-product over the last axis of `array1` and `array2.`
• If `array1`is an N-D array and `array2` is an M-D array (M>=2 ), then the `dot()` method will calculate the sum-product over the last axis of `array1` and second to the last axis of `array2.`