Physics[Riemann] - The Riemann tensor and the computation of the Riemann invariants
|
Calling Sequence
|
|
Riemann[alpha, beta, mu, nu]
Riemann[keyword]
Riemann[alpha, beta, mu, nu, keyword]
convert(expression, Riemann)
|
|
Parameters
|
|
alpha, beta, mu, nu
|
-
|
the indices, as names representing integer numbers between 0 and the spacetime dimension, they can also be the numbers themselves
|
keyword
|
-
|
any of definition, matrix, array, nonzero, scalars and invariants
|
|
|
|
|
Description
|
|
•
|
The Riemann[alpha, beta, mu, nu], displayed as , is a computational representation for the Riemann tensor, defined with a contravariant first index in terms of the Christoffel symbols and derivatives as
|
|
and . From this definition, and because of the symmetries of the Christoffel symbols with respect to interchanging the positions of their second and third indices the Riemann tensor is antisymmetric with respect to interchanging the position of its 1st and 2nd indices, or 3rd and 4th indices, and symmetric with respect to interchanging the positions of the 1st and 2nd pair of indices.
|
•
|
It is sometimesconvenient to rewrite tensorial expressions in terms of the Riemann tensor. For this purpose you can use convert(expression, Riemann).
|
•
|
When the indices of Riemann 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 Riemann 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 Riemann returns unevaluated after normalizing its indices taking into account their symmetry properties.
|
•
|
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.
|
•
|
During a Maple session, the value of any component of is automatically determined by the value of the spacetime metric at the moment. When Physics is loaded, the spacetime is set to Minkowski type, and so all the elements of Riemann are automatically zero. To set the spacetime metric to something different use Setup. 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 Riemann tensor. For that purpose see Coordinates or Setup.
|
•
|
Besides being indexed with four indices, Riemann accepts the following keywords:
|
–
|
definition: returns the definition of the Riemann tensor in terms of the Christoffel symbols and their derivatives.
|
–
|
array: (synonym: Array, Matrix, matrix, or no indices whatsoever, as in Riemann[]) returns an Array that when indexed with numerical values from 1 to the dimension of spacetime it returns the value of each of the components of Riemann. If this keyword is passed preceded by the tensor indices, that can be covariant or contravariant, the values in the resulting array are computed taking into account the character of the given indices. If only two of these indices are names, the rest have numerical values (if contravariant then preceded by ~), the returned object is the corresponding 2 x 2 Matrix.
|
–
|
nonzero: returns a set of equations, with the left-hand side as a sequence of two positive numbers identifying the element of 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.
|
–
|
scalars: returns the two complex scalars and
|
|
where is the dual of the Riemann tensor
|
|
and is the LeviCivita tensor in curvilinear coordinates (see Setup, option levicivita = nongalilean)
|
|
and is the galilean LeviCivita and is the determinant of the spacetime metric. These scalars and enable one to calculate the invariants that permit classifying the canonical forms of the Riemann curvature tensor starting from the values of in any reference system.
|
–
|
invariants: returns a sequence with the 16 invariants presented by Carminati and McLenaghan (see reference at the bottom), frequently labeled for the Ricci scalar and . The 6 invariants, the and are real, the other 5 are complex. These invariants are all defined in terms of the Weyl tensor , its dual defined as in the formula above for the dual of the Riemann tensor, and the trace-free Ricci tensor . The sequence of invariants is returned as a sequence of equations with the labels using local variables in the left-hand sides and the corresponding scalar invariant expressions in the right-hand sides.
|
•
|
Some automatic checking and normalization are carried out each time you enter Riemann[...]. The checking is concerned with possible syntax errors. The automatic normalization takes into account the symmetry properties of the indices of as described in the first paragraph.
|
•
|
The %Riemann command is the inert form of Riemann, so it represents the same mathematical operation but without performing it. To perform the operation, use value.
|
|
|
Examples
|
|
>
|
|
| (1) |
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
>
|
|
| |
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
| (3) |
Check the nonzero components of Christoffel, used to construct the Riemann tensor entering the definition of Riemann: because the default spacetime is of Minkowski type, there are none
Hence
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
>
|
|
| (7) |
>
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| (8) |
Now when the indices are not numerical, Riemann returns itself after normalizing its indices taking advantage of their symmetry properties, so that different forms of the same tensor enter computations in the same manner, for example, if you interchange the positions as in
To express Riemann in terms of the Christoffel symbols and its derivatives convert to Christoffel
>
|
|
| (12) |
Check the value of , say for , = 2, = 2, = 4
| (13) |
Check now the value of , with the 1st index contravariant, for the same values of the indices (note you enter the value of the contravariant index prefixed by ~)
| (14) |
To compute with a representation for Riemann without actually performing the operation, use the inert form %Riemann. To afterwards perform the operation use value
| (16) |
To have a more compact display in the following examples, suppress the display of the dependency of and have the display of derivatives in jet notation, indexed (see Typesetting)
>
|
|
>
|
|
The nonzero values of and of (note you enter the character of the contravariant indices prefixed by ~)
| (17) |
>
|
|
| (18) |
The Riemann scalars (see the Description)
| (19) |
The 16 Riemann invariants presented in the paper by Carminati and McLenaghan (see the Description and the reference at the bottom)
| (20) |
Compute now the Array form of
As with all the general relativity tensors of the Physics package, you can obtain the same result for the all covariant case by entering the tensor without indices, as in Riemann[].
This is the array form of (note you enter the character of the contravariant indices prefixed by ~)
>
|
|
To use this array, 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 we have
>
|
|
Compare with the output obtained entering Riemann[~1, 2, 2, 4] in eq (15)
The Ricci tensor is defined in terms of the Riemann tensor as You can see how the four Riemann matrices add to form the Ricci matrix; for this purpose give values to the 1st and 3rd indices and pass the extra keyword matrix (or array)
| (23) |
>
|
|
| (24) |
Compare with the Ricci matrix
| (25) |
Upon simplification these matrices are the same
| (26) |
|
|
See Also
|
|
`.`, Array, ArrayElems, Christoffel, Coordinates, DifferentialGeometry[Tensor][RiemannInvariants], Einstein, g_, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Setup, Typesetting, value, Weyl
|
|
References
|
|
|
Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.
|
|
Carminati, J., and McLenaghan, R. G., "Algebraic invariants of the Riemann tensor in a four-dimensional Lorentzian space", J.Math.Phys. 32 (11), November 1991.
|
|
|
Compatibility
|
|
•
|
The Physics[Riemann] command was introduced in Maple 16.
|
•
|
The Physics[Riemann] command was updated in Maple 2017.
|
|
|