The Wayback Machine - https://web.archive.org/web/20241209015105/https://www.geeksforgeeks.org/dot-product-of-vectors-in-r-programming/
Open In App

Dot Product of Vectors in R Programming

Last Updated : 18 May, 2023
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

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

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

To determine b’s complex conjugate, we utilize the Conj() function. In our example, the Conj() function is provided by the pracma package, which we first install and load. Then, a and b, two complex numbers, are defined. The formula a1 * b1_conjugate + a2 * b2_conjugate +… is used to calculate the dot product of these two vectors, where b_conjugate is b’s complex conjugate.

R

# Install and load the pracma package
install.packages("pracma")
library(pracma)
# Define two complex numbers
a <- 3 + 1i
b <- 7 + 6i
# Compute the dot product using the conjugate of b
dot_prod <- sum(a * Conj(b))
# Print the result
print(dot_prod)

                    

Output:

[1] 27-11i

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 the 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


Next Article

Similar Reads

three90RightbarBannerImg