In linear algebra, Cramer's rule is an explicit formula for the solution of a system of linear equations with as many equations as unknowns, valid whenever the system has a unique solution. It expresses the solution in terms of the determinants of the (square) coefficient matrix and of matrices obtained from it by replacing one column by the vector of right hand sides of the equations. It is named after Gabriel Cramer (1704–1752), who published the rule for an arbitrary number of unknowns in 1750,[1] although Colin Maclaurin also published special cases of the rule in 1748[2] (and possibly knew of it as early as 1729).[3][4][5]
General case
Consider a system of n linear equations for n unknowns, represented in matrix multiplication form as follows:
where the n by n matrix
has a nonzero determinant, and the vector
is the column vector of the variables.
Then the theorem states that in this case the system has a unique solution, whose individual values for the unknowns are given by:

where
is the matrix formed by replacing the ith column of
by the column vector
.
The rule holds for systems of equations with coefficients and unknowns in any field, not just in the real numbers. It has recently been shown that Cramer's rule can be implemented in O(n3) time,[6] which is comparable to more common methods of solving systems of linear equations, such as Gaussian elimination (consistently requiring 2.5 times as many arithmetic operations for all matrix sizes, while exhibiting comparable numeric stability in most cases).
Proof
The proof for Cramer's rule uses just two properties of determinants: linearity with respect to any given column (taking for that column a linear combination of column vectors produces as determinant the corresponding linear combination of their determinants), and the fact that the determinant is zero whenever two columns are equal (which is implied by the basic property that the determinant is alternating in the columns).
Fix the index j of a column. Linearity means that if we consider only column j as variable (fixing the others arbitrarily), the resulting function Rn → R (assuming matrix entries are in R) can be given by a matrix, with one row and n columns, that acts on column j. In fact this is precisely what Laplace expansion does, writing det(A) = C1a1,j + … + Cnan,j for certain coefficients C1,…,Cn that depend on the columns of A other than column j (the precise expression for these cofactors is not important here). The value det(A) is then the result of applying the one-line matrix L(j) = (C1 C2 … Cn) to column j of A. If L(j) is applied to any other column k of A, then the result is the determinant of the matrix obtained from A by replacing column j by a copy of column k, so the resulting determinant is 0 (the case of two equal columns).
Now consider a system of n linear equations in n unknowns
, whose coefficient matrix is A, with det(A) assumed to be nonzero:

If one combines these equations by taking C1 times the first equation, plus C2 times the second, and so forth until Cn times the last, then the coefficient of xj will become C1a1,j + … + Cnan,j = det(A), while the coefficients of all other unknowns become 0; the left hand side becomes simply det(A)xj. The right hand side is C1b1 + … + Cnbn, which is L(j) applied to the column vector b of the right hand sides bi. In fact what has been done here is multiply the matrix equation A ⋅ x = b on the left by L(j). Dividing by the nonzero number det(A) one finds the following equation, necessary to satisfy the system:

But by construction the numerator is the determinant of the matrix obtained from A by replacing column j by b, so we get the expression of Cramer's rule as a necessary condition for a solution. The same procedure can be repeated for other values of j to find values for the other unknowns.
The only point that remains to prove is that these values for the unknowns, the only possible ones, do indeed together form a solution. But if the matrix A is invertible with inverse A−1, then x = A−1 ⋅ b will be a solution, thus showing its existence. To see that A is invertible when det(A) is nonzero, consider the n by n matrix M obtained by stacking the one-line matrices L(j) on top of each other for j = 1, 2, …, n (this gives the adjugate matrix for A). It was shown that L(j) ⋅ A = (0 … 0 det(A) 0 … 0) where det(A) appears at the position j; from this it follows that M ⋅ A = det(A)In. Therefore

completing the proof.
Finding inverse matrix
{{#invoke:main|main}}
Let A be an n×n matrix. Then

where Adj(A) denotes the adjugate matrix of A, det(A) is the determinant, and I is the identity matrix. If det(A) is invertible in R, then the inverse matrix of A is

If R is a field (such as the field of real numbers), then this gives a formula for the inverse of A, provided det(A) ≠ 0. In fact, this formula will work whenever R is a commutative ring, provided that det(A) is a unit. If det(A) is not a unit, then A is not invertible.
Applications
Explicit formulas for small systems
Consider the linear system
which in matrix format is
Assume a1b2 − b1a2 nonzero. Then, with help of determinants x and y can be found with Cramer's rule as

and

The rules for 3 × 3 matrices are similar. Given
which in matrix format is
Then the values of x, y and z can be found as follows:

Differential geometry
Cramer's rule is also extremely useful for solving problems in differential geometry. Consider the two equations
and
. When u and v are independent variables, we can define
and
Finding an equation for
is a trivial application of Cramer's rule.
First, calculate the first derivatives of F, G, x, and y:
![{\displaystyle {\begin{aligned}dF&={\frac {\partial F}{\partial x}}\,dx+{\frac {\partial F}{\partial y}}\,dy+{\frac {\partial F}{\partial u}}\,du+{\frac {\partial F}{\partial v}}\,dv=0\\[6pt]dG&={\frac {\partial G}{\partial x}}\,dx+{\frac {\partial G}{\partial y}}\,dy+{\frac {\partial G}{\partial u}}\,du+{\frac {\partial G}{\partial v}}\,dv=0\\[6pt]dx&={\frac {\partial X}{\partial u}}\,du+{\frac {\partial X}{\partial v}}\,dv\\[6pt]dy&={\frac {\partial Y}{\partial u}}\,du+{\frac {\partial Y}{\partial v}}\,dv.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/31d4ce21c35848a07ccf1c6bd453ba1b1bcfa06a)
Substituting dx, dy into dF and dG, we have:
![{\displaystyle {\begin{aligned}dF&=\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial F}{\partial u}}\right)\,du+\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial F}{\partial v}}\right)\,dv=0\\[6pt]dG&=\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial G}{\partial u}}\right)\,du+\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial G}{\partial v}}\right)\,dv=0.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/443f0c8901646178fb91d939da18719257e04124)
Since u, v are both independent, the coefficients of du, dv must be zero. So we can write out equations for the coefficients:
![{\displaystyle {\begin{aligned}{\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}&=-{\frac {\partial F}{\partial u}}\\[6pt]{\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}&=-{\frac {\partial G}{\partial u}}\\[6pt]{\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}&=-{\frac {\partial F}{\partial v}}\\[6pt]{\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}&=-{\frac {\partial G}{\partial v}}.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/faa8362cce15633e1c0bc856b3d6be35b8cf9231)
Now, by Cramer's rule, we see that:

This is now a formula in terms of two Jacobians:

Similar formulae can be derived for
,
,
Integer programming
Cramer's rule can be used to prove that an integer programming problem whose constraint matrix is totally unimodular and whose right-hand side is integer, has integer basic solutions. This makes the integer program substantially easier to solve.
Ordinary differential equations
Cramer's rule is used to derive the general solution to an inhomogeneous linear differential equation by the method of variation of parameters.
Geometric interpretation
Geometric interpretation of Cramer's rule. The areas of the second and third shaded parallelograms are the same and the second is

times the first. From this equality Cramer's rule follows.
Cramer's rule has a geometric interpretation that can be considered also a proof or simply giving insight about its geometric nature. These geometric arguments work in general and not only in the case of two equations with two unknowns presented here.
Given the system of equations

it can be considered as an equation between vectors

The area of the parallelogram determined by
and
is given by the determinant of the system of equations:

In general, when there are more variables and equations, the determinant of
vectors of length
will give the volume of the parallelepiped determined by those vectors in the
-th dimensional Euclidean space.
Therefore the area of the parallelogram determined by
and
has to be
times the area of the first one since one of the sides has been multiplied by this factor.
Now, this last parallelogram, by Cavalieri's principle, has the same area as the parallelogram determined by
and
.
Equating the areas of this last and the second parallelogram gives the equation

from which Cramer's rule follows.
A short proof
A short proof of Cramer's rule
[7]
can be given by noticing that
is the determinant of the matrix

On the other hand, assuming that our original matrix
is invertible, this matrix
has columns
, where
is the
th column of the matrix
. Recall that the matrix
has columns
. Hence we have
, as wanted. The proof for other
is similar.
Proof using Clifford algebra
Consider the system of three scalar equations in three unknown scalars

and assign an orthonormal vector basis
for
as

Let the vectors

Adding the system of equations, it is seen that

Using the exterior product, each unknown scalar
can be solved as

For
equations in
unknowns, the solution for the
th unknown
generalizes to

If the
are linearly independent, then the
can be expressed in determinant form identical to Cramer’s Rule as

where
denotes the substitution of vector
with vector
in the
th numerator position.
Systems of vector equations: Cramer’s Rule extended
Consider the system of
vector equations in
unknown vectors

where we want to solve for each unknown vector
in terms of the given scalar constants
and vector constants
.
Solving for unknown vectors
Using the Clifford algebra (or geometric algebra) of Euclidean vectors, the vectors
and
are in a vector space having Template:Mvar dimensions spanned by a basis of Template:Mvar orthonormal base vectors
. This Template:Mvar-dimensional space can be extended to be a subspace of a larger
-dimensional space spanned by
.
Multiply the Template:Mvar-th equation by the
th orthonormal base unit
, using the exterior product on the right, as

The original system of equations in grade-1 vectors is now transformed into a system of equations in grade-2 vectors, and no parallel components have been deleted by the exterior products since they multiply on perpendicular extended base units.
Let the vectors

Adding the transformed system of equations gives

which is a 2-vector equation. These exterior (wedge) products are equal to Clifford products since the factors are perpendicular.
For
, and
are solved by multiplying
, and
, respectively, on the right with exterior products
![{\displaystyle {\begin{aligned}\mathbf {C} \wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3}&=\mathbf {x} _{1}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3}=\mathbf {x} _{1}(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})\\\mathbf {C} \wedge \mathbf {a} _{1}\wedge \mathbf {a} _{3}&=\mathbf {x} _{2}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{3}=\mathbf {x} _{2}(\mathbf {a} _{2}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{3})\\\mathbf {C} \wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2}&=\mathbf {x} _{3}\wedge \mathbf {a} _{3}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2}=\mathbf {x} _{3}(\mathbf {a} _{3}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2})\\[6pt]\mathbf {x} _{1}&=(\mathbf {C} \wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})^{-1}={\frac {(\mathbf {C} \wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})\cdot ((-1)^{1-1}\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})}{(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})^{2}}}\\[6pt]\mathbf {x} _{2}&=(\mathbf {C} \wedge \mathbf {a} _{1}\wedge \mathbf {a} _{3})(\mathbf {a} _{2}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{3})^{-1}={\frac {(\mathbf {a} _{1}\wedge \mathbf {C} \wedge \mathbf {a} _{3})\cdot \left((-1)^{2-1}\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3}\right)}{(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})^{2}}}\\[6pt]\mathbf {x} _{3}&=(\mathbf {C} \wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2})(\mathbf {a} _{3}\wedge \mathbf {a} _{1}\wedge \mathbf {a} _{2})^{-1}={\frac {(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {C} )\cdot ((-1)^{3-1}\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})}{(\mathbf {a} _{1}\wedge \mathbf {a} _{2}\wedge \mathbf {a} _{3})^{2}}}\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0fcf7a4c75a7995b08eda5b73ee8bda8327c2fee)
In the solution of
, and similarly for
and
,
is a 4-blade having 3 of its 4 dimensions in the extended dimensions
, and the remaining one dimension is in the solution space of the vectors
and
. The 3-blade
is in the problem space, or the extended dimensions. The inner product
reduces, or contracts, to a 1-vector in the Template:Mvar-dimensional solution space. The divisor
, the square of a blade, is a scalar product that can be computed by a determinant. Since
is a 2-vector, it commutes
with the vectors
without sign change and is conveniently shifted into the vacant Template:Mvar-th spot. A sign change
occurs in every even
Template:Mvar-th solution
, such as
, due to commuting or shifting
right an odd number of times, in the dividend blade
, into its Template:Mvar-th spot.
In general,
is solved as
![{\displaystyle {\begin{aligned}\mathbf {x} _{k}&=(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot ((-1)^{k-1}\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})^{-1}\\[6pt]&={\frac {(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot ((-1)^{k-1}\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})}{(\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})^{2}}}\\[6pt]&={\frac {(-1)^{k-1}(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot (\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})}{(-1)^{\frac {n(n-1)}{2}}(\mathbf {a} _{n}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{1})\cdot (\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})}}\\[6pt]&={\frac {(-1)^{k-1}(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot (\mathbf {a} _{n}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{1})}{(\mathbf {a} _{n}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{1})\cdot (\mathbf {a} _{1}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{n})}}\\[6pt]&={\frac {(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot (\mathbf {a} _{n}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{1})}{(-1)^{k-1}\left|{\begin{matrix}\mathbf {a} _{1}\cdot \mathbf {a} _{1}&\cdots &\mathbf {a} _{1}\cdot \mathbf {a} _{k}&\cdots &\mathbf {a} _{1}\cdot \mathbf {a} _{n}\\\vdots &\ddots &\vdots &\ddots &\vdots \\\mathbf {a} _{k}\cdot \mathbf {a} _{1}&\cdots &\mathbf {a} _{k}\cdot \mathbf {a} _{k}&\cdots &\mathbf {a} _{k}\cdot \mathbf {a} _{n}\\\vdots &\ddots &\vdots &\ddots &\vdots \\\mathbf {a} _{n}\cdot \mathbf {a} _{1}&\cdots &\mathbf {a} _{n}\cdot \mathbf {a} _{k}&\cdots &\mathbf {a} _{n}\cdot \mathbf {a} _{n}\end{matrix}}\right|}}\\[6pt]&={\frac {(\mathbf {a} _{1}\wedge \cdots \wedge (\mathbf {C} )_{k}\wedge \cdots \wedge \mathbf {a} _{n})\cdot (\mathbf {a} _{n}\wedge \cdots \wedge \mathbf {a} _{k}\wedge \cdots \wedge \mathbf {a} _{1})}{(-1)^{k-1}\left|{\begin{matrix}\mathbf {a} _{1}&\cdots &\mathbf {a} _{k}&\cdots &\mathbf {a} _{n}\end{matrix}}\right|^{2}}}\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/361f2c29ea03e9fcbc965bb74f174e0d9dd5b4f3)
where
denotes replacing the Template:Mvar-th element
with
. The factor
accounts for shifting the Template:Mvar-th vector
by
places. The
-blade
is multiplied by inner product with the reversed Template:Mvar-blade
, producing a 1-vector in the Template:Mvar-dimensional solution space.
Using this formula, for solving a system of Template:Mvar vector equations having Template:Mvar unknown vectors
in a Template:Mvar-dimensional space, requires extending the space to
dimensions. The extended Template:Mvar dimensions are essentially used to hold the system of Template:Mvar equations represented by the scalar constants 1-vectors
and the vector constants 1-vectors
. The Template:Mvar vector constants
are grade-increased to 2-vectors or grade-2 vectors
that are partly in the extended space. Notice the similarity of form to Cramer’s Rule for systems of scalar equations; a basis is added in both cases. The advantage of this formula is that it avoids scalar coordinates and the results are directly in terms of vectors.
The system of vector equations can also be solved in terms of coordinates, without using the geometric algebra formula above, by the usual process of expanding all the vectors in the system into their coordinate vector components. In each expanded equation, the parallel (like) components are summed into Template:Mvar groups that form Template:Mvar independent systems of Template:Mvar unknown coordinates in Template:Mvar equations. Each system solves for one dimension of coordinates. After solving the Template:Mvar systems, the solved vectors can be reassembled from the solved coordinates. It seems that few books explicitly discuss this process for systems of vector equations. This process is the application of the abstract concept of linear independence as it applies to linearly independent dimensions of vector components or unit vectors. The linear independence concept extends to multivectors in geometric algebra, where each unique unit blade is linearly independent of the others for the purpose of solving equations or systems of equations. An equation containing a sum of Template:Mvar linearly independent terms can be rewritten as Template:Mvar separate independent equations, each in the terms of one dimension.
Solving for unknown scalars
It is also noticed that, instead of solving for unknown vectors
, the
may be known vectors and the vectors
may be unknown. The vectors
,
, and
could be solved as

In general, vector
may be solved as

and represents transforming or projecting the system, or each vector
, onto the basis of vectors
which need not be orthonormal. However, solving for the vectors
by this formula is unnecessary, and unnecessarily requires
vectors
at a time. Solving each equation is independent in this case. This has been shown to clarify the usage, as far as what not to do, unless one has an unusual need to solve a particular vector
. Instead, the following can be done in the case of projecting vectors
onto a new arbitrary basis
.
Projecting a vector onto an arbitrary basis.
Projecting any vector
onto a new arbitrary basis
as

where each
is written in the form

is a system of
scalar equations in
unknown coordinates

and can be solved using the ordinary Cramer’s rule for systems of scalar equations, where the step of adding a basis can be considered as already done. For
, the solutions for the scalars
are

For
basis vectors (
equations in
unknowns), the solution for the
th unknown scalar coordinate
generalizes to

the formula for Cramer’s rule.
The remainder of this subsection outlines some additional concepts or applications that may be important to consider when using arbitrary bases, but otherwise you may skip ahead to the next subsection.
The reciprocal basis
of the arbitrary basis
is such that
, while in general
. The
th reciprocal base
is

where
denotes that the
th vector
is removed from the blade. In mathematics literature, the reciprocal basis
is usually written using superscript indices as
which should not be confused as exponents or powers of the vectors. The reciprocal bases can be computed once and saved, and then any vector
can be projected onto the arbitrary basis as
with implied summation over the range of
.
Note that

and that for

therefore if the
are the new arbitrary bases, then the
are the reciprocal bases and we also have

with the summation convention over
.
If we abandon the old basis
and old coordinates
and
of
and refer
only to the new basis
and its reciprocal
, then we can newly rename coordinates for
on the new bases as

This is a coordinates naming convention that is often used implicitly such that
and
are understood as identities. Using this coordinates naming convention we can derive the expression

Since
for
and
for
(or
using Kronecker delta), this expression reduces to the identity

Since
is an arbitrary vector, we can choose any two vectors
and
and find the identities

In terms of a basis
and its reciprocal basis
, the inner or dot product
of two vectors can be written four ways
![{\displaystyle {\begin{array}{rcl}\mathbf {u} \cdot \mathbf {v} &=&[(\mathbf {u} \cdot \mathbf {x} ^{j})\mathbf {x} _{j}]\cdot [(\mathbf {v} \cdot \mathbf {x} ^{k})\mathbf {x} _{k}]=u^{j}v^{k}\mathbf {x} _{j}\cdot \mathbf {x} _{k}=u^{j}v^{k}m_{jk}\\&=&[(\mathbf {u} \cdot \mathbf {x} _{j})\mathbf {x} ^{j}]\cdot [(\mathbf {v} \cdot \mathbf {x} _{k})\mathbf {x} ^{k}]=u_{j}v_{k}\mathbf {x} ^{j}\cdot \mathbf {x} ^{k}=u_{j}v_{k}m^{jk}\\&=&[(\mathbf {u} \cdot \mathbf {x} ^{j})\mathbf {x} _{j}]\cdot [(\mathbf {v} \cdot \mathbf {x} _{k})\mathbf {x} ^{k}]_{}=u^{j}v_{k}m_{j}^{k}=u^{j}v_{k}\delta _{j}^{k}=u^{k}v_{k}\\&=&[(\mathbf {u} \cdot \mathbf {x} _{j})\mathbf {x} ^{j}]\cdot [(\mathbf {v} \cdot \mathbf {x} ^{k})\mathbf {x} _{k}]=u_{j}v^{k}m_{k}^{j}=u_{j}v^{k}\delta _{k}^{j}=u_{k}v^{k}.\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2da31f25cfb08d37fdad7c2efd849727eb136b8b)
In the language of tensors,
is called the metric tensor of the basis,
is the Kronecker delta, an upper-indexed (superscripted) element is called contravariant, and a lower-indexed (subscripted) element is called covariant. Equating right-hand sides, we obtain the tensor contractions that are equivalent to the dot product

where in the first equation either
or
(index-lowering contractions), and in the second equation either
or
(index-raising contractions). The contraction that lowers the index on
into
expands to the sum

Contractions are a form of inner product. Contractions such as these

are called index renaming. Contractions involving
and
have many relations such as

When viewed as
matrices,
and
are inverse matrices. The matrices
are symmetric, so the indices can be reversed. The contraction that computes the matrix product is
![{\displaystyle {\begin{array}{rcl}m^{ji}m_{ik}&=&(\mathbf {x} ^{j}\cdot \mathbf {x} ^{i})(\mathbf {x} _{i}\cdot \mathbf {x} _{k})=(x^{j})^{i}(x_{k})_{i}=\mathbf {x} ^{j}\cdot \mathbf {x} _{k}=m_{k}^{j}=\delta _{k}^{j}\\{}[m^{jk}]&=&[m_{jk}]^{-1}.\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a849631ceb751b08c672c801f54ac09918e4240a)
The Kronecker delta
, viewed as a matrix, is the identity matrix. From this matrix product identity, the reciprocal bases
can be computed as

The formula
for the inner or dot product of vectors requires the terms to be products of covariant and contravariant component pairs. One of the vectors has to be expressed in terms of the reciprocal basis relative to the basis of the other vector. This requirement is satisfied when expressing vectors on an orthonormal basis that is self-reciprocal, but must be paid proper attention otherwise. The formula is often written
, but this is valid only if the vectors are both expressed on the same orthonormal basis
with
.
The derivative operator
called del is often written as

where the
are an orthonormal standard basis with vectors written in the Cartesian form
. Del
can be treated as a vector in computations. It can also be written as

for a basis
and reciprocal basis
, and position vector
written in the tensor forms. For example, the divergence of
can be computed several ways as