# Linear Algebra - (Dot|Scalar|Inner) Product of two vectors

### Table of Contents

## 1 - About

A dot Product is the multiplication of two two equal-length sequences of numbers (usually coordinate vectors) that produce a scalar (single number)

Dot-product is also known as:

- scalar product
- or sometimes inner product in the context of Euclidean space,

The name:

- “dot product” is derived from the centered dot " · " that is often used to designate this operation.
- “scalar product” emphasizes the scalar (rather than vectorial) nature of the result (as in scalar multiplication)

## 2 - Articles Related

## 3 - Representation

For two vectors <math>u</math> and <math>v</math>, you may see the dot product of <math>u</math> and <math>v</math> represented as: <MATH>u \cdot v </MATH> or: <MATH> u^\top v </MATH>

## 4 - Definition

This operation can be defined either algebraically or geometrically.

### 4.1 - Algebraic

The sum of the products of the corresponding entries of the two sequences of numbers.

Dot-product of two D-vectors is sum of product of corresponding entries:

<MATH> u · v = \sum_{k \in D}{u_k.v_k} </MATH>

### 4.2 - Geometric

The product of the Euclidean magnitudes of the two vectors and the cosine of the angle between them.

<MATH> u.v = ||u|| ||v|| \cos \theta </MATH> where:

## 5 - Example

### 5.1 - Algebraic

- For traditional vectors u = [u1, . . . , un] and v = [v1, . . . , vn]:

<MATH> u · v = u_1.v_1 + u_2.v_2 + \dots + u_n.v_n </MATH>

- Dot-product of [1, 1, 1, 1, 1] and [10, 20, 0, 40,-100]

1 1 1 1 1 x 10 20 0 40 -100 = 10 + 20 + 0 + 40 + (-100) = -30

## 6 - Python Code

### 6.1 - Algebraic

def list_dot(u, v): return sum([a*b for (a,b) in zip(u,v)])

## 7 - Application

### 7.1 - A quantity and price vector

quantity = {"lemon": 2, "orange" : 3} price = {"lemon": 1.5, "orange" : 2} quantity x price = 2x1.5 + 2x3 = 9

### 7.2 - Similarity

Similarity calculation between vectors (See also The Fast Fourier Transform).

- When the value of the dot product is positive of maximal the two vectors tend to agree.
- When the value of the two vectors is negative of minimal the two vectors tend to disagree.

**Example: similarity in voting system:**
With a voting system (neutral:0, for:1, against:-1) if both values of two votes are 1, the corresponding term in the sum is 1. If both values are -1, the corresponding term in the sum is also 1. Thus a term in the sum that is 1 indicates agreement.