numpy.dot() in Python
Last Updated :
18 Nov, 2022
Improve
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
- vector_a : [array_like] if a is complex its complex conjugate is used for the calculation of the dot product.
- vector_b : [array_like] if b is complex its complex conjugate is used for the calculation of the dot product.
- out : [array, optional] output argument must be C-contiguous, and its dtype must be the dtype that would be returned for dot(a,b).
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]]