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

Online Help

All Products    Maple    MapleSim


Tensor[PetrovType] - determine the Petrov type of the Weyl tensor

Calling Sequences

     PetrovType(g, pt, options)

     PetrovType(NTetrad, pt, options)

     PetrovType(NPWeyl, pt, options)

     PetrovType(Fr, pt, options)

 

Parameters

   g        - a metric tensor g of Lorentz signature  on a four-dimensional manifold

   Fr       - the name of an initialized anholonomic frame, created from a null tetrad

   NTetrad  - a list of 4 vectors defining a null tetrad

   NPWeyl   - a table, the Newman-Penrose Weyl scalars

   pt       - (optional) a list of equations specifying the coordinates of a point of

    options  -  the keyword arguments output, parameters, auxiliaryequations

 

Description

Examples

See Also

Description

• 

The Petrov classification of the Weyl tensor of the metric g is an algebraic classification based upon the eigenvalues and eigenvectors for the Weyl tensor, the principal null directions associated to the Weyl tensor, or the factorized form of the Weyl spinor. The Weyl tensor is determined to be one of the following types "O", "N", "D", "I", "II", "III".  See Stephani, Kramer, et al for details.

• 

Because the algorithm is based upon the calculation of the Newman-Penrose Weyl scalars, it is best to use one of the last 3 calling sequences.  The second and fourth calling sequences use a null tetrad , where  and  are real,  is the complex conjugate of , and

,    

where  is the metric.

• 

Note that the Weyl scalars can often be simplified through the application of an appropriate null tetrad rotation. The first calling sequence PetrovType(g, pt, option) will automatically generate a null tetrad (if possible) but the result may not be optimal for calculating all the invariants needed to determine the Petrov type.

• 

It is possible that the Petrov type can vary from point to point on the manifold . The command PetrovType  returns, if possible, the Petrov type at a generic point. If the command fails, try to calculate Petrov type at a specific point with the optional argument pt. Constraints on the coordinates values can be imposed with assuming.

• 

The values of the invariants used to test for a given Petrov type will be returned with the keyword argument output = petrovtype, where petrovtype is one of "O", "N" , "D", "I", "II", "III".

• 

If the metric or null tetraddepends upon a number of parameters (either constants or functions), then the keyword argument parameterswhere is the list of parameters, will invoke case-splitting with respect to these parameters. Special values of the parameters, where the Petrov type changes, are calculated. Additional algebraic or differential conditions may be imposed upon the parameters using the keyword argument auxiliaryequations The case-splitting algorithm is as follows. First, the Petrov type for generic values of the parameters, independent of the auxiliary equations is determined. Then the algebraic and differential conditions that the parameters must satisfy for non-generic types are computed. These are combined with the auxiliary equations and the combined set of equations are passed to pdsolve. This results in a list of exceptional parameter values for the non-generic cases. The Petrov type of each exceptional set of parameter values is re-computed and the results returned in a table format.

• 

The branching performed by the program PetrovType can be tracked by setting infolevel[PetrovType] = 2.

• 

See Details for PetrovType for a complete description of the algorithm used.

• 

This command is part of the DifferentialGeometry:-Tensor package and can be used in the form PetrovType(...) only after executing the commands with(DifferentialGeometry); with(Tensor); in that order.  It can always be used in the long form DifferentialGeometry:-Tensor:-PetrovType.

Examples

 

For Examples 1 -- 4 we use the following metric.

(2.1)
M > 

(2.2)

 

Example 1.

Calculate the Petrov type directly from the metric.

M > 

(2.3)

 

Example 2.

Calculate the Petrov type from a null tetrad for the metric . First use the command DGGramSchmidt to construct an orthonormal tetrad.

M > 

(2.4)
M > 

(2.5)
M > 

(2.6)

 

Example 3.

If one intends to do a number of computations with the metric  it is usually advantageous to work explicitly with an orthonormal frame or null tetrad frame. See FrameData.

M > 

(2.7)
M > 

(2.8)
NP > 

(2.9)

 

Example 4.

Here we first calculate the Newman-Penrose Weyl scalars (We continue with the null tetrad frame from the previous example). This is always the best way to proceed since one can simplify, if need be, the Weyl scalars, before proceeding to calculate the more complicated invariants needed by the algorithm to determine the Petrov type.

NP > 

(2.10)
M > 

(2.11)

 

Example 5.

In this example we find all functions f(x, v) for which the following orthonormal frame has Petrov type "N". In this situation the PetrovType procedure is terminated once it has calculated the invariants whose vanishing leads to the type "N" classification. (See Step 2 in the description of the algorithm in Details for PetrovType.) First define the coordinates for this example.

M > 

(2.12)

 

Define the metric.

N > 

(2.13)

 

Calculate an orthonormal tetrad and then a null tetrad.

N > 

(2.14)
N > 

(2.15)

 

With the optional argument output = "N", the procedure will return the partial differential equations that must satisfy for the metric to be of type "N". These PDE are too complicated to exhibit in their "raw" form but become quite simple if we use the command rifsimp to simplify.

N > 

M > 

(2.16)

 

Use pdsolve to find the general solution to PDE1.

M > 

(2.17)

 

Back substitute into the null tetrad NTetrad and check that the resulting null tetrad is of type "N".

M > 

(2.18)
N > 

(2.19)

 

Example 6.

This is the first of three examples which demonstrate the case-splitting functionality of PetrovType. In this example we consider a metric depending upon two constants and   

M > 

(2.20)
M > 

(2.21)
M > 

(2.22)
M > 

(2.23)
M > 

(2.24)
M > 

(2.25)

 

This shows that for generic values of the parameters, the Petrov type of the metric is II.  We can use this result to identify some simply 1-parameter families of type metrics within the given 2-parameter family of metrics.

M > 

(2.26)
M > 

(2.27)
M > 

(2.28)
M > 

(2.29)

 

Example 7.

In this example we calculate the Petrov type of the Kasner metric. See Stephani, Kramer et al. page 197. This metric contains 4-parameters which satisfy

   and   

M > 

M > 

(2.30)
M > 

(2.31)
M > 

M > 

(2.32)
M > 

(2.33)

 

We use the keyword arguments auxiliaryequations and parameters to case-split on the parameters , subject to the given side conditions.

M > 

(2.34)

 

Example 8.

In this example we calculate the Petrov type for a metric which depends upon 3 functions We calculate the generic Petrov type and then we calculate the type D and metrics which are also solutions to the vacuum Einstein equations.

M > 

(2.35)
N > 

(2.36)

 

Calculate an orthonormal tetrad and then a null tetrad.

N > 

(2.37)
N > 

(2.38)
N > 

(2.39)
N > 

 

The Petrov type of this metric for generic choices of the functions  is

N > 

(2.40)

 

Next we find those metrics of form  which are Petrov types  and  and which are also solutions of the vacuum Einstein equations. We calculate the coefficients of the Einstein tensor and and pass these to PetrovType as auxiliary equations.

N > 

(2.41)
N > 

 

Here are the parameter values which give type D solutions to the vacuum Einstein equations.

N > 

(2.42)

 

Here are the parameter values which give type solutions to the vacuum Einstein equations.

N > 

(2.43)

 

Example 9.

We give a simple example where the Petrov type changes at exceptional coordinate values.

M > 

(2.44)
N > 

(2.45)

 

M > 

(2.46)
M > 

(2.47)
M > 

(2.48)

 

At a generic coordinate values the Petrov type is  but is type  at .

 

M > 

(2.49)
M > 

(2.50)

 

Example 10.

The branching that occurs in the algorithm for PetrovType can be followed by setting infolevel[PetrovType] := 2.

M > 

M > 

(2.51)
M > 

(2.52)
M > 

The NP Weyl scalars invariants are:

   Phi[0]: 1/2*(-x^4+t^4)/t^2/x^2
   Phi[1]: 0
   Phi[2]: -1/6*(-x^4+t^4)/t^2/x^2
   Phi[3]: 0
   Phi[4]: 1/2*(-x^4+t^4)/t^2/x^2
Checking type O (Psi = 0):
   not type O
Test to see if the Weyl scalars are in Penrose-Rindler normalized form

(2.53)

 

From the expressions for the invariants we see that the Petrov type will change at points where x = t.

M > 

The NP Weyl scalars invariants are:

   Phi[0]: 0
   Phi[1]: 0
   Phi[2]: 0
   Phi[3]: 0
   Phi[4]: 0
Checking type O (Psi = 0):

(2.54)

See Also

DifferentialGeometry, Tensor, FrameData, DGGramSchmidt,  infolevel, NPCurvatureScalars, Physics[Riemann], NullTetrad, pdsolve, rifsimp, SegreType , WeylTensor, Physics[Weyl]


Download Help Document