# Tensor calculus

Part of a series of articles about :
Calculus :
$\int _{a}^{b}f'(t)\,dt=f(b)-f(a)$ :
Fundamental theorem
Limits
Continuity
Rolle's theorem
Mean value theorem
Inverse function theorem :
Differential
Definitions
Derivative (generalizations)
Differential
infinitesimal
of a function
total
Concepts
Differentiation notation
Second derivative
Implicit differentiation
Logarithmic differentiation
Related rates
Taylor's theorem
Rules and identities
Sum
Product
Chain
Power
Quotient
L'Hôpital's rule
Inverse
General Leibniz
Faà di Bruno's formula
Reynolds :
Integral
Lists of integrals
Integral transform
Leibniz integral rule
Definitions
Antiderivative
Integral (improper)
Riemann integral
Lebesgue integration
Contour integration
Integral of inverse functions
Integration by
Parts
Discs
Cylindrical shells
Substitution (trigonometric, tangent half-angle, Euler)
Euler's formula
Partial fractions (Heaviside's method)
Changing order
Reduction formulae
Differentiating under the integral sign
Risch algorithm :
Series
Geometric (arithmetico-geometric)
Harmonic
Alternating
Power
Binomial
Taylor
Convergence tests
Summand limit (term test)
Ratio
Root
Integral
Direct comparison
Limit comparison
Alternating series
Cauchy condensation
Dirichlet
Abel :
Vector
Gradient
Divergence
Curl
Laplacian
Directional derivative
Identities
Theorems
Gradient
Green's
Stokes'
Divergence
generalized Stokes
Helmholtz decomposition :
Multivariable
Formalisms
Matrix
Tensor
Exterior
Geometric
Definitions
Partial derivative
Multiple integral
Line integral
Surface integral
Volume integral
Jacobian
Hessian :
Advanced
Calculus on Euclidean space
Generalized functions
Limit of distributions :
Specialized
Fractional
Malliavin
Stochastic
Variations :
Miscellanea
Precalculus
History
Glossary
List of topics
Integration Bee
Mathematical analysis
Nonstandard analysis :
vte :
In mathematics, tensor calculus, tensor analysis, or Ricci calculus is an extension of vector calculus to tensor fields (tensors that may vary over a manifold, e.g. in spacetime).
Developed by Gregorio Ricci-Curbastro and his student Tullio Levi-Civita, it was used by Albert Einstein to develop his general theory of relativity. Unlike the infinitesimal calculus, tensor calculus allows presentation of physics equations in a form that is independent of the choice of coordinates on the manifold.
Tensor calculus has many applications in physics, engineering and computer science including elasticity, continuum mechanics, electromagnetism (see mathematical descriptions of the electromagnetic field), general relativity (see mathematics of general relativity), quantum field theory, and machine learning.
Working with a main proponent of the exterior calculus Élie Cartan, the influential geometer Shiing-Shen Chern summarizes the role of tensor calculus:
   In our subject of differential geometry, where you talk about manifolds, one difficulty is that the geometry is described by coordinates, but the coordinates do not have meaning. They are allowed to undergo transformation. And in order to handle this kind of situation, an important tool is the so-called tensor analysis, or Ricci calculus, which was new to mathematicians. In mathematics you have a function, you write down the function, you calculate, or you add, or you multiply, or you can differentiate. You have something very concrete. In geometry the geometric situation is described by numbers, but you can change your numbers arbitrarily. So to handle this, you need the Ricci calculus.

## Syntax

Tensor notation makes use of upper and lower indexes on objects that are used to label a variable object as covariant (lower index), contravariant (upper index), or mixed covariant and contravariant (having both upper and lower indexes). In fact in conventional math syntax we make use of covariant indexes when dealing with Cartesian coordinate systems $(x_{1},x_{2},x_{3})$ frequently without realizing this is a limited use of tensor syntax as covariant indexed components.
Tensor notation allows upper index on an object that may be confused with normal power operations from conventional math syntax.

## Key concepts
### Vector decomposition

Tensors notation allows a vector (${\vec {V}}$) to be decomposed into an Einstein summation representing the tensor contraction of a basis vector (${\vec {Z}}_{i}$ or ${\vec {Z}}^{i}$) with a component vector ($V_{i}$ or $V^{i}$).
${\vec {V}}=V^{i}{\vec {Z}}_{i}=V_{i}{\vec {Z}}^{i}$
Every vector has two different representations, one referred to as contravariant component ($V^{i}$) with a covariant basis (${\vec {Z}}_{i}$), and the other as a covariant component ($V_{i}$) with a contravariant basis (${\vec {Z}}^{i}$). Tensor objects with all upper indexes are referred to as contravariant, and tensor objects with all lower indexes are referred to as covariant. The need to distinguish between contravariant and covariant arises from the fact that when we dot an arbitrary vector with its basis vector related to a particular coordinate system, there are two ways of interpreting this dot product, either we view it as the projection of the basis vector onto the arbitrary vector, or we view it as the projection of the arbitrary vector onto the basis vector, both views of the dot product are entirely equivalent, but have different component elements and different basis vectors:
${\vec {V}}\cdot {\vec {Z}}_{i}=V_{i}={\vec {V}}^{T}{\vec {Z}}_{i}={\vec {Z}}_{i}^{T}{\vec {V}}={\mathrm {proj} _{{\vec {Z}}^{i}}({\vec {V}})}\cdot {\vec {Z}}_{i}={\mathrm {proj} _{\vec {V}}({\vec {Z}}^{i})}\cdot {\vec {V}}$
${\vec {V}}\cdot {\vec {Z}}^{i}=V^{i}={\vec {V}}^{T}{\vec {Z}}^{i}={{\vec {Z}}^{i}}^{T}{\vec {V}}={\mathrm {proj} _{{\vec {Z}}_{i}}({\vec {V}})}\cdot {\vec {Z}}^{i}={\mathrm {proj} _{\vec {V}}({\vec {Z}}_{i})}\cdot {\vec {V}}$
For example, in physics you start with a vector field, you decompose it with respect to the covariant basis, and that's how you get the contravariant coordinates. For orthonormal cartesian coordinates, the covariant and contravariant basis are identical, since the basis set in this case is just the identity matrix, however, for non-affine coordinate system such as polar or spherical there is a need to distinguish between decomposition by use of contravariant or covariant basis set for generating the components of the coordinate system.

#### Contravariant vector decomposition

${\vec {V}}=V^{i}{\vec {Z}}_{i}$
| variable | description | Type |
| ${\vec {V}}$ | vector | invariant |
| $V^{i}$ | contravariant components (ordered set of scalars) | variant |
| ${\vec {Z}}_{i}$ | covariant bases (ordered set of vectors) | variant |

#### Covariant vector decomposition

${\vec {V}}=V_{i}{\vec {Z}}^{i}$
| variable | description | type |
| ${\vec {V}}$ | vector | invariant |
| $V_{i}$ | covariant components (ordered set of scalars) | variant |
| ${\vec {Z}}^{i}$ | contravariant bases (ordered set of covectors) | variant |

### Metric tensor

The metric tensor represents a matrix with scalar elements ($Z_{ij}$ or $Z^{ij}$) and is a tensor object which is used to raise or lower the index on another tensor object by an operation called contraction, thus allowing a covariant tensor to be converted to a contravariant tensor, and vice versa.
Example of lowering index using metric tensor:
$T_{i}=Z_{ij}T^{j}$
Example of raising index using metric tensor:
$T^{i}=Z^{ij}T_{j}$
The metric tensor is defined as:
$Z_{ij}={\vec {Z}}_{i}\cdot {\vec {Z}}_{j}$
$Z^{ij}={\vec {Z}}^{i}\cdot {\vec {Z}}^{j}$
This means that if we take every permutation of a basis vector set and dotted them against each other, and then arrange them into a square matrix, we would have a metric tensor. The caveat here is which of the two vectors in the permutation is used for projection against the other vector, that is the distinguishing property of the covariant metric tensor in comparison with the contravariant metric tensor.
Two flavors of metric tensors exist: (1) the contravariant metric tensor ($Z^{ij}$), and (2) the covariant metric tensor ($Z_{ij}$). These two flavors of metric tensor are related by the identity:
$Z_{ik}Z^{jk}=\delta _{i}^{j}$
For an orthonormal Cartesian coordinate system, the metric tensor is just the kronecker delta $\delta _{ij}$ or $\delta ^{ij}$, which is just a tensor equivalent of the identity matrix, and $\delta _{ij}=\delta ^{ij}=\delta _{j}^{i}$.

### Jacobian

In addition a tensor can be readily converted from an unbarred($x$) to a barred coordinate(${\bar {x}}$) system having different sets of basis vectors:
$f(x^{1},x^{2},\dots ,x^{n})=f{\biggx^{1}({\bar {x}}),x^{2}({\bar {x}}),\dots ,x^{n}({\bar {x}}){\bigg )}={\bar {f}}({\bar {x}}^{1},{\bar {x}}^{2},\dots ,{\bar {x}}^{n})={\bar {f}}{\bigg{\bar {x}}^{1}(x),{\bar {x}}^{2}(x),\dots ,{\bar {x}}^{n}(x){\bigg )}$
by use of Jacobian matrix relationships between the barred and unbarred coordinate system (${\bar {J}}=J^{-1}$). The Jacobian between the barred and unbarred system is instrumental in defining the covariant and contravariant basis vectors, in that in order for these vectors to exist they need to satisfy the following relationship relative to the barred and unbarred system:
Contravariant vectors are required to obey the laws:
$v^{i}={\bar {v}}^{r}{\frac {\partial x^{i}({\bar {x}})}{\partial {\bar {x}}^{r}}}$
${\bar {v}}^{i}=v^{r}{\frac {\partial {\bar {x}}^{i}(x)}{\partial x^{r}}}$
Covariant vectors are required to obey the laws:
$v_{i}={\bar {v}}_{r}{\frac {\partial {\bar {x}}^{i}(x)}{\partial x^{r}}}$
${\bar {v}}_{i}=v_{r}{\frac {\partial x^{r}({\bar {x}})}{\partial {\bar {x}}^{i}}}$
There are two flavors of Jacobian matrix:
1. The J matrix representing the change from unbarred to barred coordinates. To find J, we take the "barred gradient", i.e. partial derivative with respect to ${\bar {x}}^{i}$:
$J={\bar {\nabla }}f(x({\bar {x}}))$
2. The ${\bar {J}}$ matrix, representing the change from barred to unbarred coordinates. To find ${\bar {J}}$, we take the "unbarred gradient", i.e. partial derive with respect to $x^{i}$:
${\bar {J}}=\nabla {\bar {f}}({\bar {x}}(x))$

### Gradient vector

Tensor calculus provides a generalization to the gradient vector formula from standard calculus that works in all coordinate systems:
$\nabla F=\nabla _{i}F{\vec {Z}}^{i}$
Where:
$\nabla _{i}F={\frac {\partial F}{\partial Z^{i}}}$
In contrast, for standard calculus, the gradient vector formula is dependent on the coordinate system in use (example: Cartesian gradient vector formula vs. the polar gradient vector formula vs. the spherical gradient vector formula, etc.). In standard calculus, each coordinate system has its own specific formula, unlike tensor calculus that has only one gradient formula that is equivalent for all coordinate systems. This is made possible by an understanding of the metric tensor that tensor calculus makes use of.