Musical isomorphism

In mathematics—more specifically, in differential geometry—the musical isomorphism (or canonical isomorphism) is an isomorphism between the tangent bundleTM{\displaystyle \mathrm {T} M} and the cotangent bundleTM{\displaystyle \mathrm {T} ^{*}M} of a Riemannian or pseudo-Riemannian manifold induced by its metric tensor. There are similar isomorphisms on symplectic manifolds. These isomorphisms are global versions of the canonical isomorphism between an inner product space and its dual. The term musical refers to the use of the musical notation symbols {\displaystyle \flat } (flat) and {\displaystyle \sharp } (sharp).[1][2]

In the notation of Ricci calculus and mathematical physics, the idea is expressed as the raising and lowering of indices. Raising and lowering indices are a form of index manipulation in tensor expressions.

In certain specialized applications, such as on Poisson manifolds, the relationship may fail to be an isomorphism at singular points, and so, for these cases, is technically only a homomorphism.

Motivation

The index-raising isomorphism is a coordinate-free way to define the gradient of a function gradf=(df){\displaystyle {\text{grad}}f=(df)^{\sharp }} from its exterior derivative.

In linear algebra, a finite-dimensional vector space is isomorphic to its dual space (the space of linear functionals mapping the vector space to its base field), but not canonically. Given a fixed basis for this vector space, there is a natural way to go back and forth between vectors and linear forms: vectors are represented in the basis by column vectors, linear forms are represented in the basis by row vectors, and the identification is done by transposition.

On the other hand, a finite-dimensional vector space V{\displaystyle V} endowed with a non-degenerate bilinear form,{\displaystyle \langle \cdot ,\cdot \rangle } is canonically isomorphic to its dual. The canonical isomorphism VV{\displaystyle V\to V^{*}} is given by

vv,{\displaystyle v\mapsto \langle v,\cdot \rangle }.

An example is where V=Rn{\displaystyle V=\mathbb {R} ^{n}} and ,{\displaystyle \langle \cdot ,\cdot \rangle } is the dot product.

In a basis ei{\displaystyle e_{i}}, the canonical isomorphism above can be described as follows. Let gij=ei,ej{\displaystyle g_{ij}=\langle e_{i},e_{j}\rangle } be the components of the non-degenerate bilinear form and let gij{\displaystyle g^{ij}} be the components of the inverse matrix to gij{\displaystyle g_{ij}}. Let ei{\displaystyle e^{i}} be the dual basis of ei{\displaystyle e_{i}}. A vector v{\displaystyle v} is written in the basis as v=viei{\displaystyle v=v^{i}e_{i}} using Einstein summation notation, i.e., v{\displaystyle v} has components vi{\displaystyle v^{i}} in the basis. The canonical isomorphism applied to v{\displaystyle v} gives an element of the dual, which is called a covector. The covector has components vi{\displaystyle v_{i}} in the dual basis given by contracting with g{\displaystyle g}:

vi=gijvj.{\displaystyle v_{i}=g_{ij}v^{j}.}

This is what is meant by lowering the index. Conversely, contracting a covector α=αiei{\displaystyle \alpha =\alpha _{i}e^{i}} with the inverse of g{\displaystyle g} gives a vector with components

αi=gijαj.{\displaystyle \alpha ^{i}=g^{ij}\alpha _{j}.}

in the basis ei{\displaystyle e_{i}}. This process is called raising the index.

Raising and then lowering the same index (or conversely) are inverse operations, which is reflected in gij{\displaystyle g_{ij}} and gij{\displaystyle g^{ij}} being inverses:

gijgjk=gkjgji=δik=δki{\displaystyle g^{ij}g_{jk}=g_{kj}g^{ji}={\delta ^{i}}_{k}={\delta _{k}}^{i}}

where δji{\displaystyle \delta _{j}^{i}} is the Kronecker delta or identity matrix.

The musical isomorphisms are the global version of the canonical isomorphism vv,{\displaystyle v\mapsto \langle v,\cdot \rangle } and its inverse for the tangent bundle and cotangent bundle of a (pseudo-)Riemannian manifold (M,g){\displaystyle (M,g)}. They are canonical isomorphisms of vector bundles that are defined on every tangent space TpM{\displaystyle T_{p}M} for pM{\displaystyle p\in M} by vTpMgp(v,)(TpM){\displaystyle v\in T_{p}M\mapsto g_{p}(v,\cdot )\in (T_{p}M)^{\ast }} and its inverse

Because every smooth manifold can be (non-canonically) endowed with a Riemannian metric, the musical isomorphisms show that a vector bundle on a smooth manifold is (non-canonically) isomorphic to its dual.

Abstractly, the musical isomorphisms can be understood as a currying of the bilinear form.

Discussion

Let (M,g){\displaystyle (M,g)} be a (pseudo-)Riemannian manifold. At each point p{\displaystyle p}, the map gp{\displaystyle g_{p}} is a non-degenerate bilinear form on the tangent space TpM{\displaystyle T_{p}M}. If v{\displaystyle v} is a vector in TpM{\displaystyle T_{p}M}, its flat is the covector

v=gp(v,){\displaystyle v^{\flat }=g_{p}(v,\cdot )}

in TpM{\displaystyle T_{p}^{*}M}. Since this is a smooth map that preserves the point p{\displaystyle p}, it defines a morphism of smooth vector bundles:TMTM{\displaystyle \flat :\mathrm {T} M\to \mathrm {T} ^{*}M} . By non-degeneracy of the metric, {\displaystyle \flat } has an inverse {\displaystyle \sharp } at each point, characterized by

gp(α,v)=α(v){\displaystyle g_{p}(\alpha ^{\sharp },v)=\alpha (v)}

for α{\displaystyle \alpha } in TpM{\displaystyle T_{p}^{*}M} and v{\displaystyle v} in TpM{\displaystyle T_{p}M}. The vector α{\displaystyle \alpha ^{\sharp }} is called the sharp of α{\displaystyle \alpha }. The sharp map is a smooth bundle map :TMTM{\displaystyle \sharp :\mathrm {T} ^{*}M\to \mathrm {T} M} .

Flat and sharp are mutually inverse isomorphisms of smooth vector bundles, hence, for each p{\displaystyle p} in M{\displaystyle M}, there are mutually inverse vector space isomorphisms between TpM{\displaystyle T_{p}M} and TpM{\displaystyle T_{p}^{*}M}.

The flat and sharp maps can be applied to vector fields and covector fields by applying them to each point. Hence, if X{\displaystyle X} is a vector field and ω{\displaystyle \omega } is a covector field,

X=g(X,){\displaystyle X^{\flat }=g(X,\cdot )}

and

g(ω,X)=ω(X){\displaystyle g(\omega ^{\sharp },X)=\omega (X)}.

In a moving frame

Suppose {ei} is a moving tangent frame (see also smooth frame) for the tangent bundle TM with, as dual frame (see also dual basis), the moving coframe (a moving tangent frame for the cotangent bundleTM{\displaystyle \mathrm {T} ^{*}M}; see also coframe) {ei}. Then the pseudo-Riemannian metric, which is a 2-covariant tensor field, can be written locally in this coframe as g = gijeiej using Einstein summation notation.

Given a vector field X = Xiei and denoting gijXi = Xj, its flat is

X=gijXiej=Xjej{\displaystyle X^{\flat }=g_{ij}X^{i}\mathbf {e} ^{j}=X_{j}\mathbf {e} ^{j}}.

This is referred to as lowering an index, because the components of X are written with an upper index Xi, whereas the components of X{\displaystyle X^{\flat }} are written with a lower index Xj.

In the same way, given a covector field ω = ωiei and denoting gijωi = ωj, its sharp is

ω=gijωiej=ωjej{\displaystyle \omega ^{\sharp }=g^{ij}\omega _{i}\mathbf {e} _{j}=\omega ^{j}\mathbf {e} _{j}},

where gij are the components of the inverse metric tensor (given by the entries of the inverse matrix to gij). Taking the sharp of a covector field is referred to as raising an index.

Extension to tensor products

The musical isomorphisms may also be extended, for each r, s, k, to an isomorphism between the bundle

i=1sTMj=1rTM{\displaystyle \bigotimes _{i=1}^{s}{\rm {T}}M\otimes \bigotimes _{j=1}^{r}{\rm {T}}^{*}M}

of (r,s){\displaystyle (r,s)} tensors and the bundle of (rk,s+k){\displaystyle (r-k,s+k)} tensors. Here k can be positive or negative, so long as r - k ≥ 0 and s + k ≥ 0.

Lowering an index of an (r,s){\displaystyle (r,s)} tensor gives a (r1,s+1){\displaystyle (r-1,s+1)} tensor, while raising an index gives a (r+1,s1){\displaystyle (r+1,s-1)}. Which index is to be raised or lowered must be indicated.

For instance, consider the (0, 2) tensor X = Xijeiej. Raising the second index, we get the (1, 1) tensor

X=gjkXijeiek.{\displaystyle X^{\sharp }=g^{jk}X_{ij}\,{\rm {e}}^{i}\otimes {\rm {e}}_{k}.}

In other words, the components Xik{\displaystyle X_{i}^{k}} of X{\displaystyle X^{\sharp }} are given by

Xik=gjkXij.{\displaystyle X_{i}^{k}=g^{jk}X_{ij}.}

Similar formulas are available for tensors of other orders. For example, for a (0,n){\displaystyle (0,n)} tensor X, all indices are raised by:[3]

Xj1j2jn=gj1i1gj2i2gjninXi1i2in.{\displaystyle X^{j_{1}j_{2}\cdots j_{n}}=g^{j_{1}i_{1}}g^{j_{2}i_{2}}\cdots g^{j_{n}i_{n}}X_{i_{1}i_{2}\cdots i_{n}}.}

For a (n,0){\displaystyle (n,0)} tensor X, all indices are lowered by:

Xj1j2jn=gj1i1gj2i2gjninXi1i2in.{\displaystyle X_{j_{1}j_{2}\cdots j_{n}}=g_{j_{1}i_{1}}g_{j_{2}i_{2}}\cdots g_{j_{n}i_{n}}X^{i_{1}i_{2}\cdots i_{n}}.}

For a mixed tensor of order (n,m){\displaystyle (n,m)}, all lower indices are raised and all upper indices are lowered by

Xp1p2pnq1q2qm=gp1i1gp2i2gpningq1j1gq2j2gqmjmXi1i2inj1j2jm.{\displaystyle {X_{p_{1}p_{2}\cdots p_{n}}}^{q_{1}q_{2}\cdots q_{m}}=g_{p_{1}i_{1}}g_{p_{2}i_{2}}\cdots g_{p_{n}i_{n}}g^{q_{1}j_{1}}g^{q_{2}j_{2}}\cdots g^{q_{m}j_{m}}{X^{i_{1}i_{2}\cdots i_{n}}}_{j_{1}j_{2}\cdots j_{m}}.}

Well-formulated expressions are constrained by the rules of Einstein summation notation: any index may appear at most twice and furthermore a raised index must contract with a lowered index. With these rules we can immediately see that an expression such as gijviuj{\displaystyle g_{ij}v^{i}u^{j}} is well formulated while gijviuj{\displaystyle g_{ij}v_{i}u_{j}} is not.

Extension to k-vectors and k-forms

In the context of exterior algebra, an extension of the musical operators may be defined on V and its dual V*, and are again mutual inverses:[4]

:i=1kVi=1kV,{\displaystyle \flat :\bigwedge _{i=1}^{k}V\to \bigwedge _{i=1}^{k}V^{*},}
:i=1kVi=1kV,{\displaystyle \sharp :\bigwedge _{i=1}^{k}V^{*}\to \bigwedge _{i=1}^{k}V,}

defined by

(XZ)=XZ,{\displaystyle (X\wedge \ldots \wedge Z)^{\flat }=X^{\flat }\wedge \ldots \wedge Z^{\flat },}
(αγ)=αγ.{\displaystyle (\alpha \wedge \ldots \wedge \gamma )^{\sharp }=\alpha ^{\sharp }\wedge \ldots \wedge \gamma ^{\sharp }.}

In this extension, in which maps k-vectors to k-covectors and maps k-covectors to k-vectors, all the indices of a totally antisymmetric tensor are simultaneously raised or lowered, and so no index need be indicated: Y=(Yi1ijei1eij)=gi1r1gijrsYi1iker1ers.{\displaystyle Y^{\sharp }=(Y_{i_{1}\dots i_{j}}\mathbf {e} ^{i_{1}}\otimes \dots \otimes \mathbf {e} ^{i_{j}})^{\sharp }=g^{i_{1}r_{1}}\dots g^{i_{j}r_{s}}\,Y_{i_{1}\dots i_{k}}\,\mathbf {e} _{r_{1}}\otimes \dots \otimes \mathbf {e} _{r_{s}}.}

This works not just for k-vectors in the context of linear algebra but also for k-forms in the context of a (pseudo-)Riemannian manifold:

:i=1kTMi=1kTM,{\displaystyle \flat :\bigwedge _{i=1}^{k}{\rm {T}}M\to \bigwedge _{i=1}^{k}{\rm {T}}^{*}M,}
:i=1kTMi=1kTM,{\displaystyle \sharp :\bigwedge _{i=1}^{k}{\rm {T}}^{*}M\to \bigwedge _{i=1}^{k}{\rm {T}}M,}

Vector bundles with bundle metrics

More generally, musical isomorphisms always exist between a vector bundle endowed with a bundle metric and its dual.

Trace of a tensor

Given a (0, 2) tensor X = Xijeiej, we define the trace of X through the metric tensor g by trg(X):=tr(X)=tr(gjkXijeiek)=gijXij.{\displaystyle \operatorname {tr} _{g}(X):=\operatorname {tr} (X^{\sharp })=\operatorname {tr} (g^{jk}X_{ij}\,{\bf {e}}^{i}\otimes {\bf {e}}_{k})=g^{ij}X_{ij}.}

Observe that the definition of trace is independent of the choice of index to raise, since the metric tensor is symmetric.

The trace of an (r,s){\displaystyle (r,s)} tensor can be taken in a similar way, so long as one specifies which two distinct indices are to be traced. This process is also called contracting the two indices. For example, if X is an (r,s){\displaystyle (r,s)} tensor with r > 1, then the indices i1{\displaystyle i_{1}} and i2{\displaystyle i_{2}} can be contracted to give an (r2,s){\displaystyle (r-2,s)} tensor with components

Xj1j2jsi3i4ir=gi1i2Xj1j2jsi1i2ir.{\displaystyle X_{j_{1}j_{2}\cdots j_{s}}^{i_{3}i_{4}\cdots i_{r}}=g_{i_{1}i_{2}}X_{j_{1}j_{2}\cdots j_{s}}^{i_{1}i_{2}\cdots i_{r}}.}

Example computations

In Minkowski spacetime

The covariant 4-position is given by

Xμ=(ct,x,y,z){\displaystyle X_{\mu }=(-ct,x,y,z)}

with components:

X0=ct,X1=x,X2=y,X3=z{\displaystyle X_{0}=-ct,\quad X_{1}=x,\quad X_{2}=y,\quad X_{3}=z}

(where x,y,z are the usual Cartesian coordinates) and the Minkowski metric tensor with metric signature (− + + +) is defined as

ημν=ημν=(1000010000100001){\displaystyle \eta _{\mu \nu }=\eta ^{\mu \nu }={\begin{pmatrix}-1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}}}

in components:

η00=1,ηi0=η0i=0,ηij=δij(i,j0).{\displaystyle \eta _{00}=-1,\quad \eta _{i0}=\eta _{0i}=0,\quad \eta _{ij}=\delta _{ij}\,(i,j\neq 0).}

To raise the index, multiply by the tensor and contract:

Xλ=ηλμXμ=ηλ0X0+ηλiXi{\displaystyle X^{\lambda }=\eta ^{\lambda \mu }X_{\mu }=\eta ^{\lambda 0}X_{0}+\eta ^{\lambda i}X_{i}}

then for λ = 0:

X0=η00X0+η0iXi=X0{\displaystyle X^{0}=\eta ^{00}X_{0}+\eta ^{0i}X_{i}=-X_{0}}

and for λ = j = 1, 2, 3:

Xj=ηj0X0+ηjiXi=δjiXi=Xj.{\displaystyle X^{j}=\eta ^{j0}X_{0}+\eta ^{ji}X_{i}=\delta ^{ji}X_{i}=X_{j}\,.}

So the index-raised contravariant 4-position is:

Xμ=(ct,x,y,z).{\displaystyle X^{\mu }=(ct,x,y,z)\,.}

This operation is equivalent to the matrix multiplication

(1000010000100001)(ctxyz)=(ctxyz).{\displaystyle {\begin{pmatrix}-1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}}{\begin{pmatrix}-ct\\x\\y\\z\end{pmatrix}}={\begin{pmatrix}ct\\x\\y\\z\end{pmatrix}}.}

Given two vectors, Xμ{\displaystyle X^{\mu }} and Yμ{\displaystyle Y^{\mu }}, we can write down their (pseudo-)inner product in two ways:

ημνXμYν.{\displaystyle \eta _{\mu \nu }X^{\mu }Y^{\nu }.}

By lowering indices, we can write this expression as

XμYμ.{\displaystyle X_{\mu }Y^{\mu }.}

In matrix notation, the first expression can be written as

(X0X1X2X3)(1000010000100001)(Y0Y1Y2Y3){\displaystyle {\begin{pmatrix}X^{0}&X^{1}&X^{2}&X^{3}\end{pmatrix}}{\begin{pmatrix}-1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}}{\begin{pmatrix}Y^{0}\\Y^{1}\\Y^{2}\\Y^{3}\end{pmatrix}}}

while the second is, after lowering the indices of Xμ{\displaystyle X^{\mu }},

(X0X1X2X3)(Y0Y1Y2Y3).{\displaystyle {\begin{pmatrix}-X^{0}&X^{1}&X^{2}&X^{3}\end{pmatrix}}{\begin{pmatrix}Y^{0}\\Y^{1}\\Y^{2}\\Y^{3}\end{pmatrix}}.}

In electromagnetism

For a (0,2) tensor,[3] twice contracting with the inverse metric tensor and contracting in different indices raises each index:

Aμν=gμρgνσAρσ.{\displaystyle A^{\mu \nu }=g^{\mu \rho }g^{\nu \sigma }A_{\rho \sigma }.}

Similarly, twice contracting with the metric tensor and contracting in different indices lowers each index:

Aμν=gμρgνσAρσ{\displaystyle A_{\mu \nu }=g_{\mu \rho }g_{\nu \sigma }A^{\rho \sigma }}

Let's apply this to the theory of electromagnetism.

The contravariantelectromagnetic tensor in the (+ − − −)signature is given by[5]

Fαβ=(0ExcEycEzcExc0BzByEycBz0BxEzcByBx0).{\displaystyle F^{\alpha \beta }={\begin{pmatrix}0&-{\frac {E_{x}}{c}}&-{\frac {E_{y}}{c}}&-{\frac {E_{z}}{c}}\\{\frac {E_{x}}{c}}&0&-B_{z}&B_{y}\\{\frac {E_{y}}{c}}&B_{z}&0&-B_{x}\\{\frac {E_{z}}{c}}&-B_{y}&B_{x}&0\end{pmatrix}}.}

In components,

F0i=Fi0=Eic,Fij=εijkBk{\displaystyle F^{0i}=-F^{i0}=-{\frac {E^{i}}{c}},\quad F^{ij}=-\varepsilon ^{ijk}B_{k}}

To obtain the covariant tensor Fαβ, contract with the inverse metric tensor:

Fαβ=ηαγηβδFγδ=ηα0ηβ0F00+ηαiηβ0Fi0+ηα0ηβiF0i+ηαiηβjFij{\displaystyle {\begin{aligned}F_{\alpha \beta }&=\eta _{\alpha \gamma }\eta _{\beta \delta }F^{\gamma \delta }\\&=\eta _{\alpha 0}\eta _{\beta 0}F^{00}+\eta _{\alpha i}\eta _{\beta 0}F^{i0}+\eta _{\alpha 0}\eta _{\beta i}F^{0i}+\eta _{\alpha i}\eta _{\beta j}F^{ij}\end{aligned}}}

and since F00 = 0 and F0i = − Fi0, this reduces to

Fαβ=(ηαiηβ0ηα0ηβi)Fi0+ηαiηβjFij{\displaystyle F_{\alpha \beta }=\left(\eta _{\alpha i}\eta _{\beta 0}-\eta _{\alpha 0}\eta _{\beta i}\right)F^{i0}+\eta _{\alpha i}\eta _{\beta j}F^{ij}}

Now for α = 0, β = k = 1, 2, 3:

F0k=(η0iηk0η00ηki)Fi0+η0iηkjFij=(0(δki))Fi0+0=Fk0=F0k{\displaystyle {\begin{aligned}F_{0k}&=\left(\eta _{0i}\eta _{k0}-\eta _{00}\eta _{ki}\right)F^{i0}+\eta _{0i}\eta _{kj}F^{ij}\\&={\bigl (}0-(-\delta _{ki}){\bigr )}F^{i0}+0\\&=F^{k0}=-F^{0k}\\\end{aligned}}}

and by antisymmetry, for α = k = 1, 2, 3, β = 0:

Fk0=Fk0{\displaystyle F_{k0}=-F^{k0}}

then finally for α = k = 1, 2, 3, β = l = 1, 2, 3;

Fkl=(ηkiηl0ηk0ηli)Fi0+ηkiηljFij=0+δkiδljFij=Fkl{\displaystyle {\begin{aligned}F_{kl}&=\left(\eta _{ki}\eta _{l0}-\eta _{k0}\eta _{li}\right)F^{i0}+\eta _{ki}\eta _{lj}F^{ij}\\&=0+\delta _{ki}\delta _{lj}F^{ij}\\&=F^{kl}\\\end{aligned}}}

The (covariant) lower indexed tensor is then:

Fαβ=(0ExcEycEzcExc0BzByEycBz0BxEzcByBx0){\displaystyle F_{\alpha \beta }={\begin{pmatrix}0&{\frac {E_{x}}{c}}&{\frac {E_{y}}{c}}&{\frac {E_{z}}{c}}\\-{\frac {E_{x}}{c}}&0&-B_{z}&B_{y}\\-{\frac {E_{y}}{c}}&B_{z}&0&-B_{x}\\-{\frac {E_{z}}{c}}&-B_{y}&B_{x}&0\end{pmatrix}}}

This operation is equivalent to the matrix multiplication

(1000010000100001)(0ExcEycEzcExc0BzByEycBz0BxEzcByBx0)(1000010000100001)=(0ExcEycEzcExc0BzByEycBz0BxEzcByBx0).{\displaystyle {\begin{pmatrix}-1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}}{\begin{pmatrix}0&-{\frac {E_{x}}{c}}&-{\frac {E_{y}}{c}}&-{\frac {E_{z}}{c}}\\{\frac {E_{x}}{c}}&0&-B_{z}&B_{y}\\{\frac {E_{y}}{c}}&B_{z}&0&-B_{x}\\{\frac {E_{z}}{c}}&-B_{y}&B_{x}&0\end{pmatrix}}{\begin{pmatrix}-1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}}={\begin{pmatrix}0&{\frac {E_{x}}{c}}&{\frac {E_{y}}{c}}&{\frac {E_{z}}{c}}\\-{\frac {E_{x}}{c}}&0&-B_{z}&B_{y}\\-{\frac {E_{y}}{c}}&B_{z}&0&-B_{x}\\-{\frac {E_{z}}{c}}&-B_{y}&B_{x}&0\end{pmatrix}}.}

See also

Citations

  1. Lee 2003, Chapter 11.
  2. Lee 1997, Chapter 3.
  3. 12Kay, D. C. (1988). Tensor Calculus. Schaum’s Outlines. New York: McGraw Hill. ISBN 0-07-033484-6.
  4. Vaz & da Rocha 2016, pp. 48, 50.
  5. NB: Some texts, such as: Griffiths, David J. (1987). Introduction to Elementary Particles. Wiley, John & Sons, Inc. ISBN 0-471-60386-4., will show this tensor with an overall factor of −1. This is because they used the negative of the metric tensor used here: (− + + +), see metric signature. In older texts such as Jackson (2nd edition), there are no factors of c since they are using Gaussian units. Here SI units are used.

References

  • Lee, J. M. (2003). Introduction to Smooth manifolds. Springer Graduate Texts in Mathematics. Vol. 218. ISBN 0-387-95448-1.
  • Lee, J. M. (1997). Riemannian Manifolds – An Introduction to Curvature. Springer Graduate Texts in Mathematics. Vol. 176. Springer Verlag. ISBN 978-0-387-98322-6.
  • Vaz, Jayme; da Rocha, Roldão (2016). An Introduction to Clifford Algebras and Spinors. Oxford University Press. ISBN 978-0-19-878-292-6.