# Difference between revisions of "Dot product"

{{#invoke:Hatnote|hatnote}}Template:Main other

In mathematics, the dot product, or scalar product (or sometimes inner product in the context of Euclidean space), is an algebraic operation that takes two equal-length sequences of numbers (usually coordinate vectors) and returns a single number obtained by multiplying corresponding entries and then summing those products. The name "dot product" is derived from the centered dot${\displaystyle \cdot }$ " that is often used to designate this operation; the alternative name "scalar product" emphasizes the scalar (rather than vector) nature of the result.

In Euclidean space, the inner product of two vectors (expressed in terms of coordinate vectors on an orthonormal basis) is the same as their dot product. However, in more general contexts (e.g., vector spaces that use complex numbers as scalars) the inner and the dot products are typically defined in ways that do not coincide.

In three dimensional space, the dot product contrasts with the cross product, which produces a vector as result. The dot product is directly related to the cosine of the angle between two vectors in Euclidean space of any number of dimensions.

## Definition (real vector spaces)

### Dot product

The dot product of two vectors a = [a1, a2, ..., an] and b = [b1, b2, ..., bn] is defined as:[1][2]

${\displaystyle \mathbf {a} \cdot \mathbf {b} =\sum _{i=1}^{n}a_{i}b_{i}=a_{1}b_{1}+a_{2}b_{2}+\cdots +a_{n}b_{n}}$

where Σ denotes summation notation and n is the dimension of the vector space.

• In two-dimensional space, the dot product of vectors [a, b] and [c, d] is ac + bd.
• Similarly, in a three-dimensional space, the dot product of vectors [a, b, c] and [d, e, f] is ad + be + cf. For example, if [1, 3, −5] and [4, −2, −1] their dot product is:
${\displaystyle [1,3,-5]\cdot [4,-2,-1]=(1)(4)+(3)(-2)+(-5)(-1)=4-6+5=3.}$

Given two column vectors, their dot product can also be obtained by multiplying the transpose of one vector with the other vector and extracting the unique coefficient of the resulting 1 × 1 matrix. The operation of extracting the coefficient of such a matrix can be written as taking its determinant or its trace (which is the same thing for 1 × 1 matrices); since in general AB = BA whenever AB or equivalently BA is a square matrix, one may write

${\displaystyle \mathbf {a} \cdot \mathbf {b} =\det(\mathbf {a} ^{\mathrm {T} }\mathbf {b} )=\det(\mathbf {b} ^{\mathrm {T} }\mathbf {a} )=\mathrm {tr} (\mathbf {a} ^{\mathrm {T} }\mathbf {b} )=\mathrm {tr} (\mathbf {b} ^{\mathrm {T} }\mathbf {a} )=\mathrm {tr} (\mathbf {a} \mathbf {b} ^{\mathrm {T} })=\mathrm {tr} (\mathbf {b} \mathbf {a} ^{\mathrm {T} })}$

More generally the coefficient (i, j) of a product of matrices is the dot product of the transpose of row i of the first matrix and column j of the second matrix.

### Inner product

The inner product generalizes the dot product to abstract vector spaces over the real numbers and is usually denoted by ${\displaystyle \langle {\mathbf {a} }\,,{\mathbf {b} }\rangle }$. More precisely, if V is a vector space over ℝ, the inner product is a function

${\displaystyle V\times V\rightarrow \mathbb {R} }$.

Owing to the geometric interpretation of the dot product, the norm ||a|| of a vector a in such an inner product space is defined as:[3]

${\displaystyle \|\mathbf {a} \|={\sqrt {\langle \mathbf {a} \,,\mathbf {a} \rangle }}}$

such that it generalizes length, and the angle θ between two vectors a and b by

${\displaystyle \cos {\theta }={\frac {\langle \mathbf {a} \,,\mathbf {b} \rangle }{\|\mathbf {a} \|\,\|\mathbf {b} \|}}.}$

In particular, two vectors are considered orthogonal if their inner product is zero

${\displaystyle \langle \mathbf {a} \,,\mathbf {b} \rangle =0.}$

## Geometric interpretation

In Euclidean geometry, the dot product of vectors expressed in an orthonormal basis is related to their length and angle. For such a vector a, the dot product a·b is the square of the length (magnitude) of a, denoted by ||a||:[4][5][6]

${\displaystyle {\mathbf {a} \cdot \mathbf {a} }=\left\|\mathbf {a} \right\|^{2}}$

If b is another such vector, and θ is the angle between them:

${\displaystyle \mathbf {a} \cdot \mathbf {b} =\left\|\mathbf {a} \right\|\,\left\|\mathbf {b} \right\|\cos \theta \,}$

This formula can be rearranged to determine the size of the angle between two nonzero vectors:

${\displaystyle \theta =\arccos \left({\frac {{\mathbf {a}}\cdot {\mathbf {b}}}{\left\|{\mathbf {a}}\right\|\left\|{\mathbf {b}}\right\|}}\right).}$

The Cauchy–Schwarz inequality guarantees that the argument of arccos is valid.

One can also first convert the vectors to unit vectors by dividing by their magnitude:

${\displaystyle {\mathbf {\hat {a}}}={\frac {\mathbf {a}}{\left\|{\mathbf {a}}\right\|}}}$

then the angle θ is given by

${\displaystyle \theta =\arccos({\mathbf {\hat {a}}}\cdot {\mathbf {\hat {b}}}).}$

The terminal points of both unit vectors lie on the unit circle. The unit circle is where the trigonometric values for the six trig functions are found. After substitution, the first vector component is cosine and the second vector component is sine, i.e. (cos x, sin x) for some angle x. The dot product of the two unit vectors then takes (cos x, sin x) and (cos y, sin y) for angles x and y and returns

${\displaystyle \cos x\,\cos y+\sin x\,\sin y=\cos(x-y)}$

where xy = θ.

Note that the above method will determine the smallest of the two possible angles — it will never be more than 180°, as the value of the cosine is symmetric between the upper and lower halves of the unit circle.

As the cosine of 90° is zero, the dot product of two orthogonal vectors is always zero. Moreover, two vectors can be considered orthogonal if and only if their dot product is zero, and they have non-null length. This property provides a simple method to test the condition of orthogonality.

Sometimes these properties are also used for "defining" the dot product, especially in 2 and 3 dimensions; this definition is equivalent to the above one. For higher dimensions the formula can be used to define the concept of angle.

The geometric properties rely on the basis being orthonormal, i.e. composed of pairwise perpendicular vectors with unit length.

### Scalar projection

If both a and b have length equal to unity (i.e., they are unit vectors), their dot product simply gives the cosine of the angle between them.[7]

If only b is a unit vector, then the dot product a·b gives ||a||cos θ, i.e., the magnitude of the projection of a in the direction of b, with a minus sign if the direction is opposite. This is called the scalar projection of a onto b, or scalar component of a in the direction of b (see figure). This property of the dot product has several useful applications (for instance, see next section).

If neither a nor b is a unit vector, then the magnitude of the projection of a in the direction of b is ${\displaystyle \mathbf {a} \cdot {\frac {\mathbf {b} }{\left\|\mathbf {b} \right\|}}}$, as the unit vector in the direction of b is ${\displaystyle {\frac {\mathbf {b} }{\left\|\mathbf {b} \right\|}}}$.

### Rotation

When an orthonormal basis that the vector a is represented in terms of is rotated, a's matrix in the new basis is obtained through multiplying a by a rotation matrix R. This matrix multiplication is just a compact representation of a sequence of dot products.

For instance, let

• B1 = {x, y, z} and B1 = {u, v, w} be two different orthonormal bases of the same space ℝ3, with B2 obtained by just rotating B1,
• a2 = (ax, ay, az) represent vector a in terms of B1,
• a2 = (au, av, aw) represent the same vector in terms of the rotated basis B2,
• u1, v1, w1, be the rotated basis vectors u, v, w represented in terms of B1.

Then the rotation from B1 to B2 is performed as follows:

${\displaystyle {\mathbf {a}}_{2}={\mathbf {Ra}}_{1}={\begin{bmatrix}u_{x}&u_{y}&u_{z}\\v_{x}&v_{y}&v_{z}\\w_{x}&w_{y}&w_{z}\end{bmatrix}}{\begin{bmatrix}a_{x}\\a_{y}\\a_{z}\end{bmatrix}}={\begin{bmatrix}{\mathbf {u}}_{1}\cdot {\mathbf {a}}_{1}\\{\mathbf {v}}_{1}\cdot {\mathbf {a}}_{1}\\{\mathbf {w}}_{1}\cdot {\mathbf {a}}_{1}\end{bmatrix}}={\begin{bmatrix}a_{u}\\a_{v}\\a_{w}\end{bmatrix}}.}$

Notice that the rotation matrix R is assembled by using the rotated basis vectors u1, v1, w1 as its rows, and these vectors are unit vectors. By definition, Ra1 consists of a sequence of dot products between each of the three rows of R and vector a1. Each of these dot products determines a scalar component of a in the direction of a rotated basis vector (see previous section).

If a1 is a row vector, rather than a column vector, then R must contain the rotated basis vectors in its columns, and must post-multiply a1:

${\displaystyle {\mathbf {a}}_{2}={\mathbf {a}}_{1}{\mathbf {R}}={\begin{bmatrix}a_{x}&a_{y}&a_{z}\end{bmatrix}}{\begin{bmatrix}u_{x}&v_{x}&w_{x}\\u_{y}&v_{y}&w_{y}\\u_{z}&v_{z}&w_{z}\end{bmatrix}}={\begin{bmatrix}{\mathbf {u}}_{1}\cdot {\mathbf {a}}_{1}&{\mathbf {v}}_{1}\cdot {\mathbf {a}}_{1}&{\mathbf {w}}_{1}\cdot {\mathbf {a}}_{1}\end{bmatrix}}={\begin{bmatrix}a_{u}&a_{v}&a_{w}\end{bmatrix}}.}$

## Physics

In physics, vector magnitude is a scalar in the physical sense, i.e. a physical quantity independent of the coordinate system, expressed as the product of a numerical value and a physical unit, not just a number. The dot product is also a scalar in this sense, given by the formula, independent of the coordinate system. Examples inlcude:[8][9]

## Properties

The following properties hold if a, b, and c are real vectors and r is a scalar.[10][11]

The dot product is commutative:

${\displaystyle {\mathbf {a} }\cdot {\mathbf {b} }={\mathbf {b} }\cdot {\mathbf {a} }.}$

The dot product is distributive over vector addition:

${\displaystyle {\mathbf {a} }\cdot ({\mathbf {b} }+{\mathbf {c} })={\mathbf {a} }\cdot {\mathbf {b} }+{\mathbf {a} }\cdot {\mathbf {c} }.}$

The dot product is bilinear:

${\displaystyle \mathbf {a} \cdot (r\mathbf {b} +\mathbf {c} )=r(\mathbf {a} \cdot \mathbf {b} )+(\mathbf {a} \cdot \mathbf {c} ).}$

When multiplied by a scalar value, dot product satisfies:

${\displaystyle (c_{1}\mathbf {a} )\cdot (c_{2}\mathbf {b} )=(c_{1}c_{2})(\mathbf {a} \cdot \mathbf {b} )}$

(these last two properties follow from the first two).

Two non-zero vectors a and b are orthogonal if and only if ab = 0.

Unlike multiplication of ordinary numbers, where if ab = ac, then b always equals c unless a is zero, the dot product does not obey the cancellation law:

If ab = ac and a0, then we can write: a • (bc) = 0 by the distributive law; the result above says this just means that a is perpendicular to (bc), which still allows (bc) ≠ 0, and therefore bc.

Provided that the basis is orthonormal, the dot product is invariant under isometric changes of the basis: rotations, reflections, and combinations, keeping the origin fixed. The above mentioned geometric interpretation relies on this property. In other words, for an orthonormal space with any number of dimensions, the dot product is invariant under a coordinate transformation based on an orthogonal matrix. This corresponds to the following two conditions:

• The new basis is again orthonormal (i.e., it is orthonormal expressed in the old one).
• The new base vectors have the same length as the old ones (i.e., unit length in terms of the old basis).

If a and b are functions, then the derivative of ab is a'b + ab'

## Triple product expansion

{{#invoke:main|main}}

This is a very useful identity (also known as Lagrange's formula) involving the dot- and cross-products. It is written as:[12][13]

${\displaystyle {\mathbf {a} }\times ({\mathbf {b} }\times {\mathbf {c} })={\mathbf {b} }({\mathbf {a} }\cdot {\mathbf {c} })-{\mathbf {c} }({\mathbf {a} }\cdot {\mathbf {b} })}$

which is easier to remember as "BAC minus CAB", keeping in mind which vectors are dotted together. This formula is commonly used to simplify vector calculations in physics.

## Proof of the geometric interpretation

Consider the element of Rn

${\displaystyle \mathbf {v} =v_{1}\mathbf {\hat {e}} _{1}+v_{2}\mathbf {\hat {e}} _{2}+...+v_{n}\mathbf {\hat {e}} _{n}.\,}$

Repeated application of the Pythagorean theorem yields for its length |v|

${\displaystyle |\mathbf {v} |^{2}=v_{1}^{2}+v_{2}^{2}+...+v_{n}^{2}.\,}$

But this is the same as

${\displaystyle \mathbf {v} \cdot \mathbf {v} =v_{1}^{2}+v_{2}^{2}+...+v_{n}^{2},\,}$

so we conclude that taking the dot product of a vector v with itself yields the squared length of the vector.

Lemma 1
${\displaystyle \mathbf {v} \cdot \mathbf {v} =|\mathbf {v} |^{2}.\,}$

Now consider two vectors a and b extending from the origin, separated by an angle θ. A third vector c may be defined as

${\displaystyle \mathbf {c} \ {\stackrel {\mathrm {def} }{=}}\ \mathbf {a} -\mathbf {b} .\,}$

creating a triangle with sides a, b, and c. According to the law of cosines, we have

${\displaystyle |\mathbf {c} |^{2}=|\mathbf {a} |^{2}+|\mathbf {b} |^{2}-2|\mathbf {a} ||\mathbf {b} |\cos \theta .\,}$

Substituting dot products for the squared lengths according to Lemma 1, we get

But as cab, we also have

${\displaystyle \mathbf {c} \cdot \mathbf {c} =(\mathbf {a} -\mathbf {b} )\cdot (\mathbf {a} -\mathbf {b} ),\,}$

which, according to the distributive law, expands to

Merging the two cc equations, (Template:EquationNote) and (Template:EquationNote), we obtain

${\displaystyle \mathbf {a} \cdot \mathbf {a} +\mathbf {b} \cdot \mathbf {b} -2(\mathbf {a} \cdot \mathbf {b} )=\mathbf {a} \cdot \mathbf {a} +\mathbf {b} \cdot \mathbf {b} -2|\mathbf {a} ||\mathbf {b} |\cos \theta .\,}$

Subtracting aa + bb from both sides and dividing by −2 leaves

${\displaystyle \mathbf {a} \cdot \mathbf {b} =|\mathbf {a} ||\mathbf {b} |\cos \theta .\,}$

## Generalizations

### Complex vectors

For vectors with complex entries, using the given definition of the dot product would lead to quite different geometric properties. For instance the dot product of a vector with itself can be an arbitrary complex number, and can be zero without the vector being the zero vector (such vectors are called isotropic); this in turn would have severe consequences for notions like length and angle. Many geometric properties can be salvaged, at the cost of giving up the symmetric and bilinear properties of the scalar product, by alternatively defining:[14]

${\displaystyle {\mathbf {a} }\cdot {\mathbf {b} }=\sum {a_{i}{\overline {b_{i}}}}}$

where bi is the complex conjugate of bi. Then the scalar product of any vector with itself is a non-negative real number, and it is nonzero except for the zero vector. However this scalar product is not linear in b (but rather conjugate linear), and the scalar product is not symmetric either, since

${\displaystyle {\mathbf {a} }\cdot {\mathbf {b} }={\overline {{\mathbf {b} }\cdot {\mathbf {a} }}}.}$

The angle between two complex vectors is then given by

${\displaystyle \cos \theta ={\frac {\operatorname {Re} ({\mathbf {a} }\cdot {\mathbf {b} })}{\|{\mathbf {a} }\|\,\|{\mathbf {b} }\|}}.}$

This type of scalar product is nevertheless quite useful, and leads to the notions of Hermitian form and of general inner product spaces.

### Functions

Vectors have a discrete number of entries, that is, an integer correspondence between natural number indices and the entries.

A function f(x) is the continuous analogue: an uncountably infinite number of entries where the correspondance is between the variable x and value f(x) (see domain of a function for details).

Just as the inner product on vectors uses a sum over corresponding components, the inner product on functions is defined as an integral over some interval. For example, a the inner product of two real continuous functions u(x), v(x) may be defined on the interval axb (also denoted [a, b]):[15]

${\displaystyle (u,v)\equiv \langle u,v\rangle =\int _{a}^{b}f(x)g(x)dx}$

This can be generalized to complex functions ψ(x) and χ(x), by analogy with the complex inner product above:[16]

${\displaystyle (\psi ,\chi )\equiv \langle \psi ,\chi \rangle =\int _{a}^{b}\psi (x){\overline {\chi (x)}}dx.}$

### Weight function

Inner products can have a weight function, i.e. a function which weight each term of the inner product with a value.

Matrices have the Frobenius inner product, which is analogous to the vector inner product. It is defined as the sum of the products of the corresponding components of two matrices A and B having the same size:

${\displaystyle {\mathbf {A}}:{\mathbf {B}}=\sum _{i}\sum _{j}A_{ij}B_{ij}}$

### Tensors

The inner product between a tensor of order n and a tensor of order m is a tensor of order n + m − 2, see tensor contraction for details.

## References

1. {{#invoke:citation/CS1|citation |CitationClass=book }}
2. {{#invoke:citation/CS1|citation |CitationClass=book }}
3. {{#invoke:citation/CS1|citation |CitationClass=book }}
4. {{#invoke:citation/CS1|citation |CitationClass=book }}
5. {{#invoke:citation/CS1|citation |CitationClass=book }}
6. {{#invoke:citation/CS1|citation |CitationClass=book }}
7. {{#invoke:citation/CS1|citation |CitationClass=book }}
8. {{#invoke:citation/CS1|citation |CitationClass=book }}
9. {{#invoke:citation/CS1|citation |CitationClass=book }}
10. {{#invoke:citation/CS1|citation |CitationClass=book }}
11. {{#invoke:citation/CS1|citation |CitationClass=book }}
12. {{#invoke:citation/CS1|citation |CitationClass=book }}
13. {{#invoke:citation/CS1|citation |CitationClass=book }}
14. {{#invoke:citation/CS1|citation |CitationClass=book }}
15. {{#invoke:citation/CS1|citation |CitationClass=book }}
16. {{#invoke:citation/CS1|citation |CitationClass=book }}