Dot product
From Wikipedia, the free encyclopedia
In mathematics, the dot product, also known as the scalar product, is a binary operation which takes two vectors over the real numbers R and returns a real-valued scalar quantity. It is the standard inner product of the Euclidean space.
Contents |
The dot product of two vectors (from an orthonormal vector space) a = [a1, a2, … , an] and b = [b1, b2, … , bn] is by definition:
where Σ denotes summation notation.
For example, the dot product of two three-dimensional vectors [1, 3, −5] and [4, −2, −1] is
Using matrix multiplication and treating the (column) vectors as n×1 matrices, the dot product can also be written as:
where aT denotes the transpose of the matrix a.
Using the example from above, this would result in a 1×3 matrix (i.e., vector) multiplied by a 3×1 vector (which, by virtue of the matrix multiplication, results in a 1×1 matrix, i.e., a scalar):
In the Euclidean space there is a strong relationship between the dot product and lengths and angles. For a vector a, a•a is the square of its length, and, more generally, if b is another vector
where
Since |a|•cos(θ) is the scalar projection of a onto b, the dot product can be understood geometrically as the product of this projection with the length of b.
As the cosine of 90° is zero, the dot product of two perpendicular vectors is always zero. If a and b have length one (they are unit vectors), the dot product simply gives the cosine of the angle between them. Thus, given two vectors, the angle between them can be found by rearranging the above formula:
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 of vectors being perpendicular and having unit length: either we start with such a basis, or we use an arbitrary basis and define length and angle (including perpendicularity) with the above.
As the geometric interpretation shows, the dot product is invariant under isometric changes of the basis: rotations, reflections, and combinations, keeping the origin fixed.
In other words, and more generally for any n, 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)
In physics, 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. The formula in terms of coordinates is evaluated with not just numbers, but numbers times units. Therefore, although it relies on the basis being orthonormal, it does not depend on scaling.
Example:
- Mechanical work is the dot product of force and displacement.
The following properties hold if a, b, and c are vectors and r is a scalar.
The dot product is commutative:
The dot product is bilinear:
The dot product is distributive:
When multiplied by a scalar value, dot product satisfies:
(these last two properties follow from the first two).
Two non-zero vectors a and b are perpendicular if and only if a • b = 0.
If b is a unit vector, then the dot product gives the magnitude of the projection of a in the direction b, with a minus sign if the direction is opposite. Decomposing vectors is often useful for conveniently adding them, e.g. in the calculation of net force in mechanics.
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 a • b = a • c and a ≠ 0:
- then we can write: a • (b - c) = 0 by the distributive law; and from the previous result above:
- If a is perpendicular to (b - c), we can have (b - c) ≠ 0 and therefore b ≠ c.
An inner product can be represented as a matrix. For example, given two vectors
with respect to the basis set S
any inner product can be represented as follows.
where M is the 3x3 matrix representation of the inner product. Given the matrix of the inner product through S called CS, M can be calculated by solving the following system of equations.

Given a basis set
and a matrix of the inner product through S
we can set each element of CS equal to the inner product of two of the basis vectors as follows
- CS[i,j] = < S[i],S[j] >
which gives nine equations and nine unknowns. Solving these equations yields

The inner product generalizes the dot product to abstract vector spaces, it is normally denoted by 〈a, b〉. Due to the geometric interpretation of the dot product the norm ||a|| of a vector a in such an inner product space is defined as
such that it generalizes length, and the angle θ between two vectors a and b by
In particular, two vectors are considered orthogonal if their dot product is zero
The Frobenius inner product defines an inner product on matrices as though they are two-dimensional vectors, summing up the products of corresponding components.
Note: This proof is shown for 3-dimensional vectors, but is readily extendable to n-dimensional vectors.
Consider a vector
Repeated application of the Pythagorean theorem yields for its length v
But this is the same as
so we conclude that taking the dot product of a vector v with itself yields the squared length of the vector.
- Lemma 1

Now consider two vectors a and b extending from the origin, separated by an angle θ. A third vector c may be defined as
creating a triangle with sides a, b, and c. According to the law of cosines, we have
Substituting dot products for the squared lengths according to Lemma 1, we get
(1)
But as c ≡ a − b, we also have
,
which, according to the distributive law, expands to
(2)
Merging the two c • c equations, (1) and (2), we obtain
Subtracting a • a + b • b from both sides and dividing by −2 leaves















![\mathrm{C_S}[0,0] = 5 = <\mathrm{u},\mathrm{u}> = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} \cdot \mathrm{M} \cdot \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}](../../../math/b/e/9/be9329b1669c5db1bfc7b3fabf254708.png)
![\mathrm{C_S}[0,1] = 2 = <\mathrm{u},\mathrm{v}> = \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} \cdot \mathrm{M} \cdot \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix}](../../../math/3/e/d/3ed47af56dabc06e760f4f319c8d95e0.png)










