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, 

A = a_1i + a_2j + a_3k

and,

B = b_1i + b_2j + b_3k



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:

DotProduct = a_1 * b_1 + a_2 * b_2 + a_3 * b_3

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

[1] 35

Example 2:

R

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

[1] 15+25i

Example 3:

R

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

[1] 10  9



My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksForGeeks

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.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.