Tetrads and Weyl scalars in canonical form
The material below is about a new development that didn't arrive in time for the launch of Maple 2016 (March) and that complements in a relevant way the ones introduced in Physics in Maple 2016. It is at topic in general relativity, the computation of a canonical form of a tetrad, so that, generally speaking (skipping a technical description) the Weyl scalars are fixed as much as possible (either equal to 0 or to 1) regarding transformations that leave invariant the tetrad metric in a tetrad system of references. Bringing a tetrad in canonical form is a relevant step in the tackling of the equivalence problem between two spacetime metrics (Mapleprimes post), and it is relevant in connection with the digitizing in Maple 2016 of the database of solutions to Einstein's equations of the book Exact Solutions to Einstein Field Equations.
The reference for this development is the book "General Relativity, an Einstein century survey", edited by S.W. Hawking (Cambridge) and W. Israel (U. Alberta, Canada), specifically Chapter 7 written by S. Chandrasekhar, and more specifically exploring what is said in page 388 about the Petrov classification.
A canonical form for the tetrad and Weyl scalars admits alternate forms; the implementation is as implicit in page 388:






Residual invariance

Petrov type I

0



1

0

none

Petrov type II

0

0


1

0

none

Petrov type III

0

0

0

1

0

none

Petrov type D

0

0


0

0

remains invariant under rotations of Class III

Petrov type N

0

0

0

0

1

remains invariant under rotations of Class II



The transformations (rotations of the tetrad system of references) used are of Class I, II and III as defined in Chandrasekar's chapter  equations (7.79) in page 384, (7.83) and (7.84) in page 385. Transformations of Class I can be performed with the command Physics:Tetrads:TransformTetrad using the optional argument nullrotationwithfixedl_, of Class II using nullrotationwithfixedn_ and of Class III by calling TransformTetrad(spatialrotationsm_mb_plan, boostsn_l_plane), so with the two optional arguments simultaneously.
In this development, a new optional argument, canonicalform got implemented to TransformTetrad so that the whole sequence of three transformations of Classes I, II and III is performed automatically, in one go. Regarding the canonical form of the tetrad, the main idea is that from the change in the Weyl scalars one can derive the parameters entering tetrad transformations that result in a canonical form of the tetrad.
> 


(1) 
(Note the Tetrads:PetrovType command, unfinished in the first release of Maple 2016.) To run the following computations you need to update your Physics library to the latest version from the Maplesoft R&D Physics webpage, so with this datestamp or newer:
> 


(2) 
An Example of Petrov type I
There are six Petrov types: I, II, III, D, N and O. Start with a spacetime metric of Petrov type "I" (the numbers always refer to the equation number in the "Exact solutions to Einstein's field equations" textbook)
> 


(3) 
The Weyl scalars
> 


(4) 
... there is abs around. Let's assume everything is positive to simplify formulas, use Capital Physics:Assume (the lower case assume command redefines the assumed variables, so it is not compatible with Physics, DifferentialGeometry and VectorCalculus among others).
> 


(5) 
The scalars are now simpler, although still not in "canonical form" because and .
> 


(6) 
The Petrov type
> 


(7) 
The call to Tetrads:TransformTetrad two lines below transforms the current tetrad ,
> 


(8) 
into another tetrad such that the Weyl scalars are in canonical form, which for Petrov "I" type happens when and .
> 


(9) 
Despite the fact that the result is a much more complicated tetrad, this is an amazing result in that the resulting Weyl scalars are all fixed (see below). Let's first verify that this is indeed a tetrad, and that now the Weyl scalars are in canonical form
> 


(10) 
Set (9) to be the tetrad in use and recompute the Weyl scalars
> 

Inded we now have and
> 


(11) 
So Weyl scalars computed after setting the canonical tetrad (9) to be the tetrad in use are in canonical form. Great! NOTE: computing the canonicalWeyl scalars is not really the difficult part, and within the code, these scalars (11) are computed before arriving at the tetrad (9). What is really difficult (from the point of view of computational complexity and simplifications) is to compute the actual canonical form of the tetrad (9).
An Example of Petrov type II
Consider this other solution to Einstein's equation (again, the numbers in g_[[24,37,7]] always refer to the equation number in the "Exact solutions to Einstein's field equations" textbook)
> 


(12) 
Check the Petrov type
> 


(13) 
The starting tetrad
> 


(14) 
results in Weyl scalars not in canonical form:
> 


(15) 
For Petrov type "II", the canonical form is as for type "I" but in addition Again let's assume positive, not necessary, but to get simpler formulas around
> 


(16) 
Compute now a canonical form for the tetrad, to be used instead of (14)
> 


(17) 
Set this tetrad and check the Weyl scalars again
> 

> 


(18) 
This result (18) is fantastic. Compare these Weyl scalars with the ones (15) before transforming the tetrad.
An Example of Petrov type III
> 


(19) 
> 


(20) 
The Petrov type and the original tetrad
> 


(21) 
> 


(22) 
This tetrad results in the following scalars
> 


(23) 
that are not in canonical form, which for Petrov type III is as in Petrov type II but in addition we should have .
Compute now a canonical form for the tetrad
> 


(24) 
Set this one to be the tetrad in use and recompute the Weyl scalars
> 

> 


(25) 
Great!
An Example of Petrov type N
> 


(26) 
> 


(27) 
> 


(28) 
The original tetrad and related Weyl scalars are not in canonical form:
> 


(29) 
> 


(30) 
For Petrov type "N", the canonical form has and all the other .
Compute a canonical form, set it to be the tetrad in use and recompute the Weyl scalars
> 


(31) 
> 

> 


(32) 
All as expected.
An Example of Petrov type D
> 


(33) 
> 


(34) 
> 


(35) 
The default tetrad and related Weyl scalars are not in canonical form, which for Petrov type "D" is with and all the other
> 


(36) 
> 


(37) 
Transform the tetrad, set it and recompute the Weyl scalars
> 


(38) 
> 

> 


(39) 
Again the expected canonical form of the Weyl scalars, and remains invariant under transformations of Class III.
An Example of Petrov type O
Finally an example of type "O". This corresponds to a conformally flat spacetime, for which the Weyl tensor (and with it all the Weyl scalars) vanishes. So the code just interrupts with "not implemented for conformally flat spactimes of Petrov type O"
> 


(40) 
> 


(41) 
The Weyl tensor and its scalars all vanish:
> 


(42) 
> 


(43) 
> 

> 

