The Weyl tensor - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Physics/Weyl

Physics[Weyl] - The Weyl tensor

Calling Sequence

Weyl[alpha, beta, mu, nu]



alpha, beta, 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 Weyl[alpha, beta, mu, nu], displayed as C__α,β,μ,ν, is a computational representation for the Weyl tensor, defined in terms of the Riemann, Ricci and the spacetime metric g_ tensors as



From this definition, the Weyl tensor has all the symmetries properties of the Riemann tensor; i.e. it 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. In addition, it vanishes when contracted on any pair of indices.


When the indices of Weyl 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 Weyl 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 Weyl 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 C__α,β,μ,ν 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 Weyl 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 tensors entering the definition of the Weyl tensor. For that purpose see Coordinates or Setup.


Besides being indexed with four indices, Weyl accepts the following keywords:


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


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


definition: returns the definition of the Weyl tensor in terms of the Riemann and Ricci tensors.


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


scalars: returns the five complex Weyl scalars Psi[0], Psi[1], Psi[2], Psi[3], Psi[4] of the Newman-Penrose formalism, relevant in the classification of the PetrovType of a spacetime.


scalarsdefinition: returns the definition of the Weyl scalars; 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 Weyl[...]. The checking is concerned with possible syntax errors. The automatic normalization takes into account the symmetry properties of the indices of Weyl[mu,nu,alpha] as described in the first paragraph.


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



Setup(mathematicalnotation = true);



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

Setup(coordinatesystems = cartesian);

Default differentiation variables for d_, D_ and dAlembertian are:X=x,y,z,t

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 Weyl tensor entering the definition of Weyl: because the default spacetime is of Minkowski type, there are none





Christoffel[mu, alpha, beta];



Weyl[mu, nu, alpha, beta];



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

ds2 := r^2*dtheta^2 + r^2*sin(theta)^2*dphi^2 - 2*dt*dr - 2*k(r, t)^2*dt^2;



Setup(coordinates = spherical, metric = ds2);

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

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







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, Weyl 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

Weyl[alpha, beta, mu, nu];



Weyl[mu, nu, beta, alpha];



(11) + (12);



The definition of the Weyl 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 Weyl in terms of the Riemann tensor, the Christoffel symbols and its derivatives, or the metric g_ itself, use convert

(11) = convert((11), Riemann);



(11) = convert((11), Christoffel);