# Covariance and contravariance of vectors

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 physics, a basis is sometimes thought of as a set of reference axes. A change of scale on the reference axes corresponds to a change of units in the problem. For instance, by changing scale from meters to centimeters (that is, *dividing* the scale of the reference axes by 100), the components of a measured velocity vector are *multiplied* by 100. Vectors exhibit this behavior of changing scale *inversely* to changes in scale to the reference axes and consequently are called *contravariant*. As a result, vectors often have units of distance or distance with other units (as, for example, velocity has units of distance divided by time).

In contrast, covectors (also called *dual vectors*) typically have units of the inverse of distance or the inverse of distance with other units. An example of a covector is the gradient, which has units of a spatial derivative, or distance^{−1}. The components of covectors change in the *same way* as changes to scale of the reference axes and consequently are called *covariant*.

A third concept related to covariance and contravariance is invariance. An example of a physical observable that does not change with a change of scale on the reference axes is the mass of a particle, which has units of mass (that is, no units of distance). The single, scalar value of mass is independent of changes to the scale of the reference axes and consequently is called *invariant*.

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^{[2]}^{[3]} 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 lower-index objects (covectors) that generically have pullbacks, which are contravariant, while the upper-index objects (vectors) instead have pushforwards, which are covariant. This terminological conflict may be avoided by calling contravariant functors "cofunctors"—in accord with the "covector" terminology, and continuing the tradition of treating vectors as the concept and covectors as the coconcept.

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.

By contrast, a *covariant vector* has components that change oppositely to the coordinates or, equivalently, transform like the reference axes. For instance, the components of the gradient vector of a function

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 the 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

where *v*^{i}[**f**] are elements in an (algebraic) field *S* known as the **components** of *v* in the **f** basis. Denote the column vector of components of *v* by **v**[**f**]:

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

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**′ (**1**), the components transform so that

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

Conversely, a system of *n* quantities *v*^{i} that transform like the coordinates *x*^{i} on *V* defines a contravariant vector. A system of *n* quantities that transform oppositely to the coordinates is then a covariant vector.

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.

then the frame **f'** is related to the frame **f** by the inverse of the Jacobian matrix of the coordinate transition:

Such a vector is contravariant with respect to change of frame. Under changes in the coordinate system, one has

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 finite-dimensional 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,

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,^{[4]} 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:

Thus the change of basis matrix in going from the original basis to the reciprocal basis is

The covariant components are obtained by equating the two expressions for the vector *v*:

In the three-dimensional 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.

If the basis vectors are orthonormal, then they are the same as the dual basis vectors.

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 index-free 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.

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 1-forms) 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.