Vecteur contravariant, covariant et covecteur
Un vecteur contravariant est un vecteur, un vecteur covariant est une forme linéaire, encore appelé covecteur, ou encore vecteur dual. Et si on dispose d'un produit scalaire, on peut représenter une forme linéaire (= un vecteur covariant = un covecteur) par un vecteur à l'aide du théorème de représentation de Riesz (cette représentation dépend du choix du produit scalaire).

Toutes ces notions sont indépendantes de représentation dans une base : mais à partir du moment où on choisit une base , la représentation des composantes des vecteurs, et des composantes des formes linéaires, est standard : elle se fait avec un indice en haut pour les composantes des vecteurs, comme , et un indice bas pour les composantes des formes linéaires, comme  où  est la base duale.

Ce vocabulaire a été longtemps (et est encore souvent) associé au comportement des composantes lors d'un changement de base, en particulier les composantes d'un vecteur se transformant de manière inverse aux transformations des vecteurs de base : quand la transformation pour les vecteurs de base se lit matriciellement , alors la transformation pour les composantes se lit matriciellement , d'où le nom "contravariant" donné aux vecteurs (transformation "dans le sens inverse de "). Et les composantes des formes linéaires se transforment comme  (transformation "dans le sens ").

L'importance de la distinction entre vecteur covariant et contravariant se voit également dans l'étude de changement de base des tenseurs. Par exemple un tenseur 1 fois covariant et 1 fois contravariant (comme en endomorphisme) se transforme comme , alors qu'un tenseur deux fois covariant (comme un produit scalaire) se transforme comme . Dans le cadre usuel d'un changement de systèmes de coordonnées (non orthonormé), comme un changement du système cartésien au système polaire, on ne peut confondre ces formules.

On confond souvent tenseur et calcul tensoriel ou matriciel (le calcul avec les formes multilinéaires), calculs indispensables entre autres en physique. Cependant, le calcul matriciel se concentre sur les calculs après représentation dans une base (où on retrouve la représentation en indices et en exposants), alors que les tenseurs, ou les champs de tenseurs (ici les champs de vecteurs et de formes linéaires), permettent une représentation par objets qui ont une existence indépendamment d'un "utilisateur" (indépendamment du choix d'une base ou du choix d'un produit scalaire). Ces tenseurs permettent, lorsqu'on fait un calcul tensoriel, d'être assuré que ce calcul est intrinsèque (résultat numérique indépendant de l'utilisateur). C'est un des apports essentiels de la géométrie différentielle à la physique.

Les vecteurs contravariants et covariants 

Les expressions vecteur contravariant et  vecteur covariant semblent être utilisées l'une pour l'autre
suivant les origines scientifiques. Citons par exemple Spivak, A Comprehensive Introduction to Differential Geometry, Volume 1, 3rd edition, p. 113 :
"...Classical terminology used these same words, and it just happens to have reversed this... And no one has had the gall or authority to reverse terminology so sanctified by years of usage...".

On adopte l'approche géométrie différentielle, où en particulier une forme linéaire est appelée un vecteur covariant (ou covecteur, ou vecteur dual). Après avoir rappelé les définitions, on se donnera une base, on en déduira la base duale, et retrouvera la représentation d'un vecteur et d'une forme linéaire (un vecteur covariant) à l'aide de leurs composantes.

On s'intéresse ici aux espaces vectoriels de dimension finie. On notera  un espace vectoriel de dimension .

Définitions 
Un vecteur est un élément d'un espace vectoriel , par exemple , ou  l'espace des fonctions affines par morceaux, ou  l'espace des fonctions d'énergie finie (espace des fonctions de carré intégrable).

Un vecteur est également appelé un vecteur contravariant, en référence au comportement de ses coordonnées dans une base.

Une forme linéaire sur  est une application linéaire  à valeurs dans un corps commutatif . Dans la suite . On note  l'ensemble des formes linéaires sur , appelé le dual de .

 est un espace vectoriel dont les éléments (qui sont donc des vecteurs) sont appelés vecteurs covariants (ou vecteurs duaux, ou covecteurs) : ils covarient avec les vecteurs de  au sens où ils agissent sur les vecteurs.
Ainsi un covecteur (une forme linéaire)  agit sur un vecteur  pour donner le réel .

Interprétation : une forme linéaire  est un "instrument de mesure" qui donne une valeur   aux objets "les vecteurs" .

N.B. : un vecteur et une forme linéaire ont une existence par eux-mêmes (ils sont intrinsèques) : ils ne nécessitent ni l'introduction d'une base ni l'introduction d'un produit scalaire (qui dépendent du choix d'un "utilisateur"). Les vecteurs et formes linéaires sont les exemples les plus simples de tenseurs.

N.B. : plus loin on représentera une forme linéaire par un "vecteur de représentation" (théorème de représentation de Riesz), sous la condition essentielle de disposer d'un nouvel outil : un produit scalaire (le choix d'un tel outil dépend d'un "utilisateur"). Et il n'y a rien de "naturel" dans le choix d'un tel "vecteur de représentation". Ici le mot "naturel" a un sens mathématique précis : il signifie qu'il n'y a pas d'isomorphisme canonique entre  et  (un isomorphisme entre  et  existe mais nécessite l'introduction d'un nouvel outil comme un produit scalaire).

N.B. : il n'y a pas d'ambiguïté sur ce qu'est un vecteur covariant : c'est une forme linéaire sur , c'est-à-dire un élément de  (c'est un tenseur covariant). On lève les ambiguïtés sur ce qu'est un vecteur contravariant (par rapport à un vecteur) en commençant par considérer les formes linéaires sur ,
c'est-à-dire  le bidual (c'est l'ensemble  des tenseurs contravariants  l'espace des dérivations directionnelles). Puis, par isomorphisme canonique (en dimension finie), on identifie  (l'ensemble des vecteurs ) et son bidual  (l'ensemble des dérivations dans les directions de vecteurs ). Cet isomorphisme permet de rebaptiser un vecteur contravariant en vecteur, et, de même, de rebaptiser un vecteur en un vecteur contravariant.

La base duale 
Soit  vecteurs  de 
formant une base. On définit la forme linéaire
 (vecteur covariant) comme étant la projection
sur la direction  parallèlement aux autres directions :

 étant le symbole de Kronecker.
Les  formes linéaires  forment une base de  (vérification simple)
appelée la base duale de la base . La base duale  est donc constituée des formes linéaires de projection définies ci-dessus.

Calcul des composantes d'un vecteur 

Si , les réels  vérifiant
 sont appelés les composantes de 
dans la base .

Connaissant la base , on calcule la base duale , et les composantes du vecteur  sont calculées en appliquant les projections  sur  : par linéarité de  on a  la i-ème composante de  (valeur de la projection de  sur  parallèlement aux autres directions).

Dimensions 

Donner une "valeur" à un objet, comme la taille d'un homme, la masse, la température..., n'a de sens que relativement à un "objet de référence". C'est donc définir une fonction  qui à l'objet  associe la valeur , où la fonction  est construite à l'aide de l'objet de référence. Ici on souhaite donner une taille "proportionnelle", et on choisit donc une fonction  linéaire.

Modélisation en une dimension : l'objet de référence (dont la valeur sera par exemple le pied anglais Pied (unité) est représenté par un vecteur . Lui attribuer la dimension 1 c'est prendre la fonction linéaire  définie par . La fonction  est alors notée .

Ainsi si un homme est modélisé par un vecteur  alors sa taille est donnée par  en unités de . Autrement dit, ayant posé  (décomposition sur la base ), sa taille est donnée (en unités de ) par  la composante de  sur la base.

Ainsi un homme de 6 pieds fait référence à l'objet de référence "le pied anglais", et donc ici  avec  en pieds. Si on préfère utiliser les mètres, on prend l'objet `mètre étalon' qu'on modélise par un vecteur , on prend la forme linéaire  qui vérifie , et la taille de l'homme en mètres est la valeur  en mètres, composante de  sur la base .

Modélisation en n dimensions : la i-ème composante sur la base donne `la taille le long du i-ème vecteur de base'.

Donnons l'exemple usuel en aviation. Pour fixer les idées considérons un aéroport qui a deux pistes d'atterrissages, une dirigée Nord, et l'autre dirigée Nord-Ouest. Les dimensions internationales en aviation sont le mille nautique ou mille marin (Nautical Mile NM) pour les distances horizontales et le pied anglais (foot ft) pour les distances verticales. Le contrôleur aérien, qui veut connaître la position des avions en approche, demande au pilote son altitude et sa distance à l'aéroport. Le repère le plus simple pour le contrôleur est  où O est la position de la tour de contrôle, et, par exemple,  indique le nord et modélise un objet de longueur 1 NM,  indique le nord-ouest et modélise un objet de longueur 1 NM, et  indique la verticale et modélise un objet de 1 ft. Ainsi, un avion est repéré par sa position  dans le référentiel  du contrôleur.

À partir de cette base, on définit la base duale  où  est la forme linéaire donnée par , ,  (une forme linéaire est définie par ses valeurs sur les vecteurs de base), de même pour  et  (avec ). Si on veut connaître l'altitude de l'avion (en pieds), on calcule  (la troisième composante), valeur en pieds anglais. Et comme ce n'est que l'altitude qui nous intéressait, on a choisi la forme linéaire , car elle s'annule sur l'espace engendré par  et  (son noyau) et vaut 1 sur . Et si l'avion arrive par la piste nord et qu'on souhaite connaître son éloignement, on calcule  (la première composante), valeur en NM. Et on vérifie qu'il n'arrive pas par la piste nord-ouest car dans notre cas  (la deuxième composante).

N.B. : on peut également se servir d'un produit scalaire pour définir une dimension. Un produit scalaire  étant une forme bilinéaire, un produit scalaire est entièrement déterminé par ses valeurs sur les vecteurs de base, c'est-à-dire par les réels  notés usuellement . Ainsi  s'écrit . Et donc on se sert explicitement de la base duale  qui justement sert à donner la "taille" 1 aux objets modélisés par les vecteurs .
Autrement dit, la représentation d'un produit scalaire dans une base nécessite au préalable la définition de la base duale .

Règles de changement de base des vecteurs (vecteurs contravariants) 

Soit  une « ancienne » base
et  une « nouvelle » base de .
On notera  et  les bases duales respectives.

A  fixé, soit  les composantes de  dans la base ,
soit génériquement

La matrice  stocke dans sa colonne 
les composantes de  dans la base  :
c'est la matrice de changement de base dite matrice de passage.

Et la matrice  est la matrice de passage de la nouvelle base vers l'ancienne :

En effet
. Ainsi  stocke dans sa colonne 
les composantes de  dans la base .

Soit , et soit :

où donc  et

sont les matrices colonnes stockant les composantes de  sur ces bases.
(Un vecteur est représenté dans une base par une matrice colonne.)

Un calcul simple donne 
(on applique les formes linéaires  de la base duale de  à l'égalité ci-dessus) :
.
Donc les nouvelles coordonnées varient en fonction de , inverse de , d'où le nom contravariant (les composantes se transforment « dans le sens contraire » au sens de la base).

Calcul des composantes d'une forme linéaire (d'un vecteur covariant) 

Soit  et soit  ses composantes dans la base duale , c-à-d

Les composantes  sont calculées en appliquant les vecteurs  : par linéarité de  on a  la j-ème composante de .

Représentation matricielle d'une forme linéaire (d'un vecteur covariant) 

On représente une forme linéaire dans une base à l'aide d'une matrice ligne, soit avec les notations ci-dessus . On dispose ainsi des règles usuelles du calcul matriciel :

Voir la convention d'Einstein ci-dessous.

Règles de changement de base des formes (vecteurs covariants) 

Soit , et soit :

où donc  et

sont les composantes de  sur les bases duales.
(Une forme linéaire est représentée dans une base par une matrice ligne.)
Un calcul simple
(on calcule les  à l'aide de l'égalité ci-dessus)
donne :
.
D'où le nom (vecteur) covariant donné aux formes linéaires
(les composantes se transforment "dans le même sens" que la base).

On vérifie immédiatement avec ces formules de changement de base que la quantité
 ne dépend pas de la base,
car  (matrice identité) : la valeur  ne dépend pas du choix de la base : on a bien :
.

La différence de sens est visible si on utilise les notations génériques :

où  matrice inverse. La première égalité donne 
(on est ici dans le cadre des changements de coordonnées cartésiens,
cas où les vecteurs de base ne dépendent pas de ),
d'où la notation générique :

N.B. : il se trouve que pour un changement de bases orthonormées, on a 
(matrice transposée), et qu'alors les règles de changement de bases sont les mêmes...
à la transposition près (matrices lignes transformées en matrices colonnes).
C'est bien sûr faux si le changement de base n'est pas orthonormé.

Et indépendamment des règles de changement de base, les physiciens sont très attachés au caractère "covariant" (l'instrument de mesure) ou "contravariant" (l'objet à mesurer).

Dans un espace de Hilbert : représentation d'une forme linéaire par un vecteur

Le vecteur de représentation (dépend d'un produit scalaire) 

Pour "représenter" une forme linéaire par un vecteur, on introduit un nouvel outil : un produit scalaire sur  noté ici  (une forme bilinéaire symétrique définie positive). L'existence et l'unicité d'un vecteur de représentation est alors donné par le théorème de représentation de Riesz :

si  est une forme linéaire continue sur , espace de Hilbert
pour le produit scalaire , alors :
,
où  est le vecteur représentant  au travers du produit scalaire .
(En dimension finie les formes linéaires sont toutes continues, et les espaces vectoriels munis d'un produit scalaire sont tous des espaces de Hilbert ; c'est faux en dimension infinie.) Un intérêt essentiel de cette représentation vectorielle d'une forme linéaire est la représentation graphique.

Définition : le vecteur  est appelé le vecteur de représentation de 
pour le produit scalaire .

Une base  étant fixée, le produit scalaire  étant fixé,
on note  la matrice du produit scalaire. Comme  est un produit scalaire, il est bilinéaire, et donc, en notant  et , on a
.

Si  et , où donc  et  sont les matrices des composantes de  et de , par définition du vecteur de représentation   de  , la définition  donne la relation matricielle  pour tout . Donc :

Soit explicitement :

où par définition on a noté .

Le vecteur de représentation est contravariant (c'est un vecteur) 

Le "vecteur covariant" (la forme linéaire) a ses composantes qui suivent les règles de changement
de base des formes linéaires, alors que le vecteur de représentation  représentant , après choix d'un produit scalaire, a ses composantes qui suivent les règles de changement de base des vecteurs :
.

En effet, relativement aux bases "old" et "new" les relations entre  et  sont
 et 
.
Donc avec les règles de changement de bases des formes linéaires, soit , et des formes bilinéaires, soit  (facile à vérifier), on obtient :
.
Les règles de changement de base pour  sont bien contravariantes.

Exemple : soit  et son produit scalaire canonique (euclidien) :
si 
et 
sont deux vecteurs exprimés dans la base canonique, ce produit scalaire est donné par
.
Soit alors la forme linéaire  donnée par
.
On représente la forme linéaire  par la matrice ligne
, et le résultat

est donné par le produit matriciel usuel.

On a également , où le vecteur de représentation  est, comme tout vecteur, représenté par une matrice colonne .
Et trivialement, pour le produit scalaire euclidien, on a .
Ici l'utilisation du produit scalaire euclidien dans la base euclidienne rend les calculs immédiats avec :

Représentation graphique : le vecteur  est orthogonal (relativement au produit scalaire euclidien) à la droite d'équation
. Autrement dit le noyau  de la forme linéaire est l'ensemble des vecteurs orthogonaux à .

Noter l'incohérence de la position des indices et exposants (voir la convention d'Einstein plus loin). La cohérence est retrouvée en appliquant la formule  sachant qu'ici .

Exemple bis : soit  mais qu'on munit du produit scalaire de matrice 
relativement à la base canonique :
c'est typiquement le cas lors de la résolution d'un problème matriciel par la méthode
du gradient conjugué, ou encore de l'analyse d'image (exemple : un cercle est dessiné au sol,
mais vu de loin vu d'un avion il ressemble à une ellipse de petit axe ici deux fois plus petit que le grand axe).
Dans ce cas, si
 alors
.

Exemple : gradient 

Soit  une application  au voisinage d'un point .
La différentielle de  en ce point est la forme linéaire  vérifiant
(développement limité au premier ordre), dans un voisinage de  ,
pour tout vecteur  :
,
et on note généralement .
Si on dispose, en plus, d'un produit scalaire  sur ,
on définit alors le vecteur gradient  de
 en  comme étant le vecteur de représentation de la différentielle  relativement au produit scalaire.
Donc par définition, pour tout vecteur  :
.

Exemple : le gradient d'une fonction
 en un point
est le vecteur de représentation relativement au produit scalaire euclidien donné en coordonnées polaires par :
.

Exemple : force 

En mécanique l'effort nécessaire pour déplacer un objet ponctuel
est modélisé par le travail .
Ce travail est une forme linéaire (fonction linéaire des déplacements), et cette
forme linéaire est représentée par un vecteur  force  (vecteur de représentation supposant implicitement l'emploi du produit scalaire euclidien) :
,
où  est un vecteur déplacement.

Si on dispose de  objets ponctuels, chacun pouvant être déplacé de ,
la linéarité du travail s'exprime :
,
les vecteurs  permettant de représenter le travail.

Et si on dispose d'un milieu continu déformable, la somme  s'écrit 
et le travail s'exprime :
,
où ici  est par exemple l'ensemble des fonctions de carré intégrable,
auquel cas .
Dans ce dernier cas,  est une fonction à valeurs vectorielles représentant  grâce à l'utilisation du produit scalaire de .

Exposants et indices dans la notation des composantes (convention d'Einstein) 

Les composantes d'un vecteur (contravariant) sont notées avec des exposants, comme dans
,
alors que les composantes d'un vecteur covariant
(une forme linéaire dans la base duale) sont notées avec des indices, comme dans
. Rappelons (voir plus haut) que le calcul de ces composantes ne nécessite pas l'utilisation d'un produit scalaire, mais juste d'une base et de sa base duale.

Cette convention, dite d'Einstein, va d'ailleurs plus loin : écrire  signifie  : la sommation est sous-entendue.

On ne peut pas se retrouver avec des produits de type ,
car cela  voudrait dire que l'on aurait utilisé implicitement un produit scalaire (lequel ?), or, dans la convention d'Einstein, un produit scalaire doit être exprimé explicitement .

Dans le cas des surfaces (ou plus généralement des variétés), les bases usuelles ne sont pas orthonormées (notion qui dépend d'un produit scalaire) : ce sont des bases  d'un système de coordonnées, bases qui varient avec le point où on se trouve.

Si on introduit un produit scalaire (plus généralement une métrique), le produit scalaire en un point est par exemple noté  et est représenté par sa matrice dans cette base. Cette matrice est souvent notée , où donc  (produit scalaire en un point de deux vecteurs de base).

Ainsi le passage `covariant'  `covecteur contravariant' est explicite et non ambigu avec la convention d'Einstein :  et la relation entre les composantes covariantes  et les composantes  (du vecteur  représentant ) est explicite :  avec cohérence des positions des indices et exposants et visibilité du produit scalaire. De même .

contravariant, covariant et covecteur