In a recent question in Mapleprimes, a spacetime (metric) solution to Einstein's equations, from chapter 27 of the book of Exact Solutions to Einstein's equations [1] was discussed. One of the issues was about computing a tetrad for that solution [27, 37, 1] such that the corresponding Weyl scalars are in canonical form. This post illustrates how to do that, with precisely that spacetime metric solution, in two different ways: 1) automatically, all in one go, and 2) step-by-step. The step-by-step computation is useful to verify results and also to compute different forms of the tetrads or Weyl scalars. The computation below is performed using the latest version of the Maplesoft Physics Updates.
> |

|
> |

|

|
(1) |
The starting point is this image of page 421 of the book of Exact Solutions to Einstein's equations, formulas (27.37)

Load the solution [27, 37, 1] from Maple's database of solutions to Einstein's equations
> |
![g_[[27, 37, 1]]](/view.aspx?sf=213473_post/93e4c454d327a16e68fee6d9e8046e84.gif)
|
![Physics:-g_[mu, nu] = Matrix(%id = 18446744078276690638)](/view.aspx?sf=213473_post/fb393184aef190562c6d8031b4175911.gif)
|
(2) |
> |

|

|
(3) |
The assumptions on the metric's parameters are
> |

|
The line element is as shown in the second line of the image above
> |
![g_[lineelement]](/view.aspx?sf=213473_post/a5138fa556bfc1ce221e354f9f98ba96.gif)
|

|
(4) |
Load Tetrads
> |

|

|
(5) |
The Petrov type of this spacetime solution is
> |

|

|
(6) |
The null tetrad computed by the Maple system using a general algorithms is
> |

|
> |
![e_[]](/view.aspx?sf=213473_post/271c0f32e564b97dc70a6f556d076338.gif)
|
![Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078178770326)](/view.aspx?sf=213473_post/d567d827e42845683ae690a553daef17.gif)
|
(7) |
According to the help page TransformTetrad , the canonical form of the Weyl scalars for each different Petrov type is

So for type II, when the tetrad is in canonical form, we expect only and different from 0. For the tetrad computed automatically, however, the scalars are
> |
![Weyl[scalars]](/view.aspx?sf=213473_post/8485859775e26351a36ed832f257b2b6.gif)
|

|
(8) |
The question is, how to bring the tetrad (equation (7)) into canonical form. The plan for that is outlined in Chapter 7, by Chandrasekhar, page 388, of the book "General Relativity, an Einstein centenary survey", edited by S.W. Hawking and W.Israel. In brief, for Petrov type II, use a transformation of to make , then a transformation of making , finally use a transformation of making . For an explanation of these transformations see the help page for TransformTetrad . This plan, however, is applicable if and only if the starting tetrad results in , which we see in (8) it is not the case, so we need, in addition, before applying this plan, to perform a transformation of making 
In what follows, the transformations mentioned are first performed automatically, in one go, letting the computer deduce each intermediate transformation, by passing to TransformTetrad the optional argument canonicalform. Then, the same result is obtained by transforming the starting tetrad one step at at time, arriving at the same Weyl scalars. That illustrates well both how to get the result exploiting advanced functionality but also how to verify the result performing each step, and also how to get any desired different form of the Weyl scalars.
Although it is possible to perform both computations, automatically and step-by-step, departing from the tetrad (7), that tetrad and the corresponding Weyl scalars (8) have radicals, making the readability of the formulas at each step less clear. Both computations, can be presented in more readable form without radicals departing from the tetrad shown in the book, that is
> |
![e_[a, mu] = (Matrix(4, 4, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = -1, (2, 1) = 0, (2, 2) = r/P(z, zb, u), (2, 3) = 0, (2, 4) = 0, (3, 1) = r/P(z, zb, u), (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = -1, (4, 4) = -H(X)}))](/view.aspx?sf=213473_post/263f4f5447dee6c8d175e01f9877a4fb.gif)
|
![Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078621688766)](/view.aspx?sf=213473_post/bdb3a94f16294ae56f027a9fd8d48d1f.gif)
|
(9) |
> |

|

|
(10) |
The corresponding Weyl scalars free of radicals are
> |

|

|
(11) |
So set this tetrad as the starting point
> |

|
![[tetrad = {(1, 4) = -1, (2, 2) = r/P(z, zb, u), (3, 1) = r/P(z, zb, u), (4, 3) = -1, (4, 4) = -H(X)}]](/view.aspx?sf=213473_post/0c2606fd9fe106d26e26815dd63a72e3.gif)
|
(12) |
All the transformations performed automatically, in one go
To arrive in one go, automatically, to a tetrad whose Weyl scalars are in canonical form as in (31), use the optional argument canonicalform:
> |

|
> |

|

|
(13) |
Note the length of 
> |

|

|
(14) |
That length corresponds to several pages long. That happens frequently, you get Weyl scalars with a minimum of residual invariance, at the cost of a more complicated tetrad.
The transformations step-by-step leading to the same canonical form of the Weyl scalars
Step 0
As mentioned above, to apply the plan outlined by Chandrasekhar, the starting point needs to be a tetrad with , not the case of (9), so in this step 0 we use a transformation of making . This transformation introduces a complex parameter E and to get any value of E suffices. We use :
> |

|

|
(15) |
> |

|

|
(16) |
Indeed, for this tetrad, :
> |
![WeylScalars(T__0)[-1]](/view.aspx?sf=213473_post/c3aa580f21cc5a482a9b593a3f9a3829.gif)
|

|
(17) |
Step 1
Next is a transformation of to make , that in the case of Petrov type II also implies on .According to the the help page TransformTetrad , this transformation introduces a parameter B that, according to the plan outlined by Chandrasekhar in Chapter 7 page 388, is one of the two identical roots (out of the four roots) of the principalpolynomial. To see the principal polynomial, or, directly, its roots you can use the PetrovType command:
> |

|

|
(18) |
The first two are the same and equal to -1
> |
![R[1 .. 2]](/view.aspx?sf=213473_post/ed4bf16a64501ee5415d7b778dfe4cb8.gif)
|
![[-1, -1]](/view.aspx?sf=213473_post/277320d33a4c5c296027915c5dd7f92c.gif)
|
(19) |
So the transformed tetrad is
> |

|

|
(20) |
Check this result and the corresponding Weyl scalars to verify that we now have and 
> |

|

|
(21) |
> |
![WeylScalars(T__1)[1 .. 2]](/view.aspx?sf=213473_post/28371eaa7d632b77b3c2fbee878b3719.gif)
|

|
(22) |
Step 2
Next is a transformation of that makes . This transformation introduces a parameter E, that according to Chandrasekhar's plan can be taken equal to one of the roots of Weyl scalar that corresponds to the transformed tetrad. So we need to proceed in three steps:
a. |
transform the tetrad introducing a parameter E in the tetrad's components
|
b. |
compute the Weyl scalars for that transformed tetrad
|
c. |
take and solve for E
|
d. |
apply the resulting value of E to the transformed tetrad obtained in step a.
|
a.Transform the tetrad and for simplicity take E real
> |

|

|
(23) |
> |

|

|
(24) |
b. Compute for this tetrad
> |
![simplify(WeylScalars(T__2)[-1])](/view.aspx?sf=213473_post/9cbd70c55604c622ac7e708a0ab3cb1c.gif)
|

|
(25) |
c. Solve discarding the case which implies on no transformation
> |
![simplify(solve({rhs(psi__4 = (r^2*P(z, zb, u)*(E-1)^2*(diff(diff(H(X), r), r))-2*r*P(z, zb, u)^2*(E-1)*(diff(diff(H(X), r), z))+P(z, zb, u)^3*(diff(diff(H(X), z), z))-2*P(z, zb, u)^2*(E-1)^2*(diff(diff(P(z, zb, u), z), zb))+2*r*P(z, zb, u)*(E-1)*(diff(diff(P(z, zb, u), u), z))-2*r*P(z, zb, u)*(E-1)^2*(diff(H(X), r))+4*P(z, zb, u)^2*(E+(1/2)*(diff(P(z, zb, u), z))-1)*(diff(H(X), z))+2*((P(z, zb, u)*(E-1)*(diff(P(z, zb, u), zb))-(diff(P(z, zb, u), u))*r)*(diff(P(z, zb, u), z))+H(X)*P(z, zb, u)*(E-1))*(E-1))/(r^2*P(z, zb, u))) = 0, E <> 0}, {E}, explicit)[1])](/view.aspx?sf=213473_post/b5d9bf2806bbf3a1ee5aafdcb67e1bc9.gif)
|

|
(26) |
d. Apply this result to the tetrad (23). In doing so, do not display the result, just measure its length (corresponds to two+ pages)
> |
![T__3 := simplify(eval(T__2, {E = ((diff(diff(H(X), r), r))*r^2*P(z, zb, u)+(diff(diff(H(X), r), z))*P(z, zb, u)^2*r-2*(diff(H(X), r))*P(z, zb, u)*r-(diff(diff(P(z, zb, u), u), z))*r*P(z, zb, u)+(diff(P(z, zb, u), u))*(diff(P(z, zb, u), z))*r-2*P(z, zb, u)^2*(diff(H(X), z))-2*(diff(diff(P(z, zb, u), z), zb))*P(z, zb, u)^2+2*(diff(P(z, zb, u), z))*(diff(P(z, zb, u), zb))*P(z, zb, u)+2*H(X)*P(z, zb, u)+(-P(z, zb, u)^4*((diff(diff(H(X), r), r))*r^2+2*(diff(P(z, zb, u), z))*(diff(P(z, zb, u), zb))-2*(diff(H(X), r))*r-2*(diff(diff(P(z, zb, u), z), zb))*P(z, zb, u)+2*H(X))*(diff(diff(H(X), z), z))+P(z, zb, u)^4*(diff(diff(H(X), r), z))^2*r^2+(-2*r^2*(diff(diff(P(z, zb, u), u), z))*P(z, zb, u)^3+2*r^2*P(z, zb, u)^2*(diff(P(z, zb, u), u))*(diff(P(z, zb, u), z))-4*r*(diff(H(X), z))*P(z, zb, u)^4)*(diff(diff(H(X), r), z))-2*(diff(P(z, zb, u), z))*(diff(H(X), z))*P(z, zb, u)^3*(diff(diff(H(X), r), r))*r^2+P(z, zb, u)^2*(diff(diff(P(z, zb, u), u), z))^2*r^2+(-2*r^2*P(z, zb, u)*(diff(P(z, zb, u), u))*(diff(P(z, zb, u), z))+4*r*(diff(H(X), z))*P(z, zb, u)^3)*(diff(diff(P(z, zb, u), u), z))+4*(diff(P(z, zb, u), z))*(diff(H(X), z))*P(z, zb, u)^4*(diff(diff(P(z, zb, u), z), zb))+4*(diff(H(X), z))^2*P(z, zb, u)^4+4*P(z, zb, u)^2*(diff(P(z, zb, u), z))*((diff(H(X), r))*P(z, zb, u)*r-(diff(P(z, zb, u), z))*(diff(P(z, zb, u), zb))*P(z, zb, u)-(diff(P(z, zb, u), u))*r-H(X)*P(z, zb, u))*(diff(H(X), z))+(diff(P(z, zb, u), u))^2*(diff(P(z, zb, u), z))^2*r^2)^(1/2))/(P(z, zb, u)*((diff(diff(H(X), r), r))*r^2+2*(diff(P(z, zb, u), z))*(diff(P(z, zb, u), zb))-2*(diff(H(X), r))*r-2*(diff(diff(P(z, zb, u), z), zb))*P(z, zb, u)+2*H(X)))}[1]))](/view.aspx?sf=213473_post/9782044cdcd8b53c9d4d3914011f6fc1.gif)
|
> |

|

|
(27) |
Check the scalars, we expect 
> |
![WeylScalars(T__3); %[1 .. 2], %[-1]](/view.aspx?sf=213473_post/90e9a28a98f8c392c5c25b51272cc35d.gif)
|

|
(28) |
Step 3
Use a transformation of making . Such a transformation changes , where we need to take , and without loss of generality we can take 
Check first the value of in the last tetrad computed
> |
![WeylScalars(T__3)[4]](/view.aspx?sf=213473_post/2bed3d35da7f7711f1d8e78a17f69715.gif)
|

|
(29) |
So, the transformed tetrad to which corresponds Weyl scalars in canonical form, with and , is
> |

|
> |

|

|
(30) |
> |

|

|
(31) |
These are the same scalars computed in one go in (13)
> |

|

|
(32) |
> |

|
|