# numpy.dot() in Python

`numpy.dot(vector_a, vector_b, out = None)` returns the dot product of vectors a and b. It can handle 2D arrays but considering them as matrix and will perform matrix multiplication. For N dimensions it is a sum product over the last axis of a and the second-to-last of b :

``dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m]) ``

Parameters –

1. vector_a : [array_like] if a is complex its complex conjugate is used for the calculation of the dot product.
2. vector_b : [array_like] if b is complex its complex conjugate is used for the calculation of the dot product.
3. out : [array, optional] output argument must be C-contiguous, and its dtype must be the dtype that would be returned for dot(a,b).

Return –

Dot Product of vectors a and b. if vector_a and vector_b are 1D, then scalar is returned

Code 1 –

 `# Python Program illustrating ` `# numpy.dot() method ` ` `  `import` `numpy as geek ` ` `  `# Scalars ` `product ``=` `geek.dot(``5``, ``4``) ` `print``(``"Dot Product of scalar values  : "``, product) ` ` `  `# 1D array ` `vector_a ``=` `2` `+` `3j` `vector_b ``=` `4` `+` `5j` ` `  `product ``=` `geek.dot(vector_a, vector_b) ` `print``(``"Dot Product  : "``, product) `

Output –

```Dot Product of scalar values  :  20
Dot Product  :  (-7+22j)
```

How Code1 works ?
vector_a = 2 + 3j
vector_b = 4 + 5j

now dot product
= 2(4 + 5j) + 3j(4 – 5j)
= 8 + 10j + 12j – 15
= -7 + 22j

Code 2 –

 `# Python Program illustrating ` `# numpy.dot() method ` ` `  `import` `numpy as geek ` ` `  `# 1D array ` `vector_a ``=` `geek.array([[``1``, ``4``], [``5``, ``6``]]) ` `vector_b ``=` `geek.array([[``2``, ``4``], [``5``, ``2``]]) ` ` `  `product ``=` `geek.dot(vector_a, vector_b) ` `print``(``"Dot Product  : \n"``, product) ` ` `  `product ``=` `geek.dot(vector_b, vector_a) ` `print``(``"\nDot Product  : \n"``, product) ` ` `  `"""  ` `Code 2 : as normal matrix multiplication ` `"""`

Output –

```Dot Product  :
[[22 12]
[40 32]]

Dot Product  :
[[22 32]
[15 32]]
```

References –
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.dot.html
.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.