In physics, especially in multilinear algebra and tensor analysis, covariance and contravariance describe how the quantitative description of certain geometric or physical entities changes with a change of basis. In modern mathematical notation, the role is sometimes swapped.^{[2]}
A simple illustrative case is that of a vector. For a vector, once a set of basis vectors has been defined, then the components of that vector will always vary opposite to that of the basis vectors. A vector is therefore a contravariant tensor. Take a standard position vector for example. By changing the scale of the reference axes from meters to centimeters (that is, dividing the scale of the reference axes by 100, so that the basis vectors now are meters long), the components of the measured position vector are multiplied by 100. A vector's components change scale inversely to changes in scale to the reference axes, and consequently a vector is called a contravariant tensor.
In contrast, a covector, also called a dual vector, has components that vary with the basis vectors in the corresponding vector space. It is an example of a covariant tensor. A covector is an object that represents a linear map from vectors to scalars. It is actually not a vector, but an object that lives in a dual vector space. Some good examples of covectors are dot product operators involving vectors. For example if is a vector, than a corresponding object in the dual space would be the linear operator . Sometimes, the components of the covector are referred to as the covariant components of , although this is potentially misleading, (due to a vector having components that always vary in the contravariant sense). Despite potential confusion, this is what will be meant when the "covariant components of a vector" are referred to herein.
The gradient is often cited as an example of a covector, but this is incorrect. If the components of the gradient of a function , , are expressed in terms of a given basis, , then these components will in fact still vary oppositely to that of the basis vectors, as can be seen by observing (using the Einstein summation convention):
where is the kronecker delta symbol, and represents the components of some transformation matrix corresponding to the transformation . As can be seen, whatever transformation acts on the basis vectors, the inverse transformation must act on the components.
A third concept related to covariance and contravariance is invariance. A scalar (also called a rank0 tensor) is an object that does not vary with the change in basis. An example of a physical observable that is a scalar is the mass of a particle. The single, scalar value of mass is independent to changes in basis vectors and consequently is called invariant. The magnitude of a vector (such as distance) is another example of an invariant, because it remains fixed even if geometrical vector components vary. (For example, for a position vector of length meters, if I change all Cartesian basis vectors from meters in length to meters in length, the length of the position vector remains unchanged at meters, although the vector components will all increase by a factor of ).
Under more general changes in basis:
Curvilinear coordinate systems, such as cylindrical or spherical coordinates, are often used in physical and geometric problems. Associated with any coordinate system is a natural choice of coordinate basis for vectors based at each point of the space, and covariance and contravariance are particularly important for understanding how the coordinate description of a vector changes by passing from one coordinate system to another.
The terms covariant and contravariant were introduced by James Joseph Sylvester in 1851^{[3]}^{[4]} in the context of associated algebraic forms theory. Tensors are objects in multilinear algebra that can have aspects of both covariance and contravariance.
In the lexicon of category theory, covariance and contravariance are properties of functors; unfortunately, it is the lowerindex objects (covectors) that generically have pullbacks, which are contravariant, while the upperindex objects (vectors) instead have pushforwards, which are covariant. This terminological conflict may be avoided by calling contravariant functors "cofunctors" in accordance with the "covector" terminology.
In physics, a vector typically arises as the outcome of a measurement or series of measurements, and is represented as a list (or tuple) of numbers such as
The numbers in the list depend on the choice of coordinate system. For instance, if the vector represents position with respect to an observer (position vector), then the coordinate system may be obtained from a system of rigid rods, or reference axes, along which the components v_{1}, v_{2}, and v_{3} are measured. For a vector to represent a geometric object, it must be possible to describe how it looks in any other coordinate system. That is to say, the components of the vectors will transform in a certain way in passing from one coordinate system to another.
A vector, which is an example of a contravariant tensor, has components that transform inversely to the transformation of the reference axes, (with example transformations including rotation and dilation). The vector itself does not change under these operations; instead, the components of the vector change in a way that cancels the change in the spatial axes. In other words, if the reference axes were rotated in one direction, the component representation of the vector would rotate in exactly the opposite way. Similarly, if the reference axes were stretched in one direction, the components of the vector, would reduce in an exactly compensating way. Mathematically, if the coordinate system undergoes a transformation described by an invertible matrix M, so that the basis vectors transform according to , then the components of a vector v in the original basis ( ) must be similarly transformed via . The components of a vector are often represented arranged in a column.
By contrast, a covector has components that transform like the reference axes. It lives in the dual vector space, and represents a linear map from vectors to scalars. The dot product operator involving vectors is a good example of a covector. To illustrate, assume we have the covector defined as , where is a vector. The components of this covector in some arbitrary basis are (to see this, note that we want to get the correct answer when multiplying by an arbitrary vector , with components ). The covariance of these components is then easily seen by noting that if I were to apply a transformation to the basis vectors that scales them all by a factor of , since the object is invariant (although it's components may vary), then the components of the covector are also all scaled by a factor of . The components of a covector are often represented arranged in a row.
The general formulation of covariance and contravariance refer to how the components of a coordinate vector transform under a change of basis (passive transformation). Thus let V be a vector space of dimension n over a field of scalars S, and let each of f = (X_{1}, ..., X_{n}) and f′ = (Y_{1}, ..., Y_{n}) be a basis of V.^{[note 1]} Also, let the change of basis from f to f′ be given by

(1) 
for some invertible n×n matrix A with entries . Here, each vector Y_{j} of the f′ basis is a linear combination of the vectors X_{i} of the f basis, so that
A vector in V is expressed uniquely as a linear combination of the elements of the f basis as

(2) 
where v^{i}[f] are elements of the field S known as the components of v in the f basis. Denote the column vector of components of v by v[f]:
so that (2) can be rewritten as a matrix product
The vector v may also be expressed in terms of the f′ basis, so that
However, since the vector v itself is invariant under the choice of basis,
The invariance of v combined with the relationship (1) between f and f′ implies that
giving the transformation rule
In terms of components,
where the coefficients are the entries of the inverse matrix of A.
Because the components of the vector v transform with the inverse of the matrix A, these components are said to transform contravariantly under a change of basis.
The way A relates the two pairs is depicted in the following informal diagram using an arrow. The reversal of the arrow indicates a contravariant change:
A linear functional α on V is expressed uniquely in terms of its components (elements in S) in the f basis as
These components are the action of α on the basis vectors X_{i} of the f basis.
Under the change of basis from f to f′ (via 1), the components transform so that

(3) 
Denote the row vector of components of α by α[f]:
so that (3) can be rewritten as the matrix product
Because the components of the linear functional α transform with the matrix A, these components are said to transform covariantly under a change of basis.
The way A relates the two pairs is depicted in the following informal diagram using an arrow. A covariant relationship is indicated since the arrows travel in the same direction:
Had a column vector representation been used instead, the transformation law would be the transpose
The choice of basis f on the vector space V defines uniquely a set of coordinate functions on V, by means of
The coordinates on V are therefore contravariant in the sense that
Conversely, a system of n quantities v^{i} that transform like the coordinates x^{i} on V defines a contravariant vector (or simply vector). A system of n quantities that transform oppositely to the coordinates is then a covariant vector (or covector).
This formulation of contravariance and covariance is often more natural in applications in which there is a coordinate space (a manifold) on which vectors live as tangent vectors or cotangent vectors. Given a local coordinate system x^{i} on the manifold, the reference axes for the coordinate system are the vector fields
This gives rise to the frame f = (X_{1}, ..., X_{n}) at every point of the coordinate patch.
If y^{i} is a different coordinate system and
then the frame f' is related to the frame f by the inverse of the Jacobian matrix of the coordinate transition:
Or, in indices,
A tangent vector is by definition a vector that is a linear combination of the coordinate partials . Thus a tangent vector is defined by
Such a vector is contravariant with respect to change of frame. Under changes in the coordinate system, one has
Therefore, the components of a tangent vector transform via
Accordingly, a system of n quantities v^{i} depending on the coordinates that transform in this way on passing from one coordinate system to another is called a contravariant vector.
In a finitedimensional vector space V over a field K with a symmetric bilinear form g : V × V → K (which may be referred to as the metric tensor), there is little distinction between covariant and contravariant vectors, because the bilinear form allows covectors to be identified with vectors. That is, a vector v uniquely determines a covector α via
for all vectors w. Conversely, each covector α determines a unique vector v by this equation. Because of this identification of vectors with covectors, one may speak of the covariant components or contravariant components of a vector, that is, they are just representations of the same vector using the reciprocal basis.
Given a basis f = (X_{1}, ..., X_{n}) of V, there is a unique reciprocal basis f^{#} = (Y^{1}, ..., Y^{n}) of V determined by requiring that
the Kronecker delta. In terms of these bases, any vector v can be written in two ways:
The components v^{i}[f] are the contravariant components of the vector v in the basis f, and the components v_{i}[f] are the covariant components of v in the basis f. The terminology is justified because under a change of basis,
In the Euclidean plane, the dot product allows for vectors to be identified with covectors. If is a basis, then the dual basis satisfies
Thus, e^{1} and e_{2} are perpendicular to each other, as are e^{2} and e_{1}, and the lengths of e^{1} and e^{2} normalized against e_{1} and e_{2}, respectively.
For example,^{[5]} suppose that we are given a basis e_{1}, e_{2} consisting of a pair of vectors making a 45° angle with one another, such that e_{1} has length 2 and e_{2} has length 1. Then the dual basis vectors are given as follows:
Applying these rules, we find
and
Thus the change of basis matrix in going from the original basis to the reciprocal basis is
since
For instance, the vector
is a vector with contravariant components
The covariant components are obtained by equating the two expressions for the vector v:
so
In the threedimensional Euclidean space, one can also determine explicitly the dual basis to a given set of basis vectors e_{1}, e_{2}, e_{3} of E_{3} that are not necessarily assumed to be orthogonal nor of unit norm. The dual basis vectors are:
Even when the e_{i} and e^{i} are not orthonormal, they are still mutually reciprocal:
Then the contravariant components of any vector v can be obtained by the dot product of v with the dual basis vectors:
Likewise, the covariant components of v can be obtained from the dot product of v with basis vectors, viz.
Then v can be expressed in two (reciprocal) ways, viz.
or
Combining the above relations, we have
and we can convert between the basis and dual basis with
and
If the basis vectors are orthonormal, then they are the same as the dual basis vectors.
More generally, in an ndimensional Euclidean space V, if a basis is
the reciprocal basis is given by (double indices are summed over),
where the coefficients g^{ij} are the entries of the inverse matrix of
Indeed, we then have
The covariant and contravariant components of any vector
are related as above by
and
In the field of physics, the adjective covariant is often used informally as a synonym for invariant. For example, the Schrödinger equation does not keep its written form under the coordinate transformations of special relativity. Thus, a physicist might say that the Schrödinger equation is not covariant. In contrast, the Klein–Gordon equation and the Dirac equation do keep their written form under these coordinate transformations. Thus, a physicist might say that these equations are covariant.
Despite this usage of "covariant", it is more accurate to say that the Klein–Gordon and Dirac equations are invariant, and that the Schrödinger equation is not invariant. Additionally, to remove ambiguity, the transformation by which the invariance is evaluated should be indicated.
Because the components of vectors are contravariant and those of covectors are covariant, the vectors themselves are often referred to as being contravariant and the covectors as covariant.
The distinction between covariance and contravariance is particularly important for computations with tensors, which often have mixed variance. This means that they have both covariant and contravariant components, or both vector and covector components. The valence of a tensor is the number of variant and covariant terms, and in Einstein notation, covariant components have lower indices, while contravariant components have upper indices. The duality between covariance and contravariance intervenes whenever a vector or tensor quantity is represented by its components, although modern differential geometry uses more sophisticated indexfree methods to represent tensors.
In tensor analysis, a covariant vector varies more or less reciprocally to a corresponding contravariant vector. Expressions for lengths, areas and volumes of objects in the vector space can then be given in terms of tensors with covariant and contravariant indices. Under simple expansions and contractions of the coordinates, the reciprocity is exact; under affine transformations the components of a vector intermingle on going between covariant and contravariant expression.
On a manifold, a tensor field will typically have multiple, upper and lower indices, where Einstein notation is widely used. When the manifold is equipped with a metric, covariant and contravariant indices become very closely related to one another. Contravariant indices can be turned into covariant indices by contracting with the metric tensor. The reverse is possible by contracting with the (matrix) inverse of the metric tensor. Note that in general, no such relation exists in spaces not endowed with a metric tensor. Furthermore, from a more abstract standpoint, a tensor is simply "there" and its components of either kind are only calculational artifacts whose values depend on the chosen coordinates.
The explanation in geometric terms is that a general tensor will have contravariant indices as well as covariant indices, because it has parts that live in the tangent bundle as well as the cotangent bundle.
A contravariant vector is one which transforms like , where are the coordinates of a particle at its proper time . A covariant vector is one which transforms like , where is a scalar field.
In category theory, there are covariant functors and contravariant functors. The assignment of the dual space to a vector space is a standard example of a contravariant functor. Some constructions of multilinear algebra are of "mixed" variance, which prevents them from being functors.
In differential geometry, the components of a vector relative to a basis of the tangent bundle are covariant if they change with the same linear transformation as a change of basis. They are contravariant if they change by the inverse transformation. This is sometimes a source of confusion for two distinct but related reasons. The first is that vectors whose components are covariant (called covectors or 1forms) actually pull back under smooth functions, meaning that the operation assigning the space of covectors to a smooth manifold is actually a contravariant functor. Likewise, vectors whose components are contravariant push forward under smooth mappings, so the operation assigning the space of (contravariant) vectors to a smooth manifold is a covariant functor. Secondly, in the classical approach to differential geometry, it is not bases of the tangent bundle that are the most primitive object, but rather changes in the coordinate system. Vectors with contravariant components transform in the same way as changes in the coordinates (because these actually change oppositely to the induced change of basis). Likewise, vectors with covariant components transform in the opposite way as changes in the coordinates.