# Dot Product of Vectors in R Programming

• Last Updated : 25 Aug, 2020

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 librarylibrary(geometry)  # Taking two scalar valuesa = 5b = 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 librarylibrary(geometry)  # Taking two complex valuesa = 3 + 1ib = 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 librarylibrary(geometry)  # Taking two simple vectorsa = 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 librarylibrary(geometry)  # Taking two 2D arrayvector1 = 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

My Personal Notes arrow_drop_up