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. This operation can be defined either algebraically or geometrically. Algebraically, it is the sum of the products of the corresponding entries of the two sequences of numbers. Geometrically, it is the product of the magnitudes of the two vectors and the cosine of the angle between them. The name "dot product" is derived from the centered dot$\cdot$ " that is often used to designate this operation; the alternative name "scalar product" emphasizes the scalar (rather than vectorial) nature of the result.

In three-dimensional space, the dot product contrasts with the cross product of two vectors, which produces a pseudovector as the 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

The dot product is often defined in one of two ways: algebraically or geometrically. Equivalence of these definitions is proven later.

### Algebraic definition

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

$\mathbf{a}\cdot \mathbf{b} = \sum_{i=1}^n a_ib_i = a_1b_1 + a_2b_2 + \cdots + a_nb_n = \mathbf{a} \, \mathbf{b}^\mathrm{T}$

where Σ denotes summation notation and n is the dimension of the vector space. In the last equality, we assumed a and b to be row vectors, bT denotes the matrix transpose of b and the multiplication is a matrix product.

• 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:
$[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.

### Geometric definition

In Euclidean space, a Euclidean vector is a geometrical object that possesses both a magnitude and a direction. A vector can be pictured as an arrow. Its magnitude is its length, and its direction is the direction the arrow points. The magnitude of a vector A is denoted by $\|\mathbf{A}\|$. The dot product of two Euclidean vectors A and B is defined by[2]

$\mathbf A\cdot\mathbf B = \|\mathbf A\|\,\|\mathbf B\|\cos\theta$

where θ is the angle between A and B.

In particular, if A and B are orthogonal, then the angle between them is 90°, so in that case

$\mathbf A\cdot\mathbf B=0.$

At the other extreme, if B = A, then the angle is 0°, and the dot product is just the length of A squared:

$\mathbf A\cdot\mathbf A = \|\mathbf A\|^2$

### Scalar projection and the equivalence of the definitions

Scalar projection

The scalar projection of a Euclidean vector A onto a Euclidean vector B is given by

$A_B=\|\mathbf A\|\cos\theta$

where θ is the angle between A and B. In terms of the geometric definition of the dot product, this can be rewritten

$A_B = \mathbf A\cdot\widehat{\mathbf B}$

where $\widehat{\mathbf B} = \mathbf B/\|\mathbf B\|$ is the unit vector in the direction of B.

Distributive law for the dot product

The dot product is thus characterized geometrically by[3]

$\mathbf A\cdot\mathbf B = A_B\|\mathbf{B}\|=B_A\|\mathbf{A}\|.$

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

$(\alpha\mathbf{A})\cdot\mathbf B=\alpha(\mathbf A\cdot\mathbf B)=\mathbf A\cdot(\alpha\mathbf B).$

It also satisfies a distributive law, meaning that

$\mathbf A\cdot(\mathbf B+\mathbf C) = \mathbf A\cdot\mathbf B+\mathbf A\cdot\mathbf C.$

As a consequence, if $\mathbf e_1,\dots,\mathbf e_n$ are the standard basis vectors in $\mathbb{R}^n$, then writing

\begin{align} \mathbf A &= [A_1,\dots,A_n] = \sum_i A_i\mathbf e_i\\ \mathbf B &= [B_1,\dots,B_n] = \sum_i B_i\mathbf e_i \end{align}

we have

$\mathbf A\cdot\mathbf B = \sum_i B_i(\mathbf A\cdot\mathbf e_i) = \sum_i B_iA_i$

which is precisely the algebraic definition of the dot product. More generally, the same identity holds with the ei replaced by any orthonormal basis.

## Properties

The dot product fulfils the following properties if a, b, and c are real vectors and r is a scalar.[1][2]

1. Commutative:
$\mathbf{a} \cdot \mathbf{b} = \mathbf{b} \cdot \mathbf{a}.$
$\mathbf{a} \cdot (\mathbf{b} + \mathbf{c}) = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \cdot \mathbf{c}.$
3. Bilinear
$\mathbf{a} \cdot (r\mathbf{b} + \mathbf{c}) = r(\mathbf{a} \cdot \mathbf{b}) +(\mathbf{a} \cdot \mathbf{c}).$
4. Scalar multiplication:
$(c_1\mathbf{a}) \cdot (c_2\mathbf{b}) = (c_1c_2) (\mathbf{a} \cdot \mathbf{b})$

Properties 3 and 4 follow from 1 and 2.

5. Orthogonal: Two non-zero vectors a and b are orthogonal if and only if ab = 0.
6. No cancellation: 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.
7. Invariance under isometric changes of basis: 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).
8. Derivative: If a and b are functions, then the derivative (denoted by a prime ′) of ab is a′ ⋅ b + ab′.

### Application to the cosine law

Triangle with vector edges a and b, separated by angle θ.

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:

\begin{align} \mathbf{c}\cdot\mathbf{c} & = (\mathbf{a}-\mathbf{b})\cdot(\mathbf{a}-\mathbf{b}) \\ & =\mathbf{a}\cdot\mathbf{a} - \mathbf{a}\cdot\mathbf{b} - \mathbf{b}\cdot\mathbf{a} + \mathbf{b}\cdot\mathbf{b}\\ & = a^2 - \mathbf{a}\cdot\mathbf{b} - \mathbf{a}\cdot\mathbf{b} + b^2\\ & = a^2 - 2\mathbf{a}\cdot\mathbf{b} + b^2\\ c^2 & = a^2 + b^2 - 2ab\cos \theta\\ \end{align}

which is the law of cosines.

## Triple product expansion

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

$\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.

## 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 include:[4][5]

## Generalizations

### Complex vectors

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[1]

$\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 thus sesquilinear rather than bilinear: it is conjugate linear and not linear in b, and the scalar product is not symmetric, since

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

The angle between two complex vectors is then given by

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

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

### Inner product

The inner product is usually denoted by $\langle\mathbf{a}\, , \mathbf{b}\rangle$. It generalizes the dot product to abstract vector spaces over the field of scalars denoted $\mathbb{F}$, which means either the field of real numbers $\mathbb{R}$ or the field of complex numbers $\mathbb{C}$. More precisely, if V is a vector space over $\mathbb{F}$, the inner product is a function

$V\times V \rightarrow \mathbb{F}$.

that satisfies the following properties:

$\langle\mathbf{a}\, , \mathbf{a}\rangle \geq 0$ with $\langle\mathbf{a}\, , \mathbf{a}\rangle =0$ if and only if $\mathbf{a}=\mathbf{0}$
$\langle\mathbf{a}\, , \mathbf{b}\rangle =\overline{\langle\mathbf{b}\, , \mathbf{a}\rangle}$
In real field, this property will be degenerated into commutativity,
$\langle\mathbf{a}\, , \mathbf{b}\rangle =\langle\mathbf{b}\, , \mathbf{a}\rangle$
$\langle k\mathbf{a}+\mathbf{b}\, , \mathbf{c}\rangle =k\langle\mathbf{a}\, , \mathbf{c}\rangle +\langle\mathbf{b}\, , \mathbf{c}\rangle$

Note that the inner product of two vectors over the field of complex numbers is, in general, a complex number. The requirement of sesquilinearity (i.e. linearity in the first argument and antilinearity in the second argument) instead of bilinearity secures that the inner product of a vector with itself is real (due to the conjugate symmetry):

$\operatorname{Im}\langle\mathbf{a}\, , \mathbf{a}\rangle = \operatorname{Im}\overline{\langle\mathbf{a}\, , \mathbf{a}\rangle} = 0 \quad \implies \quad \langle\mathbf{a}\, , \mathbf{a}\rangle \in \mathbb{R}$.

Hence, $\langle\mathbf{a}\, , \mathbf{a}\rangle$ can be compared to zero, and the requirement of positive definiteness in the definition of inner product makes sense.

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:[4]

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

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

$\cos\theta = \frac{\operatorname{Re}(\langle\mathbf{a}\, , \mathbf{b}\rangle)}{\|\mathbf{a}\|\,\|\mathbf{b}\|}.$
$\cos{\theta} = \frac{\langle\mathbf{a}\, , \mathbf{b}\rangle}{\|\mathbf{a}\| \, \|\mathbf{b}\|}.$ (For real vectors)

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

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

### 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 correspondence 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]):[1]

$(u , v )\equiv \langle u , v \rangle = \int_a^b u(x)v(x)dx$

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

$(\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:

$\bold{A}:\bold{B} = \sum_i\sum_j A_{ij}\overline{B_{ij}} = \mathrm{tr}(\mathbf{A}^* \mathbf{B}) = \mathrm{tr}(\mathbf{A} \mathbf{B}^*).$
$\bold{A}:\bold{B} = \sum_i\sum_j A_{ij}B_{ij} = \mathrm{tr}(\mathbf{A}^\mathrm{T} \mathbf{B}) = \mathrm{tr}(\mathbf{A} \mathbf{B}^\mathrm{T}).$ (For real matrices)

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