Dot Product of Vectors in R Programming
In mathematics, the dot product or also known as the scalar product is an algebraic operation that takes two equal-length sequences of numbers and returns a single number. Let us given two vectors A and B, and we have to find the dot product of two vectors.
Given that,
and,
where,
i: the unit vector along the x directions
j: the unit vector along the y directions
k: the unit vector along the z directions
Then the dot product is calculated as:
Example:
Given two vectors A and B as,
A = 3i + 5j + 4k,
and
B = 2i + 7j + 5k
Dot Product = 3 * 2 + 5 * 7 + 4 * 5 = 6 + 35 + 20 + 61
Computing Dot Product in R
R language provides a very efficient method to calculate the dot product of two vectors. By using dot() method which is available in the geometry library one can do so.
Syntax: dot(x, y, d = NULL)
Parameters:
x: Matrix of vectors
y: Matrix of vectors
d: Dimension along which to calculate the dot product
Return: Vector with length of dth dimension
Example 1:
R
# R Program illustrating # dot product of two vectors # Import the required library library (geometry) # Taking two scalar values a = 5 b = 7 # Calculating dot product using dot() print ( dot (a, b, d = TRUE )) |
Output:
[1] 35
Example 2:
R
# R Program illustrating # dot product of two vectors # Import the required library library (geometry) # Taking two complex values a = 3 + 1i b = 7 + 6i # Calculating dot product using dot() print ( dot (a, b, d = TRUE )) |
Output:
[1] 15+25i
Example 3:
R
# R Program illustrating # dot product of two vectors # Import the required library library (geometry) # Taking two simple vectors a = c (1, 4) b = c (7, 4) # Calculating dot product using dot() print ( dot (a, b, d = TRUE )) |
Output:
[1] 23
Example 4:
In this following example let’s take two 2D arrays and calculate the dot product of these two. To create a 2D array in R please refer Multidimensional Array in R.
R
# R Program illustrating # dot product of two vectors # Import the required library library (geometry) # Taking two 2D array vector1 = c (2, 1) vector2 = c (0, 3) a = array ( c (vector1, vector2), dim = c (2, 2)) vector1 = c (4, 2) vector2 = c (9, 3) b = array ( c (vector1, vector2), dim = c (2, 2)) # Calculating dot product using dot() print ( dot (a, b, d = TRUE )) |
Output:
[1] 10 9