# Dot product

In mathematics, the **dot product** or **scalar product**^{[note 1]} is an algebraic operation that takes two equal-length sequences of numbers (usually coordinate vectors), and returns a single number. In Euclidean geometry, the dot product of the Cartesian coordinates of two vectors is widely used. It is often called "the" **inner product** (or rarely **projection product**) of Euclidean space, even though it is not the only inner product that can be defined on Euclidean space (see Inner product space for more).

Algebraically, the dot product is the sum of the products of the corresponding entries of the two sequences of numbers. Geometrically, it is the product of the Euclidean magnitudes of the two vectors and the cosine of the angle between them. These definitions are equivalent when using Cartesian coordinates. In modern geometry, Euclidean spaces are often defined by using vector spaces. In this case, the dot product is used for defining lengths (the length of a vector is the square root of the dot product of the vector by itself) and angles (the cosine of the angle of two vectors is the quotient of their dot product by the product of their lengths).

The name "dot product" is derived from the centered dot " **·** ", that is often used to designate this operation;^{[1]} the alternative name "scalar product" emphasizes that the result is a scalar, rather than a vector, as is the case for the vector product in three-dimensional space.

The dot product may be defined algebraically or geometrically. The geometric definition is based on the notions of angle and distance (magnitude of vectors). The equivalence of these two definitions relies on having a Cartesian coordinate system for Euclidean space.

In modern presentations of Euclidean geometry, the points of space are defined in terms of their Cartesian coordinates, and Euclidean space itself is commonly identified with the real coordinate space **R**^{n}. In such a presentation, the notions of length and angles are defined by means of the dot product. The length of a vector is defined as the square root of the dot product of the vector by itself, and the cosine of the (non oriented) angle of two vectors of length one is defined as their dot product. So the equivalence of the two definitions of the dot product is a part of the equivalence of the classical and the modern formulations of Euclidean geometry.

The dot product of two vectors **a** = [*a*_{1}, *a*_{2}, …, *a*_{n}] and **b** = [*b*_{1}, *b*_{2}, …, *b*_{n}] is defined as:^{[2]}

where Σ denotes summation and *n* is the dimension of the vector space. For instance, in three-dimensional space, the dot product of vectors [1, 3, −5] and [4, −2, −1] is:

If vectors are identified with row matrices, the dot product can also be written as a matrix product

Expressing the above example in this way, a 1 × 3 matrix (row vector) is multiplied by a 3 × 1 matrix (column vector) to get a 1 × 1 matrix that is identified with its unique entry:

The scalar projection (or scalar component) of a Euclidean vector **a** in the direction of a Euclidean vector **b** is given by

In terms of the geometric definition of the dot product, this can be rewritten

The dot product, defined in this manner, is homogeneous under scaling in each variable, meaning that for any scalar *α*,

The dot product is thus equivalent to multiplying the norm (length) of **b** by the norm of the projection of **a** over **b**.

If **e**_{1}, ..., **e**_{n} are the standard basis vectors in **R**^{n}, then we may write

The vectors **e**_{i} are an orthonormal basis, which means that they have unit length and are at right angles to each other. Hence since these vectors have unit length

Also, by the geometric definition, for any vector **e**_{i} and a vector **a**, we note

where *a*_{i} is the component of vector **a** in the direction of **e**_{i}. The last step in the equality can be seen from the figure.

Now applying the distributivity of the geometric version of the dot product gives

which is precisely the algebraic definition of the dot product. So the geometric dot product equals the algebraic dot product.

The dot product fulfills the following properties if **a**, **b**, and **c** are real vectors and *r* is a scalar.^{[2]}^{[3]}

Given two vectors **a** and **b** separated by angle *θ* (see image right), they form a triangle with a third side **c** = **a** − **b**. The dot product of this with itself is:

There are two ternary operations involving dot product and cross product.

Its value is the determinant of the matrix whose columns are the Cartesian coordinates of the three vectors. It is the signed volume of the parallelepiped defined by the three vectors, and is isomorphic to the three-dimensional special case of the exterior product of three vectors.

This identity, also known as *Lagrange's formula*, may be remembered as "ACB minus ABC", keeping in mind which vectors are dotted together. This formula has applications in simplifying vector calculations in 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. For example:^{[10]}^{[11]}

For vectors with complex entries, using the given definition of the dot product would lead to quite different properties. For instance, the dot product of a vector with itself would be an arbitrary complex number, and could be zero without the vector being the zero vector (such vectors are called isotropic); this in turn would have consequences for notions like length and angle. Properties such as the positive-definite norm can be salvaged at the cost of giving up the symmetric and bilinear properties of the scalar product, through the alternative definition^{[12]}^{[2]}

In the case of vectors with real components, this definition is the same as in the real case. The scalar product of any vector with itself is a non-negative real number, and it is nonzero except for the zero vector. However, the complex scalar product is sesquilinear rather than bilinear, as it is conjugate linear and not linear in **a**. The scalar product is not symmetric, since

The complex scalar product leads to the notions of Hermitian forms and general inner product spaces, which are widely used in mathematics and physics.

The inner product of two vectors over the field of complex numbers is, in general, a complex number, and is sesquilinear instead of bilinear. An inner product space is a normed vector space, and the inner product of a vector with itself is real and positive-definite.

This notion can be generalized to continuous functions: 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 *a* ≤ *x* ≤ *b* (also denoted [*a*, *b*]):^{[2]}

Generalized further to complex functions *ψ*(*x*) and *χ*(*x*), by analogy with the complex inner product above, gives^{[2]}

A double-dot product for matrices is the Frobenius inner product, which is analogous to the dot product on vectors. It is defined as the sum of the products of the corresponding components of two matrices **A** and **B** of the same size:

Writing a matrix as a dyadic, we can define a different double-dot product (see Dyadics § Product of dyadic and dyadic,) however it is not an inner product.

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.

The straightforward algorithm for calculating a floating-point dot product of vectors can suffer from catastrophic cancellation. To avoid this, approaches such as the Kahan summation algorithm are used.