# numpy.dot() in Python

• Last Updated : 18 Nov, 2021

numpy.dot(vector_a, vector_b, out = None) returns the dot product of vectors a and b. It can handle 2D arrays but considers 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

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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

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

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

This article is contributed by Mohit Gupta_OMG ðŸ˜€. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.