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

Online Help

All Products    Maple    MapleSim

Physics[Ricci] - The Ricci tensor

Calling Sequence



convert(expression, Ricci)


mu, nu


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



can be any of: scalars, definition, scalarsdefinition, nonzero, ~, to respectively get the Weyl scalars, definition of the tensor or of its scalars, a set with the nonzero components, or an Array with the contravariant components



The Ricci[mu, nu], displayed as R__μ,ν, is a computational representation for the Ricci tensor, defined in terms of the Riemann tensor as



From this definition, and because of the symmetries of the Riemann tensor with respect to interchanging the positions of its indices the Ricci tensor is symmetric with respect to interchanging the position of its indices.


Expressing the Riemann tensor in terms of the Christoffel symbols and its derivatives, an equivalent definition is



During a Maple session, the value of any component of R__μ,ν is automatically determined by the value of the spacetime metric. When Physics is loaded, the spacetime is set to galilean, of Minkowski type, and so all the elements of Ricci are automatically zero. To set the spacetime metric to something different use Setup or g_. Also, at least one system of coordinates must be set in order to compute the derivatives entering the definition of the Christoffel symbols, used to construct the Ricci tensor. For that purpose see Setup or Coordinates.


When the indices of Ricci assume integer values they are expected to be between 0 and the spacetime dimension, prefixed by ~ when they are contravariant, and the corresponding value of Ricci is returned. The values 0 and 4, or for the case any dimension set for the spacetime, represent the same object. When the indices have symbolic values Ricci returns unevaluated after normalizing its indices taking into account their symmetry property.


Computations performed with the Physics package commands take into account Einstein's sum rule for repeated indices - see `.` and Simplify. The distinction between covariant and contravariant indices in the input of tensors is done by prefixing contravariant ones with ~, say as in ~mu; in the output, contravariant indices are displayed as superscripts. For contracted indices, you can enter them one covariant and one contravariant. Note however that - provided that the spacetime metric is galilean (Euclidean or Minkowski), or the object is a tensor also in curvilinear coordinates - this distinction in the input is not relevant, and so contracted indices can be entered as both covariant or both contravariant, in which case they will be automatically rewritten as one covariant and one contravariant. Tensors can have spacetime and space indices at the same time. To change the type of letter used to represent spacetime or space indices see Setup.


Besides being indexed with two indices, Ricci accepts other indexations (keywords) with special meaning:


matrix: (synonym: Matrix, array, Array, or no indices whatsoever, as in Ricci[]) 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 Ricci. 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.


~: returns an Array with the all-contravariant components of the Ricci tensor


definition: returns the definition of the Ricci tensor in terms of the Christoffel symbols and their derivatives.


nonzero: returns a set of equations, with the left-hand-side as a sequence of two positive numbers identifying the element of R__μ,ν 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 Array obtained with the keyword array.


scalar: returns Rμμ, the trace of the Ricci tensor, also known as the Ricci scalar, an invariant.


scalars: returns the Ricci scalars of the Newman-Penrose formalism (see [2], sec. 2.7), Φ00,Φ01,Φ02,Φ11,Φ12,Φ22,Λ, relevant in the classification of the SegreType of a spacetime. The spinor components Φ10,Φ20,Φ21 are respectively obtained from Φ01,Φ02,Φ12 by exchanging mμ and m&conjugate0;μ in the definitions shown when using scalarsdefinition. For electrovacuum solutions, the NP curvature scalar Λ=0.


scalarsdefinition: returns the definition of the Ricci scalars in terms of the null vectors of the Newman-Penrose formalism, lμ,nμ,mμ,m&conjugate0;μ. Note that a general sign in this definition depends on the signature, that you can query entering Setup(signature) and change it using Setup to any of the four possible signatures predefined.


Some automatic checking and normalization are carried out each time you enter Ricci[...]. The checking is concerned with possible syntax errors. The automatic normalization takes into account the symmetry of Ricci[mu,nu] with respect to interchanging the positions of the indices mu and nu.


The %Ricci command is the inert form of Ricci, so it represents the same mathematical operation but without performing it. To perform the operation, use value.


Sometimes it is convenient to rewrite tensorial expressions involving the Einstein tensor in terms of the Ricci tensor. For this purpose use convert(expression, Ricci) - see the Examples section.






Set up a coordinate system to work with - the first one to be set is automatically taken as the differentiation variables for d_, the covariant derivative D_ and the dAlembertian


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




Check the nonzero components of Christoffel, used to construct the Ricci tensor entering the definition of Ricci: because the default spacetime is of Minkowski type, there are none




Hence, from the definition of the Ricci tensor,




it follows that




and the same is valid for all the general relativity tensors defined in terms of Christoffel and derivatives of the metric g_.

To set the scenario as a curved spacetime set the metric using Setup, for instance indicating the square of the spacetime interval. In this example, we also choose to work in spherical coordinates, so consider for instance the metric defined by





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


Coordinates: r,θ,φ,t. Signature: - - - +




Setting lowercaselatin_is letters to represent space indices




To avoid the repeated display of the functionality in kr,t in the following examples and have the display of derivatives in jet notation, indexed, use CompactDisplay


kr,twill now be displayed ask


Now when the indices are not numerical, Ricci returns itself after normalizing its second and third indices taking advantage of the symmetry of its indices









The definition of the Ricci scalars in terms of the null vectors l_, n_, m_ and mb_ of the Newman-Penrose formalism (see Tetrads), and the scalars themselves for the spacetime metric (9)







Note that these scalars depend on the choice of orientation for the axis of the tetrad system of references. To change the tetrad or that orientation of axis see Tetrads:-TransformTetrad.

To express Ricci in terms of the Christoffel symbols and its derivatives convert to Christoffel




Sometimes it is convenient to rewrite tensorial expressions involving the Einstein tensor in terms of the Ricci tensor










Check the value of R__μ,ν for μ = ν = 1




Now for Rνμ with μ = ν = 1 (note you enter the value of the contravariant index prefixed by ~)




To compute with a representation for Ricci without actually performing the operation, use the inert form %Ricci. To afterwards perform the operation use value







To have a more compact display in the following examples, suppress the display of the dependency of k and have the display of derivatives in jet notation, indexed (see Typesetting)

The Matrix form of the all-covariant and all-contravariant components of the Ricci tensor







The Ricci scalar can be computed entering Ricci[scalar] or Ricci[mu, mu]




The nonzero components of the Ricci tensor




This is the matrix form of Rνμ (note the contravariant index μ, prefixed by ~)




To use this matrix, because its components were computed already taking into account the (covariant/contravariant) character of its indices, you do not need to indicate furthermore that character. So for R11 we have





Compare with the output obtained entering Ricci[~1, 1] in eq (16)




In different contexts it is sometimes necessary to classify the spacetime, for instance performing a PetrovType classification, or the SegreType classification of the Ricci tensor. These classification commands are in the Tetrads package. For example, for the spacetime considered, we have







See Also

`.`, Array, ArrayElems, Christoffel, CompactDisplay, Coordinates, d_, D_, DifferentialGeometry[Tensor][RicciTensor], Einstein, l_, m_, Matrix, mb_, n_, PetrovType, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Riemann, SegreeType, Setup, Tetrads, TransformTetrad, Typesetting, 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] Stephani, H., Kramer, D., MacCallum, M., Hoenselaers, C. Herlt, E.  Exact Solutions of Einstein's Field Equations, Cambridge Monographs on Mathematical Physics, second edition. Cambridge University Press, 2003.


[3] Hawking, S.W., Israel, W., Chandrasekhar, S. General Relativity: an Einstein Centenary Survey, Chapter 7, Cambridge University Press, 2010.


[4] Letniowski, F.W., McLenaghan, R.G. An Improved Algorithm for Quartic Equation Classification and Petrov Classification, General Relativity and Gravitation, Vol.20, No. 5, 1988.