Open In App

Dot Product of Vectors in R Programming

Last Updated : 18 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads