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

Online Help

All Products    Maple    MapleSim

Physics[ThreePlusOne][Christoffel3] - The Christoffel3 symbols of a 3D hypersurface

Physics[ThreePlusOne][Ricci3] - The Ricci3 tensor of a 3D hypersurface

Physics[ThreePlusOne][Riemann3] - The Riemann3 tensor of a 3D hypersurface

Calling Sequence










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



optional, it can be definition, array, nonzero



As is the case of all the tensors of the ThreePlusOne package, Christoffel3[mu, alpha, beta], Ricci3[alpha, beta] and Riemann3[mu, nu, alpha, beta] are 4D spacetime tensors with special meaning: their are purely spatial, and so all their components are equal to zero when their indices are contravariant and any of them has a timelike value (i.e. contravariant 0). Their 3D (space) components represent the Christoffel symbols, and the Ricci and Riemann tensors on the 3D hypersurface specified by the values of the Lapse and Shift.


The value of the components of the tensors described in this page 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 or 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.


On the screen, Christoffel3, Ricci3 and Riemann3 are displayed as the corresponding Christoffel, Ricci and Riemann tensors, but in black instead of in blue.


The Christoffel3, Ricci3 and Riemann3 can be expressed in terms of the derivatives of the 3D metric gamma3_ by replacing g_ by gamma3_ in the standard expression of Christoffel, Ricci and Riemann in terms of derivatives of the 4D g_ metric, followed by projecting the result over the hypersurface, using gamma3_ as a projector:





You can also get these expressions using convert, with g_ or Christoffel as second argument, respectively for Christoffel3, and for Ricci3 and Riemann3. In the case of Riemann3 and Ricci3 , these formulas are equivalent to their definitions in terms of the 4D Riemann and Ricci and the ExtrinsicCurvature tensors, that you see when you enter Riemann3[definition], Ricci3[definition]:




In the case of Christoffel3 (not Ricci3 and not Riemann3) its components can as well be obtained from the 4D Christoffel symbols by just projecting onto the 3D hypersurface, as in



NOTE: The space components of these 4D tensors of the ThreePlusOne package are not necessarily the same as the space components of the corresponding 4D Christoffel, Ricci and Riemann tensors, whose space part are not tensors in 3D in general.


As with any other 4D tensor, to raise and lower the 4D free indices entering these 4D tensors Christoffel3, Ricci3 and Riemann3, you can contract with the 4D spacetime metric gμ,ν. This is so regardless of them being purely spatial. Also, as with any other purely spatial 4D tensor, you can as well raise and lower its 4D free indices by contracting them with the 3D metric in the hypersurface (that is also a purely spatial 4D tensor) represented by gamma3_. And as with any other tensors whose space parts are also 3D tensors (i.e. when replacing the 4D spacetime free indices by 3D space indices), their space indices are raised and lowered using the 3D metric gamma3_ with space indices (not the 4D metric g_ with space indices).


The %Christoffel3, %Ricci3 and %Riemann3 commands are the inert forms of Christoffel3, Ricci3 and Riemann3, so they represent the same mathematical objects/operations but without performing any computation/evaluation. To perform the evaluation (e.g. to get the actual values of their components when the indices have numerical values), use value.




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

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







Set up a coordinate system to work with - the first one to be set is automatically taken as the differentiation variables for the differential operators d_ and D_ and so also for constructing the Christoffel3 symbols


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 g_ with no indices




Check the nonzero components of Christoffel: since this is a Minkowski case, there are none




The nonzero components of Christoffel3 are also none




Note the difference in color: the 4D tensors are displayed in blue while the corresponding tensors of ThreePlusOne are displayed in black. For illustration purposes 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



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

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

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

Parameters: m

Signature: + + + -




Now we have, for the Christoffel3







To express Christoffel and Christoffel3 in terms of derivatives of the metric gamma3_ use convert with g_ as second argument; this also illustrates how one can be obtained from the other one by interchanging g_ with gamma3_







For Ricci3 and Riemann3 an equivalent definition in terms of the corresponding 4D tensors and the ExtrinsicCurvature is obtained by indexing with the keyword definition




where the ExtrinsicCurvature is defined as the LieDerivative of the gamma3_ 3D metric with respect to the UnitNormalVector:




Verify, by checking the components of these tensorial expressions, that this definition of Ricci3 is equivalent to its definition in terms of Christoffel3







The definition of Riemann3 in terms of the 4D Riemann and the ExtrinsicCurvature




All these definitions can be expressed with their different indices covariant or contravariant or mixed, for example:







Check the nonzero compoments of Riemann3 for this spacetime metric (Schwarzschild)




The 3D space components of the 4D tensors Ricci and Riemann, that are not tensors in 3D, are not necessarily the same as the 3D space components of Ricci3 and Riemann3 that are tensors in 3D space. For example, for the spacetime set lines above (Schwarzschild), the components of the Ricci tensor are all equal to 0




while the diagonal space components of the 4D tensor Ricci3 in a Schwarzschild spacetime are different from zero




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:







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 %. To afterwards perform the operation use value. For example,







For further information on these tensors see Christoffel, Ricci and Riemann.

See Also

Christoffel, Coordinates, D3_, d_, D_, Define, ExtrinsicCurvature, gamma3_, gamma_, LapseAndShiftConditions, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Riemann, Setup, ThreePlusOne, 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,