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

### Table of Contents

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

## Articles Related

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

## Definition

This operation can be defined either algebraically or geometrically.

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

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

## Example

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

## Python Code

### Algebraic

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

## Application

### A quantity and price vector

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

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