Guide to Tensor Analysis
by Nitan L. and Lambert L.
Tensors are powerful mathematical tools with broad applications in physics and beyond. However, their notation and representation vary widely depending on the context, often making it challenging to see the connections between different approaches. Despite their importance, a systematic framework that unifies these diverse notations remains elusive. In this post, we explore various representations of tensors and present a structured mathematical perspective on tensor analysis.
Real Tensors
Duality of Basis
For a vector space \(\mathbb{V}\), tensors are objects that lives in \(\mathbb{V}\). For the sake of convenience, we usually choose a basis, i.e. a set of linearly independent vectors that spans the vector space \(\mathbb{V}\). The tensor object should be invariant are defined independent of the basis, allowing the tenosrs to be represented. Components are the corresponding linear superposition coefficients. Components are also refered as coordinates. Here is an intuitive example, a vector \(\mathbf{u}\) can be represented as \[ \mathbf{u} = u_1 \mathbf{g}^1 + u_2 \mathbf{g}^2 \] where \(\{\mathbf{g}^1,\mathbf{g}^2\}\) is the chosen set of basis vectors and \(\{u_1,u_2\}\) are the corresponding components of \(\mathbf{u}\).
However, the basis we have chosen is not necessarily orthonormal under a given inner product. To account for this, we define a dual basis. Given a basis \(\{\mathbf{g}^i\}\), we introduce another set of basis vectors \(\{\mathbf{g}_i\}\), which is defined by the condition \[ \mathbf{g}^i \cdot \mathbf{g}_j = \delta^i_j \] These two sets of basis vectors are known as the contravariant and covariant bases. For consistency, contravariant bases are denoted with upper indices, while covariant bases are denoted with lower indices.
The lowering and raising operators, also known as the Gram matrix, define the relationship between the basis vectors in a given space. The metric tensors are given by \[ g^{ij} = \mathbf{g}^i \cdot \mathbf{g}^j \] and \[ g_{ij} = \mathbf{g}_i \cdot \mathbf{g}_j = (g^{ij})^{-1}.\] The transformation between covariant and contravariant basis vectors is given by raising the index, \( \mathbf{g}^i = g^{ij} \mathbf{g}_j \), and lowering the index, \( \mathbf{g}_i = g_{ij} \mathbf{g}^j \). A similar transformation applies to vector components, where the contravariant and covariant components are related by \( u^i = g^{ij} u_j \) and \( u_i = g_{ij} u^j \).
To represent the vector in a different set of basis, transformation is leveraged. We are apply a set of transformation rules that links The relationship between the new components and the old ones. In the following section, we introduce different ways of transformation and the corresponding transformation rules.
Passive Transformation
Passive transformation involves keeping the tensor fixed while expressing its components with respect to a new basis. \[\mathbf{u} = u^i\mathbf{g}_i = u_i \mathbf{g}_i = {u^\prime}^i \mathbf{g^\prime}_i = u^\prime_i \mathbf{g^\prime}^i\] \comment{figure for passive transformation}
The transformation and inverse transformation rules for the basis are written as: \[\mathbf{g^\prime}_i = (\beta^{-1})_i^{\cdot j} \mathbf{g}_j\] \[\mathbf{g^\prime}^i = \beta^i_{\cdot j} \mathbf{g}^j\] \[\mathbf{g}_i = \beta_i^{\cdot j} \mathbf{g^\prime}_j\] \[\mathbf{g}^i = (\beta^{-1})^i_{\cdot j} \mathbf{g^\prime}^j\]
It is easy to show that the components transform in the same manner as the basis under a passive transformation: \[{u^\prime}_i = (\beta^{-1})_i^{\cdot j} u_j\] \[{u^\prime}^i = \beta^i_{\cdot j} u^j\] \[u_i = \beta_i^{\cdot j} u^\prime_j\] \[u^i = (\beta^{-1})^i_{\cdot j} {u^\prime}^j\]
NOTE: There is an alternative notation for tensors. While the previous notation uses \(\prime\) as superscripts to denote tensors after transformation, another legitimate notation places \(\prime\) on top of indices, e.g., \(\mathbf{g}^\prime_i \to \mathbf{g}_{i^\prime}\).
Example: \({e^i}\) is a set of orthonormal basis, the matric tensor is \[g^{ij} = e^i \cdot e^j = \delta^{ij}\] One can easily relate the metric tensor under one set of basis to that under another set of basis using the transformation rules. \[g^\prime_{ij} = \mathbf{g^\prime}_i \cdot \mathbf{g^\prime}_j = (\beta^{-1})_i^{\cdot k} (\beta^{-1})_j^{\cdot k} \mathbf{g}_i \cdot \mathbf{g}_j = [B][B]^Tg_{ij}\]
Active Transformation
In an active transformation, a new tensor \(\mathbf{u}_A^\prime\) is obtained. The components of this new tensor in the new basis are identical to the components of the original tensor in the old basis. \[\mathbf{u} = u^i \mathbf{g}_i\] \[\mathbf{u}_A^\prime = u^i \mathbf{g^\prime}_i = {u^\prime}^i \mathbf{g}_i\] \comment{figure for passive transformation}
Under active transformation, the transformation rules for the basis may be chosen to be the same as those for passive transformation; however, the components transform oppositely to the basis: \[u^\prime_i = \beta_i^{\cdot j} u_j\] \[{u^\prime}^i = (\beta^{-1})^i_{\cdot j} u^j\] \[u_i = (\beta^{-1})_i^{\cdot j} u^\prime_j\] \[u^i = \beta^i_{\cdot j} {u^\prime}^j\]
Matrix Representation
For convenience, tensor transformations can be represented using matrices. The transformation matrix is defined as \[ B \equiv \begin{bmatrix} & & \\ &(\beta^{-1})_i^{\cdot j}& \\ & & \end{bmatrix}, \; (\beta^{-1})_i^{\cdot j} = \mathbf{g^\prime}_i \cdot \mathbf{g}^j,\] with \(i\) representing the row index and \(j\) representing the column index.
Using the transformation matrix, the transformation rules for the basis under both passive and active transformations are expressed as: \[\begin{bmatrix} \mathbf{g^\prime}_1\\ \mathbf{g^\prime}_2\\ \mathbf{g^\prime}_3 \end{bmatrix} = \begin{bmatrix} & & \\ &B& \\ & & \end{bmatrix} \begin{bmatrix} \mathbf{g}_1\\ \mathbf{g}_2\\ \mathbf{g}_3 \end{bmatrix}, \; \begin{bmatrix} \mathbf{g^\prime}^1\\ \mathbf{g^\prime}^2\\ \mathbf{g^\prime}^3 \end{bmatrix} = \begin{bmatrix} & & \\ &(B^{-1})^T& \\ & & \end{bmatrix} \begin{bmatrix} \mathbf{g}^1\\ \mathbf{g}^2\\ \mathbf{g}^3 \end{bmatrix}\]
The passive transformation rules for the components can be represented in matrix form as: \[[u^\prime_i] = [B][u_i]\] \[[{u^\prime}^i] = [B^{-1}]^T[u^i]\] For active transformation, the rules can be represented as: \[[u^\prime_i] = [B^{-1}][u_i]\] \[[{u^\prime}^i] = [B]^T[u^i]\]
Tensor Representation
For real tensors, an active transformation can be interpreted as a linear map \(B(\cdot)\) from one tensor space to another. This map is denoted by \(\mathbf{B} \cdot\) in tensor notation. \[\mathbf{u}_A^\prime = B(\mathbf{u}) = \mathbf{B} \cdot \mathbf{u}\] \[\mathbf{u} = B^{-1}(\mathbf{u}_A^\prime) = \mathbf{B}^{-1} \cdot \mathbf{u}_A^\prime\] Similarly, the transformation of the basis can be written in tensor notation as: \[\mathbf{g^\prime}_i = \mathbf{B} \cdot \mathbf{g}_i\]
A tensor can be expressed in terms of a basis and its components, which obey the transformation rules above. For example, a rank 2 tensor can be written as: \[\mathbf{T} = T^i_{\cdot j} \mathbf{g}_i \mathbf{g}^j = T^{ij} \mathbf{g}_i \mathbf{g}_j = T_i^{\cdot j} \mathbf{g}^i \mathbf{g}_j = T_{ij} \mathbf{g}^i \mathbf{g}^j\] The tensor transpose is defined by swapping the order of the basis vectors: \[\mathbf{T}^{\tau} = T^i_{\cdot j} \mathbf{g}_j \mathbf{g}^i = T^j_{\cdot i} \mathbf{g}_i \mathbf{g}^j = (T^{\tau})_i^{\cdot j} \mathbf{g}^i \mathbf{g}_j\] where \((T^{\tau})_i^{\cdot j} = T^j_{\cdot i} = (T^i_{\cdot j})^T\). This demonstrates the relationship between the tensor transpose and the matrix transpose.
Complex Tensors
Passive Transformation
Complex tensors follow different transformation rules because the transformation map is no longer linear and a dot product cannot be defined. Similar to the real case, passive transformation involves expressing the components in the new basis: \[\mathbf{u} = \overline{u}^i\mathbf{g}_i = \overline{u}_i \mathbf{g}_i = \overline{u^\prime}^i \mathbf{g^\prime}_i = \overline{u^\prime}_i \mathbf{g^\prime}^i\] Here, the components are denoted as their complex conjugates to maintain consistency with the transformation rules of the real case.
Under this convention, the transformation rules for the basis are: \[\mathbf{g^\prime}_i = (\overline{\beta^{-1}})_i^{\cdot j} \mathbf{g}_j\] \[\mathbf{g^\prime}^i = \beta^i_{\cdot j} \mathbf{g}^j\] \[\mathbf{g}_i = \overline{\beta}_i^{\cdot j} \mathbf{g^\prime}_j\] \[\mathbf{g}^i = (\beta^{-1})^i_{\cdot j} \mathbf{g^\prime}^j\]
Similarly, the components transform in the same manner as the basis under passive transformation: \[{u^\prime}_i = (\overline{\beta^{-1}})_i^{\cdot j} u_j\] \[{u^\prime}^i = \beta^i_{\cdot j} u^j\] \[u_i = \overline{\beta}_i^{\cdot j} u^\prime_j\] \[u^i = (\beta^{-1})^i_{\cdot j} {u^\prime}^j\]
Active transformation
In active transformation, the new vector can be expressed similarly, with the components involving complex conjugation: \[\mathbf{u}_A^\prime = u^i \mathbf{g^\prime}_i = {u^\prime}^i \mathbf{g}_i\]
With the basis transformation rules identical to those in passive transformation, the component transformation rules are as follows: \[u^\prime_i = \overline{\beta}_i^{\cdot j} u_j\] \[{u^\prime}^i = (\beta^{-1})^i_{\cdot j} u^j\] \[u_i = (\overline{\beta^{-1}})_i^{\cdot j} u^\prime_j\] \[u^i = \beta^i_{\cdot j} {u^\prime}^j\]