ExtrinsicCurvature - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : ThreePlusOne : ExtrinsicCurvature

Physics[ThreePlusOne][ExtrinsicCurvature] - The ExtrinsicCurvature curvature tensor of a 3D spacelike hypersurface defined by Tau(x1, x2, x3, t) = constant

Calling Sequence


ExtrinsicCurvature[μ,ν, matrix]





the indices, as names representing integer numbers between 0 and the spacetime dimension, they can also be the numbers themselves



optional, returns the matrix form for the given (covariant or contravariant) indices; if passed without indices it returns the covariant metric



optional, it can be definition, matrix, nonzero



The ExtrinsicCurvature[mu, nu], displayed as Κ__μ,ν, in black as all the tensors of ThreePlusOne, is a computational representation for a 4D symmetric tensor whose space components are the extrinsic curvature of a 3D hypersurface, defined by some global function Τx1,x2,x3,t=constant. Note: to work with ExtrinsicCurvature[mu, nu], a kind of letter to represent a space index must be set first using Setup, for instance entering Setup(spaceindices = lowercaselatin_is). In turn this kind of letter is automatically set when you load ThreePlusOne.


The value of the components of the ExtrinsicCurvature are related to the values of the Lapse and Shift, that you can set using Setup and its lapseandshift keyword. There are three possible values for lapseandshift: standard, arbitrary, or a list of algebraic expressions representing the Lapse and Shift. The value chosen determines the values of the components of all the ThreePlusOne tensors and so of tensorial expressions involving them (e.g. the ADMEquations). Those components are always computed first in terms of the Lapse and Shift and the space part gi,j of the 4D metric, then in a second step, if lapseandshift = standard, the Lapse and the Shift are replaced by their expressions in terms of the g0,μ part of the 4D metric, according to α2=g0,0-1 and βj=g0,j, or if lapseandshift was set passing a list to Setup then in terms of the values indicated in that list (these values are not used to set the g0,μ part of the 4D metric). When lapseandshift = arbitrary, the second step is not performed and the Lapse and Shift evaluate to themselves, representing an arbitrary value for them. In the three cases, standard, arbitrary, or a list of algebraic expressions, the components of the ThreePlusOne tensors are computed in terms of a metric with line element ds2=α2dt2+γi,jdxi+βiidtdxj+βjjdt, where α and βi have the Lapse and Shift values mentioned, and γi,j=gi,j is the ThreePlusOne:-gamma3_ metric of the 3D hypersurface. This design permits working with any 4D metric set and, without changing its value, experimenting with different values of the Lapse and Shift (different values of g0,μ) for the 3+1 decomposition of Einstein's equations. See also LapseAndShiftConditions.


When the spacetime indices of ExtrinsicCurvature assume integer values, it is expected they are between 0 and 3, and the corresponding value of ExtrinsicCurvature is returned. The presentation in this page also assumes the signature (+ + + -), automatically set when ThreePlusOne is loaded. This signature is physically equivalent to (- + + +) but (+ + + -) has the computational advantage of having space indices running from 1 to 3 (instead of from 2 to 4) and the value 0 of a spacetime index pointing to position 4 (instead of position 1).


The components of ExtrinsicCurvature[mu, nu] are related to the space components of the 4D spacetime metric g__μ,ν (represented by g_) through the 3D metric γ__μ,ν (represented by gamma3_) entering the definition



where  is the LieDerivative operator, n is the UnitNormalVector vector, and γ__μ,ν is the gamma3_ 3D metric. The ExtrinsicCurvature is thus a measure of change in the UnitNormalVector n__μ as we parallel transport it to a nearby point: in general, the new vector will not be normal to the hypersurface. In this sense, an alternative equivalent definition is



i.e., the projection onto the 3D hypersurface of the covariant derivative (4D gradient) of the UnitNormalVector. From this definition it is clear that Κ__μ,ν is a purely spatial tensor, nμΚμ,ν=0, so that, in an adapted system of coordinates (see Lapse), Κ0μ=0. Consequently, Κμμ=Κii and Κμ,νΚμ,ν=Κi,jΚi,j, where i,j are space tensor indices.


In the context of a Hamiltonian description of gravity (see [5]), the ExtrinsicCurvature is also related to the "conjugate momentum" Π__i,j of the 3D metric γ__μ,ν (represented by gamma3_) by



Although Π__i,j is not a predefined tensor of the ThreePlusOne package, you can make it work as if it were by simply defining it passing the equation above to the Define command. After that, Π__i,j will be understood by the system as any of the tensors of the Physics package.


Regarding the geometry in this 3D hypersurface described by γ__i,j, a 3D covariant derivative, related Christoffel symbols, and the Ricci and Riemann tensors are represented respectively by the D3_, Christoffel3, Ricci3 and Riemann3 commands. The definition of these commands is obtained by replacing g_ by the 3D metric gamma3_ in the definitions of the 4D spacetime D_, Christoffel, Ricci and Riemann tensors. All of D3_, Christoffel3, Ricci3 and Riemann3 are also tensors in 3D when replacing spacetime indices by space indices.


You can change the value of the ExtrinsicCurvature in different ways by changing the value of the 4D metric g_, using Setup or g_ itself as explained in its help page.


Besides being indexed with two indices, ExtrinsicCurvature accepts the following keywords as an index:


definition: when passed alone, ExtrinsicCurvature returns its 4D definition in terms of the UnitNormalVector and the spacetime metric g_. When passed with space indices, it returns its expression in terms of them spatial components of g_.


matrix: (synonym: Matrix, array, Array, or no indices whatsoever, as in ExtrinsicCurvature[]) returns a Matrix that when indexed with numerical values from 1 to the dimension of spacetime it returns the value of each of the components of ExtrinsicCurvature. If this keyword is passed together with indices, that can be covariant or contravariant, the resulting Matrix takes into account the character of the indices.


nonzero: returns a set of equations, with the left-hand side as a sequence of two positive numbers identifying the element of γ__i,j and the corresponding value on the right-hand side. Note that this set is actually the output of the ArrayElems command when passing to it the Matrix obtained with the keyword matrix.


The %ExtrinsicCurvature command is the inert form of ExtrinsicCurvature, so it represents the same tensor but entering it does not result in performing any computation. To perform the related computations as if %ExtrinsicCurvature were ExtrinsicCurvature, use value.




Systems of spacetime coordinates are:X=x,y,z,t




When Physics is initialized, the default spacetime metric is of Minkowski type. You can see the metric querying Setup, as in Setup(metric), or directly entering the metric as g_[], with no indices




The default signature is (- - - +) so that the timelike component in position 4, and when indexing 4D tensors the values 0 and 4 represent the same object.

When loading ThreePlusOne, a kind of letter to represent space indices is automatically set and, in order to match the literature related to the ADM formalism and numerical relativity, the signature is also changed into (+ + + -) so the value 0 of a spacetime index still points to the tensor component in position 4.



Setting lowercaselatin_is letters to represent space indices

Defined as 4D spacetime tensors see ?Physics,ThreePlusOne,γμ,ν,μ,Γμ,ν,α,Rμ,ν,Rμ,ν,α,β,βμ,nμ,tμ,Κμ,ν

Changing the signature of spacetime from - - - + to + + + - in order to match the signature customarily used in the ADM formalism



Note the display of the tensors of ThreePlusOne: it is the same as the analogous 4D spacetime tensors but in black instead of blue. That automatic redefinition of the signature includes a call to the Redefine command to redefine the spacetime metric accordingly:




You can always change the signature as desired using the Setup command and/or redefine the metric accordingly using Redefine. (Note: with the signature (- + + +) the value 0 of an index points to position 1, not position 4.)

You can always query about the letters used to represent spacetime and space indices via




The definition of ExtrinsicCurvature and of UnitNormalVector







To set the scenario as a curved spacetime set the metric using Setup, for instance indicating the square of the spacetime interval. This can be done directly from g_. Choose for example the keyword Tolman and this also, automatically, implies on setting spherical coordinates as the differentiation variables for d_



Systems of spacetime coordinates are:X=r,θ,φ,t

Default differentiation variables for d_, D_ and dAlembertian are:X=r,θ,φ,t

The Tolman metric in coordinates r,θ,φ,t

Parameters: Rt,r,Er

Signature: + + + -




Use a compact display for these functions to avoid redundant repeated display of their functionality, and in addition have derivatives displayed indexed by the differentiation variables


Erwill now be displayed asE

Rt,rwill now be displayed asR


The corresponding 3D line element




Once the spacetime metric is set, all the tensors of the Physics package, or for the case those that you can define using the Physics:-Define command, automatically derive the value of their components taking the metric into account.

The matrix form: all of ExtrinsicCurvature[], ExtrinsicCurvature[matrix] and ExtrinsicCurvature[mu, nu, matrix] return the all-covariant matrix




The advantage of the syntax ExtrinsicCurvature[mu, nu, matrix] is that you can specify the covariant or contravariant character of each index individually, and also specify a different kind of indices, for instance of space kind. For example:




As it is the case of all the tensors of the Physics package, to compute with a representation for them without actually performing the operation, use the inert form, that is the same tensor name but preceded by the percentage % (note the display of inert objects in grey). To afterwards perform the operation use value. For example,







The symmetry property of ExtrinsicCurvature is automatically taken into account when the indices have symbolic values:







For the matrix components of the all contravariant Κ&i;,&j;, you can use ExtrinsicCurvature[~mu, ~nu, matrix], with contravariant indices (prefixed by ~), or directly




The nonzero components




The nonzero components of the all-contravariant ExtrinsicCurvature




Regarding the geometric tensors necessary to work within a 3D hypersurface, by replacing g_ by gamma3_ in the definitions of the 4D Christoffel, Ricci and Riemann you obtain the corresponding 3D symbols and tensors, that among other things allow you to express covariant derivatives in a 3D curved space




This actually the definition of Christoffel3




The same relationship / definition, also for Ricci3 and Riemann3, is obtained by indexing these tensors with the keyword definition, or using convert with g_ as second argument













The 3D space components of the 4D tensors Christoffel, Ricci and Riemann, that are not tensors in 3D, are not necessarily the same as the 3D space components of Christoffel3, Ricci3 and Riemann3 that are tensors in 3D space. For example, set the scenario as a Schwarzschild spacetime in spherical coordinates; you can do this entering Setup(metric = Schwarzschild) or in the simpler form taking advantage of abbreviations and directly using the spacetime metric g_ command



The Schwarzschild metric in coordinates r,θ,φ,t

Parameters: m

Signature: + + + -




For this spacetime, the components of the Ricci tensor are all equal to 0




while the diagonal space components of the 4D tensor Ricci3 are not




To work with only the 3D space components that constitute a 3D tensor, use space indices. To see the matrix form restricted to 3D, for example:







Also, for a Schwarzschild spacetime in spherical coordinates as the one set, all the components of the ExtrinsicCurvature are equal to 0:




So, for this spacetime in these coordinates, the UnitNormalVector does not change under parallel transport on the 3D hypersurface.

See Also

ArrayElems, Christoffel, Christoffel3, convert, Coordinates, D3_, D_, d_, g_, gamma3_, Lapse, LapseAndShiftConditions, Matrix, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Ricci3, Riemann, Riemann3, Setup, Shift, ThreePlusOne, TimeVector, UnitNormalVector, value



[1] Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.


[2] Alcubierre, M., Introduction to 3+1 Numerical Relativity, International Series of Monographs on Physics 140, Oxford University Press, 2008.


[3] Baumgarte, T.W., Shapiro, S.L., Numerical Relativity, Solving Einstein's Equations on a Computer, Cambridge University Press, 2010.


[4] Gourgoulhon, E., 3+1 Formalism and Bases of Numerical Relativity, Lecture notes, 2007, https://arxiv.org/pdf/gr-qc/0703035v1.pdf.


[5] Arnowitt, R., Dese, S., Misner, C.W., The Dynamics of General Relativity, Chapter 7 in Gravitation: an introduction to current research (Wiley, 1962), https://arxiv.org/pdf/gr-qc/0405109v1.pdf