SegreType - Maple Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Tetrads : SegreType

Physics[Tetrads][SegreType] - returns the Plebanski-Petrov and Segre type of the spacetime metric set or a list of Ricci scalars - computes the principal roots

Calling Sequence




principalpolynomial = ...


optional, the right-hand side is either the word only, or an assignable name, so that the principal polynomial is either returned as soon as the Plebanski scalars are computed, or assigned to this name while the classification is performed.

principalroots = ...


optional, the right-hand side is either true, false (default value) or a name, assignable so that the Petrov classification of the Plebanski tensor is performed computing the principal roots, and if an assignable name is given then assigned to this name.

simplifier = ...


optional, the right-hand side can be any valid Maple construction to be applied to the Weyl scalars

ricciscalars = ...


optional, the right-hand side is a list with the 9 Ricci scalars Φa,b with a,b between 0 and 2, that can be related or not to the spacetime metric set



The SegreType command returns the Plebanski-Petrov and Segre classifications of the Ricci tensor corresponding to the spacetime metric set. This is an invariant characterization of the gravitational field in that it is independent of the coordinate system and of the choice of the tetrad. To set the metric see Setup, or you can also set it using the metric command g_ to be one of the solutions to Einstein's equations of the database of solutions, see g_.


The Petrov, Plebanski-Petrov and Segre classifications are relevant in connection with the equivalence problem between two spacetime metrics. Two metrics of different Petrov types cannot be different coordinate representations of the same metric (note however that if the Petrov type is the same the question is still undecided). In particular, when the spacetime is conformally flat (Petrov type "O"), the Segre classification is necessary.


The Plebanski-Petrov classification is the Petrov classification performed on the Plebanski instead of the Weyl tensor. Therefore, the 6 possible values of the Plebanski-Petrov classification are also "I", "II", "III", "D", "N", "O" (see [3] page 388). This classification can be performed either computing the principal roots, or using shortcuts based on the scalars of the Plebanski-Petrov tensor, computed substituting the Weyl tensor by the Plebanski tensor in the output of Weyl[scalarsdefinition]. To avoid using shortcuts that depend on zero recognition, pass the option principalroots. To see the roots after the classification got performed pass the option principalroots = ... where the right-hand side is an assignable name to which the roots will be assigned.


In cases where zero recognition is complicated, it can be useful to analyze the principal polynomial for the Plebanski tensor itself. For this purpose, you can compute it using the formula shown in PetrovType, or using the optional argument principalpolynomial = only, to receive only the polynomial instead of the Plebanski-Petrov classification, or principalpolynomial = ... where the right-hand side is any assignable name - for instance PrincipalPolynomial - to which the principal polynomial will be assigned before returning the Plebanski-Petrov classification.


The Segre classification of the Ricci tensor is a classification of the orders m1,...,mk of the elementary divisors belonging to the various eigenvalues of the eigenvalue equation for the Ricci tensor (see [2], sec.(5.1) page 57). Using the Segre notation, the 15 possible values of the Segre classification are correlated to the 6 possible values of the Plebanski-Petrov classification as follows:


"I" could be of Segre types [1,111] or [ZZ11]


"II" is of Segre type [2,11]


"III" is of Segre type [3,1]


"D" could be of Segre types [ZZ(11)], [(1,1)(11)], [2,(11)], [1,1(11)], [(1,1)11]


"N" could be of Segre types [(3,1)] or [(2,1)1]


"O" could be of Segre types [(1,111)], [(2,11)], [1,(111)], [(1,11)1]


where round brackets indicate that the corresponding λj eigenvalues coincide. Also, if two eigenvalues are complex conjugates they are symbolized by ZZ (in the literature: ZZ&conjugate0; - see [2], sec. (5.1) page 59). The notation used in the output of SegreType is the one of ref [4], also used in the output of the DifferentialGeometry:-Tensor:-SegreType command.


The output of SegreType is thus a sequence of two symbols, corresponding to the Plebanski-Petrov and the Segre classifications. The algorithm used within SegreType is the one presented in [4] and the steps can be briefly summarized as


The Plebanski tensor is constructed with the spacetime metric ga,b and the trace free Ricci Tensor



by forming the expression



then anti-symmetrizing this expression with respect to the pairs of free indices [a, b] and [c, d] (you can accomplish that using the Antisymmetrize command via Antisymmetrize(expression, [[a, b], [c, d]])), resulting in the Plebanski tensor



The scalars (spinor components) for the Plebanski tensor are computed in the same way as the Weyl scalars, for instance replacing the Weyl tensor by the Plebanski tensor in the output of Weyl[scalarsdefinition]. As an alternative to computing these scalars from the Plebanski tensor (so steps 1. and 2.), you can also compute them from the Ricci scalars Φi,j, using the formulas shown in details for the computation of the Segre type.


A list with the Plebanski scalars is passed to the PetrovType command resulting in the Plebanski-Petrov classification.


Taking this Plebanski-Petrov classification as a framework, the restricted possible values of the Segre classification mentioned in the itemization lines above are computed as described in [4], table V on page 1031.


Although the Petrov and Plebanski-Petrov classification for an arbitrary point in spacetime is unique, the Segre classification sometimes requires more information telling whether an expression is smaller, equal or bigger than zero. In these cases, the result is expressed using the inert form of a piecewise function.




Setting lowercaselatin_ah letters to represent tetrad indices

Defined as tetrad tensors see ?Physics,tetrads, 𝔢a,μ, ηa,b, γa,b,c, λa,b,c

Defined as spacetime tensors representing the NP null vectors of the tetrad formalism see ?Physics,tetrads, lμ, nμ, mμ, m&conjugate0;μ







There are six Plebanski-Petrov types: I, II, III, D, N and O. Start with a spacetime metric of Petrov type I, and Plebanski-Petrov type D. The numbers indexing the spacetime metric g_ that follows always refer to the equation numbers identifying the metric in [2], the "Exact Solutions to Einstein's Field Equations" textbook:



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

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

The McLenaghan, Tariq (1975) metric in coordinates Tupper (1976)

Parameters: a,k,κ0

Comments: k paramⅇtrⅈzⅇs thⅇ most gⅇnⅇral ⅇlⅇctromagnⅇtⅈc ⅈnvarⅈant wⅈth rⅇspⅇct to thⅇ last 3 Kⅈllⅈng vⅇctors

Resetting the signature of spacetime from - - - + to + + + - in order to match the signature in the database of metrics


Setting lowercaselatin_is letters to represent space indices



Note that entering the command above automatically sets g_12,21,1 to be the spacetime metric (equivalent to having used the Setup command for that purpose). The Petrov, Plebanski-Petrov and Segre types for this spacetime are







Note that the Petrov and Plebanski-Petrov classifications are not necessarily the same. Also, the Segre classification sometimes requires more information telling whether an expression is smaller, equal or bigger than zero. In these cases, the result is expressed using a piecewise function. For example, for the metric from the database with identifier [15, 18, 1]



Systems of spacetime coordinates are:X=r,x,y,u

Default differentiation variables for d_, D_ and dAlembertian are:X=r,x,y,u

The Foyster and McIntosh (1972) metric in coordinates r,x,y,u

Parameters: Yu,r

Signature: + + + -




Use a compact display for Yu,r


Yu,rwill now be displayed asY


The classifications are as follows, and the Segre type depends on the signs of the derivatives of Yu,r







To see only the principal polynomial behind the Plebanski-Petrov classification ("D") use




To see the principal roots behind this classification use, for instance,







See Also

Assume, DifferentialGeometry:-Tensor:-SegreType, e_, evala, g_, IsTetrad, PetrovType, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Setup, simplify, Tetrads, TransformTetrad, Weyl



[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] Zakhary, E., Carminati, J., A New Algorithm for the Segre Classification of the Trace-Free Ricci Tensor, General Relativity and Gravitation, Vol. 36, No. 5, May 2004.



The Physics[Tetrads][SegreType] command was introduced in Maple 2017.


For more information on Maple 2017 changes, see Updates in Maple 2017.