다중선형대수학 및 텐서 해석에서, 공변성 및 반변성은 어떤 기하학적 또는 물리적 대상에 대한 정량적 기술이 기저(basis)의 변화에 따라 어떻게 변하는지를 기술한다.

물리학에서, 기저는 기준 축의 집합(a set of reference axes)으로 생각한다. 기준 축에 대해 이루어지는 스케일의 변화는 해당 문제에서 주어진 단위의 변화에 해당한다. 예를 들면, 미터에서 센티미터로 스케일을 변경하면, 측정된 속도 벡터의 각 성분은 100 만큼 곱해져야 할 것이다. 벡터는 기준 축에 대한 스케일에서의 변화에 대해 반대로 스케일을 변화시키는, 거동을 보인다. **즉, 벡터는 반변적(contravariant)이다**. 그 결과, 벡터는 종종 거리 또는 속도와 같이 거리에 어떤 다른 단위의 곱에 해당하는 단위를 갖는다.

이와 달리, 코벡터(covector, 또는 ''쌍대 벡터(dual vector)''라고 불림)는 일반적으로 거리의 역수 또는 거리의 역수와 어떤 다른 단위의 곱에 해당하는 단위를 갖는다. 이러한 코벡터의 예는, 공간 도함수(spatial derivative)의 단위를 갖거나 거리의 역수의 단위를 갖는, 기울기이다. 코벡터의 성분은 기준 축에서의 스케일 변화와 동일한 방식으로 변한다. **즉, 코벡터는 공변적(covariant)이다**.

보다 일반적인 기저 변화 아래에서:

원통 또는 구 좌표와 같은 곡선 좌표계는 물리적 및 기하학적 문제에서 자주 사용된다. 좌표계는 공간 상의 각 점에서의 벡터를 나타내기 위한 좌표 기저의 선택과 연관되며, 공변성과 반변성은 한 벡터에 대한 좌표 기술이 한 좌표계에서 다른 좌표계로 넘어갈 때 어떻게 변하는지를 이해하는데 있어 특히 중요하다.

텐서는 공변성 및 반변성의 특성을 모두 갖는 다중선형대수학에서의 대상이다.

## 도입
물리학에서 벡터는 일반적으로 측정 또는 일련의 측정의 결과로서, 다음과 같은 숫자의 목록(또는 튜플)으로 표현된다.

위 목록에서 숫자는 좌표계의 선택에 의존한다. 예를 들어 벡터가 관찰자에 대한 위치를 나타내는 경우, 좌표계는  강체 막대 의 시스템으로부터 얻어질 수 있다. 기하학적 대상을 나타내는 벡터의 경우, 그것이 임의의 다른 좌표계에서 어떻게 보이는지 기술하는 것이 가능해야 한다. 즉, 벡터의 성분은 특정 좌표계에서 다른 좌표계로 넘어갈 때 특정한 방식으로 변환하게 된다.

반변 벡터는, (회전 및 팽창을 포함하는) 좌표의 변화 아래에서 , **"좌표처럼 변환"**하게 되는 성분을 갖는다. **벡터 그 자체는 이러한 과정 아래에서 변하지 않는다**. 대신, 벡터의 성분은, 좌표가 변하는 것과 동일한 방식으로, 공간 축에서의 변화를 없애는 방식으로 변한다. 즉, 기준 축이 한 방향으로 회전하면, 벡터의 성분 표현은 정확히 반대로 회전한다. **

## 정의
공변성 및 반변성의 일반적인 수식화는 기저가 변할 때(수동 변환), 좌표 벡터의 성분이 어떻게 변환하는지와 관련된다. 예를 들면, V를 스칼라 장 S 상에서의 n-차원 벡터 공간이라 하고, 및 각각을 V의 기저라고 하자. 또한, 원소 을 갖는 어떤 가역적 n×n 행렬 A에 대해, **f**에서 **f′**로의 기저의 변화가, 아래와 같이 주어진다고 하자.

### 반변 변환
V에서 벡터 의 성분의 열 벡터는, 아래와 같이, **v**[**f**]로 표기하자:

그래서, 식 는 행렬 곱으로서 아래와 같이 다시 쓰여질 수 있다:

마찬가지로, 벡터 는 기저 **f**′를 통해서도, 아래와 같이, 표현될 수 있다:

하지만, 벡터 그 자체는 기저의 선택에 대해 불변적이다. 즉,

**f** 와 **f**′ 사이의 관계 를 통해 결합된 의 불변성은 아래의 결과를 함축하며

이 결과로부터, 우리는 아래의 변환 규칙을 얻을 수 있다성분을 통해 표현하면,

여기서, 계수 은 A의 역행렬의 원소이다.

벡터 의 성분이 행렬 A의 역행렬을 통해 변환하기 때문에, 이러한 성분은 기저의 변화 아래에서 **반변적으로 변환한다**고 말하여진다.

A를 상기 두 쌍과 연관시키는 방법은 화살표를 사용하는 아래의 도식에 표현되었다. 반대 방향의 화살표는 반변적 변화를 나타낸다.

**공변 변환**

V 상에서 선형 범함수(linear functional) α는 기저 **f**에서 (S에서 스칼라인) 그 **성분**을 통해 아래와 같이 일의적으로 표현된다.

이러한 성분은 기저 **f**의 기저 벡터 X of the **f** basis).

**f**에서 **f**′ 로의 기저의 변화가 있을 때, 성분은 아래와 같이 변환한다:{{NumBlk|:|

그러면, 식 은 아래와 같이 행렬 곱으로서 다시 쓰여질 수 있다:

선형 범함수 α의 성분은 행렬 A를 통해 변환하기 때문에, 이러한 성분은 기저의 변화 아래에서 **공변적으로 변환한다**고 말하여진다. 

열 벡터가 대신 사용되었다면, 변환 법칙은 아래와 같이 전치(transpose)일 것이다.

## 좌표
기저 **f** 가 벡터 공간 V 상에서 선택되면 아래의 식을 통해 V 상에서의 좌표 함수의 집합이 일의적으로 정의된다. 

벡터 공간 V 상에서의 좌표는, 아래의 관계에 의해 반변적이다.

거꾸로 말해, V 상에서 좌표 x 의 시스템은 반변 벡터를 정의한다.

반변성과 공변성에 대한 이러한 수식화는, 벡터가 접벡터(tangent vector) 또는 여접벡터(cotangent vector)로 존재하는 좌표 공간(다양체)과 같이 응용된 상황에서 보다 자연스럽다. 다양체 상의 국소 좌표계 x 가 주어질 때, 그 좌표계를 위한 기준 축은 아래의 벡터장이다.

이는 좌표 조각(coordinate patch)의 모든 점에서 좌표계 을 발생시킨다.

만일 y 가 다른 좌표계라면 그리고,

이라면, 좌표계 **f**' 은, 아래의, 좌표 전이의 야코비 행렬의 역을 통해 좌표계 **f** 와 연관되게 된다:지표로 표현하면,

접벡터는, 정의에 의해, 좌표 편미분 의 선형 조합이다. 따라서, 접벡터는 아래와 같이 정의된다:

그러한 벡터는 좌표계의 변화에 대해 반변적이다. 좌표계에서의 변화 아래에서, 아래와 같다.

따라서, 접벡터의 성분은 아래의 식을 통해 변환한다.

이에 따라, 한 좌표계에서 다른 좌표계로 넘어갈 때 이러한 방식으로 변환하는 좌표에 의존적인, n개의 양 v 의 시스템은 반변 벡터라고 불린다.

## 메트릭이 주어진 벡터의 공변 및 반변 성분
(메트릭 텐서로 언급될) 대칭적 쌍선형 형식을 갖는 장 K 상에서의 유한-차원 벡터 공간에서는 공변 및 반변 벡터는 거의 구별되지 않는다. 왜냐하면, 쌍선형 형식에 의해, 코벡터는 벡터와 동일하기 때문이다. 즉, 벡터 v는, 아래의 식을 통해, 모든 벡터 w에 대해 일의적으로 코벡터를 결정한다.

.

바꿔 말하자면, 각 코벡터 α는 위 방정식을 통해 유일한 하나의 벡터 v를 결정한다. 벡터와 코벡터 사이의 이러한 일치성 때문에, 사람들은 한 벡터의 공변 성분 또는 반변 성분을 말할 수 있다. 즉, 이는 그저 역 기저를 사용하는 동일한 벡터의 서로 다른 표현일 뿐이다. V의 기저 가 주어지면, 아래의 크로네커 델타의 조건을 요구함으로써 결정되는, V의 유일한 역 기저 가 존재한다.

이러한 기저를 통해 표현하면 임의의 벡터 v는 아래의 두 가지 방식으로 쓰여질 수 있다:

[**f**]은 기저 **f**에서의 벡터 **v**의 **공변 성분**이다. 이러한 용어법은 기저의 변화 아래에서, 아래와 같기 때문에 정당화된다.

### 유클리드 평면
따라서, 에 대해 정규화된다.

#### 예
예를 들어, 서로에 대해 45° 각도를 이루는 한 쌍의 벡터로 구성되는, 기저 **e**는 길이 1을 갖는다고 하자. 그러면, 쌍대 기저 벡터는 아래와 같이 주어진다:

이러한 규칙을 적용하면, 아래를 얻을 수 있다. 그리고

따라서, 원래 기저에서 역 기저로 가는 기저 변환 행렬은 아래와 같다.왜냐하면,

 \frac{1}{2} & -\frac{1}{\sqrt{2}} \\
 -\frac{1}{\sqrt{2}} & 2
\end{bmatrix}.

### 일반적인 유클리드 공간
보다 일반적으로, n-차원의 유클리드 공간 V에서, 기저가 아래와 같다면,

역 기저는 아래의 식으로 주어진다(여기서 반복된 지표는 합한다),

위 식에서, 계수 g 은 아래의 역행렬의 원소이다.

따라서 다음이 성립한다.

임의의 벡터의 공변 및 반변 성분

은 아래의 두 식으로 연관지을 수 있다:

및

## 비공식적 사용
물리학 분야에서, 형용사 "공변"은 "불변"에 대한 유사 표현으로 비공식적으로 사용되곤 한다. 예를 들면, 슈뢰딩거 방정식은 특수상대론의 좌표 변환 아래에서 그 형태를 유지하지 못한다. 따라서, 물리학자들은 슈뢰딩거 방정식은 공변적이지 않다고 말한다. 반면, 클라인-고든 방정식 및 디랙 방정식은 그러한 좌표 변환 아래에서 그 형태를 유지한다. 따라서, 물리학자들은 이를 공변적이라고 말한다.

"공변적"에 대한 이러한 사용에도 불구하고 클라인-고든 및 디랙 방정식은 불변적이라고 말하고 슈뢰딩거 방정식은 불변적이지 않다고 말하는 것이 보다 정확하다. 추가적으로, 모호성을 없애기 위해서는 불변성이 평가되는 변환을 명시해야 한다.

벡터의 성분은 반변적이고 코벡터의 성분은 공변적이기 때문에, 종종 벡터는 그 자체로 반변적이라 언급되고 코벡터는 공변적이라고 언급된다.

## 텐서 해석에서의 사용
공변성과 반변성 사이의 구별은 (종종 혼합된 가변성(**mixed variance**)을 갖는) 텐서를 사용하는 계산에서 특히 중요하다. 이는 텐서가 공변 및 반변 성분을 모두 갖는다는 것, 또는 벡터 및 코벡터 성분을 모두 갖는다는 것을 의미한다. 텐서의 차수(valence)는 가변적 및 공변적인 항의 수이며, 아인슈타인 표기법에서는 공변 성분은 아래 첨자로, 반변 성분은 위 첨자로 표기한다. 비록, 현대 미분 기하학은 텐서를 나타내기 위해 보다 정교한 무지표 표기법(index-free notation)을 사용하기는 하지만, 공변성과 반변성 사이의 쌍대성은 벡터 또는 텐서량을 성분으로 표현할 때마다 개재된다.

텐서 해석에 있어서, 공변 벡터는 상응하는 반변 벡터에 대해 다소 다르게 변한다. 벡터 공간에 있는 대상의 길이, 면적, 및 부피에 대한 표현은 공변 및 반변 지표를 갖는 텐서를 통해 주어질 수 있다. 좌표의 단순한 팽창 및 수축 아래에서, 역(reciprocity)은 정확하다. 아핀 변환(affine transformations) 아래에서, 벡터의 성분은 공변 및 반변적 표현 사이에 섞인다.

다양체 상에서 텐서장은 일반적으로 아인슈타인 표기법을 사용하며 다중, 위 및 아래 첨자를 갖는다. 메트릭이 다양체에 제공되면, 공변 및 반변 지표는 서로 아주 밀접하게 관계된다. 반변 지표는 메트릭 텐서를 사용하는 축약(contracting)을 통해 공변 지표로 변환할 수 있다. 역 과정은 메트릭 텐서의 (행렬) 역을 사용하는 축약을 통해 가능하다. 메트릭 텐서가 부여되지 않은 일반적인 공간에는 이러한 관계가 존재하지 않는다는 것에 유념해야 한다. 더 나아가, 보다 추상적인 관점에서 볼 때, 텐서는 단순히 "거기에" 있는 것이며, 성분은 단지 그 값이 선택된 좌표에 의존하는 인위적인 계산 도구다.

기하학적 용어로서 설명하자면, "일반적인 텐서는, 접다발(tangent bundle) 뿐만이 아니라 여접다발(cotangent bundle)에 살고 있는 부분을 갖기 때문에, 반변 지표 뿐만이 아니라 공변 지표도 갖는다."

반변 벡터는