In the study of the Gödel spacetime model, a tetrad was suggested in the literature [1]. Alas, upon entering the tetrad in question, Maple's Tetrad's package complained that that matrix was not a tetrad! What went wrong? After an exchange with Edgardo S. ChebTerrab, Edgardo provided us with awfully useful comments regarding the use of the package and suggested that the problem together with its solution be presented in a post, as others may find it of some use for their work as well.
The Gödel spacetime solution to Einsten's equations is as follows.
> 


(1) 
> 


(2) 
Working with Cartesian coordinates,
> 


(3) 
the Gödel line element is
> 


(4) 
Setting the metric
> 


(5) 
The problem appeared upon entering the matrix M below supposedly representing the alleged tetrad.
> 

> 


(6) 
Each of the rows of this matrix is supposed to be one of the null vectors . Before setting this alleged tetrad, Maple was asked to settle the nature of it, and the answer was that M was not a tetrad! With the Physics Updates v.857, a more detailed message was issued:
> 


(7) 
So there were actually three problems:
1. 
The entered entity was a null tetrad, while the default of the Physics package is an orthonormal tetrad. This can be seen in the form of the tetrad metric, or using the library commands:

> 


(8) 
> 


(9) 
> 


(10) 
2. 
The matrix M would only be a tetrad if the spacetime index is contravariant. On the other hand, the command IsTetrad will return true only when M represents a tetrad with both indices covariant. For instance, if the command IsTetrad is issued about the tetrad automatically computed by Maple, but is passed the matrix corresponding to with the spacetime index contravariant, false is returned:

> 


(11) 
> 


(12) 
3. 
The matrix M corresponds to a tetrad with different signature, (+), instead of Maple's default (+). Although these two signatures represent the same physics, they differ in the ordering of rows and columns: the timelike component is respectively in positions 1 and 4.

The issue, then, became how to correct the matrix M to be a valid tetrad: either change the setup, or change the matrix M. Below the two courses of action are provided.
First the simplest: change the settings. According to the message (7), setting the tetrad to be null, changing the signature to be (+) and indicating that M represents a tetrad with its spacetime index contravariant would suffice:
> 


(13) 
The null tetrad metric is now as in the reference used.
> 


(14) 
Checking now with the spacetime index contravariant
> 


(15) 
At this point, the command IsTetrad provided with the equation (15), where the lefthand side has the information that the spacetime index is contravariant
> 


(16) 
Great! one can now set the tetrad M exactly as entered, without changing anything else. In the next line it will only be necessary to indicate that the spacetime index, , is contravariant.
> 


(17) 
The tetrad is now the matrix M. In addition to checking this tetrad making use of the IsTetrad command, it is also possible to check the definitions of tetrads and null vectors using TensorArray.
> 


(18) 
> 


(19) 
For the null vectors:
> 


(20) 
> 


(21) 
From its Weyl scalars, this tetrad is already in the canonical form for a spacetime of Petrov type "D": only
> 


(22) 
> 


(23) 
Attempting to transform it into canonicalform returns the tetrad (17) itself
> 


(24) 
Let's now obtain the correct tetrad without changing the signature as done in (13).
Start by changing the signature back to
> 


(25) 
So again, M is not a tetrad, even if the spacetime index is specified as contravariant.
> 


(26) 
By construction, the tetrad M has its rows formed by the null vectors with the ordering . To understand what needs to be changed in M, define those vectors, independent of the null vectors (with underscore) that come with the Tetrads package.
> 

and set their components using the matrix M taking into account that its spacetime index is contravariant, and equating the rows of M using the ordering :
> 


(27) 
> 


(28) 
Check the covariant components of these vectors towards comparing them with the lines of the Maple's tetrad
> 


(29) 
This shows the null vectors (with underscore) that come with Tetrads package
> 


(30) 
So (29) computed from M is the same as (30) computed from Maple's tetrad.
But, from (30) and the form of Maple's tetrad
> 


(31) 
for the current signature
> 


(32) 
we see the ordering of the null vectors is , not used in [1] with the signature (+   ). So the adjustment required in M, resulting in , consists of reordering M's rows to be
> 


(33) 
> 


(34) 
Comparing with the tetrad computed by Maple ((24) and (31), they are actually the same.
References
[1]. Rainer Burghardt, "Constructing the Godel Universe", the arxiv grqc/0106070 2001.
[2]. Frank Grave and Michael Buser, "Visiting the Gödel Universe", IEEE Trans Vis Comput GRAPH, 14(6):156370, 2008.
