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

> Linear Algebra

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:

Advertising

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:

  • cos is the cosine
  • and <math>||u||</math> and <math>||v||</math> are the norm of each vector

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
Advertising

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.

See also Data Mining - Cosine Similarity (Measure of Angle)

8 - Documentation / Reference

Advertising
linear_algebra/dot_product.txt · Last modified: 2018/09/22 11:16 by gerardnico