Physics[Tetrads][NullTetrad] - compute different forms of a null tetrad for the current spacetime metric
Physics[Tetrads][OrthonormalTetrad] - compute different forms of an orthonormal tetrad for the current spacetime metric
Physics[Tetrads][IsTetrad] - return true or false according to whether a given matrix is a null or orthonormal tetrad and indicate what kind of the tetrad is
Calling Sequence
NullTetrad(method = ..., firstvector = ...)
OrthonormalTetrad(method = ..., firstvector = ...)
IsTetrad(T, orthonormal, null, quiet)
Parameters
method = ..
-
optional, indicates the method to be used, that could be GramSchmidt or Eigenvectors
firstvector = ..
optional, a Vector or a list with the vector components, as many as the dimension of spacetime; indicates the first departing vector to be used with the GramSchmidt method
T
a Matrix representing a tetrad, it is also optionally the first argument in calls to NullTetrad and OrthonormalTetrad
orthonormal
optional, to indicate to IsTetrad to check only for an orthonormal tetrad
null
optional, to indicate to IsTetrad to check only for an null tetrad
quiet
optional, to indicate to IsTetrad to avoid displaying the type of tetrad on the screen
Description
NullTetrad and OrthonormalTetrad compute tetrads for the spacetime metric set. Recalling, given the metric of a local (tetrad) system of references, there are infinitely many tetrads (represented in Physics by the Tetrads:-e_ command) relating the components of a tensor in the global (spacetime) and local (tetrad) systems of references. These two commands NullTetrad and OrthonormalTetrad compute different tetrads, that may result more convenient in different contexts, for example when computing the Weyl and Ricci scalars or performing a Petrov classification.
When the tetrad you get from NullTetrad or OrthonormalTetrad is the one you prefer, say E, you can set it, to be used by the system as the current tetrad, by entering Setup⁡tetrad=E. You can always see the components of the current tetrad by entering e_[].
When called with no arguments, both NullTetrad and OrthonormalTetrad will depart from the current tetrad and compute a corresponding - null or orthonormal - tetrad. The formula used depends on the signature. For the signatures (---+) and (+++-), given an orthonormal tetrad E, NullTetrad returns a null tetrad constructed as M . E, where
M=−12⁢20012⁢2012⁢212⁢I⁢20012⁢2−12⁢I⁢2012⁢20012⁢2
and, for the signatures (+---) and (-+++),
M=12⁢212⁢20012⁢2−12⁢2000012⁢212⁢I⁢20012⁢2−12⁢I⁢2
Given a null tetrad E, OrthonormalTetrad returns an orthonormal tetrad constructed as M−1⁢.⁢E.
Both NullTetrad and OrthonormalTetrad can also be called with a first argument, T, a matrix representing a tetrad, in which case instead of departing from the current components of Tetrads:-e_, they apply the formulas just described to T.
Additionally, instead of constructing tetrads multiplying by M or its inverse, NullTetrad and OrthonormalTetrad can construct tetrads from scratch using two different methods: GramSchmidt or Eigenvectors - see the Examples section.
Independently of NullTetrad and OrthonormalTetrad, you can always set the tetrad to have any preferred matrix form, say E, by entering Setup⁡tetrad=E, or transform a tetrad into another one using TransformTetrad. Of particular interest is the the ability of TransformTetrad to compute a tetrad in canonicalform, that is a form that results in a canonical form of the Weyl scalars.
IsTetrad is a complementary command: it returns true or false depending on whether the given matrix T is a tetrad, optionally indicating the type of tetrad.
Examples
with⁡Physics:Setup⁡mathematicalnotation=true;with⁡Tetrads
mathematicalnotation=true
⁢_______________________________________________________
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;μ
IsTetrad,NullTetrad,OrthonormalTetrad,PetrovType,SegreType,TransformTetrad,WeylScalars,e_,eta_,gamma_,l_,lambda_,m_,mb_,n_
Set the spacetime metric to something non-flat, for instance take the metric [13,7,5] of the Exact solutions book referenced at the end of this page:
g_13,7,5
⁢Systems of spacetime coordinates are:⁢X=x,y,z,t
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢X=x,y,z,t
The metric in coordinates x,y,z,t
Parameters: ε,A⁡t,B⁡t,A1
Comments: ⅇpsⅈlon=1 or ⅇpsⅈlon=-1
Domain: 0<t
Assumptions: A⁡t::real,B⁡t::real,0<A1,0<x,0<A⁡t,0<B⁡t
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
gμ,ν=ε⁢A⁡t20000B⁡t2⁢ⅇ2⁢A1⁢x⁢2⁢cosh⁡x2−1−2⁢B⁡t2⁢ⅇ2⁢A1⁢x⁢cosh⁡x⁢sinh⁡x00−2⁢B⁡t2⁢ⅇ2⁢A1⁢x⁢cosh⁡x⁢sinh⁡xB⁡t2⁢ⅇ2⁢A1⁢x⁢2⁢cosh⁡x2−10000−ε
Compact the display of the functions A⁡t,B⁡t:
CompactDisplay⁡A⁡t,B⁡t
A⁡t⁢will now be displayed as⁢A
B⁡t⁢will now be displayed as⁢B
The default orthonormal tetrad is:
e_
𝔢a,μ=A⁢ε0000B⁢cosh⁡2⁢x⁢ⅇA1⁢x−B⁢sinh⁡2⁢x⁢ⅇA1⁢xcosh⁡2⁢x000B⁢ⅇA1⁢xcosh⁡2⁢x0000−ε
It is possible to test whether these tetrads satisfy the tetrad definition
e_definition
𝔢a,μ⁢𝔢bμbμ=ηa,b
using IsTetrad
IsTetrad⁡
Type of tetrad: orthonormal
true
To compute with a null tetrad instead of an orthonormal tetrad, set the tetrad or tetradmetric to null using Setup.
Setup⁡tetradmetric=null
tetradmetric=1,4=−1,2,3=1
Note: this form of the null tetrad metric is consistent with time in position 4 (default) - and not with time in position 1. To see the more frequent form of the tetradmetric
Matrix⁡4,1,2=−1,3,4=1,shape=symmetric
0−100−100000010010
you can either set the signature of the underlying inertial system of references (Minkowski) indicating time (different sign) in the first place, or set the tetradmetric directly using Setup(tetradmetric = the_matrix_above).
So now the metric of the local (tetrad) system of references is:
eta_
ηa,b=000−100100100−1000
and the null tetrad is:
𝔢a,μ=−2⁢A⁢ε200−2⁢ε202⁢B⁢cosh⁡2⁢x⁢ⅇA1⁢x22⁢B⁢ⅇA1⁢x⁢−sinh⁡2⁢x+I2⁢cosh⁡2⁢x002⁢B⁢cosh⁡2⁢x⁢ⅇA1⁢x2−2⁢B⁢ⅇA1⁢x⁢sinh⁡2⁢x+I2⁢cosh⁡2⁢x02⁢A⁢ε200−2⁢ε2
Type of tetrad: null
You can compute different forms of an orthonormal tetrad or a null tetrad using the OrthonormalTetrad and NullTetrad commands, requesting the use of different methods, or passing a starting vector. For instance, this is the default form of an orthonormal tetrad for the current spacetime metric:
OrthonormalTetrad⁡
A⁢ε0000B⁢cosh⁡2⁢x⁢ⅇA1⁢x−B⁢sinh⁡2⁢x⁢ⅇA1⁢xcosh⁡2⁢x000B⁢ⅇA1⁢xcosh⁡2⁢x0000−ε
There are two methods available for computing these tetrads: the GramSchmidt (generalization to curved spaces) and Eigenvectors (based on computing the Eigenvectors of a related Matrix). By default, the Physics package routines decide on what method is more convenient to use for the spacetime metric set. In this case the routines use the GramSchmidt method; you can check the other method via:
OrthonormalTetrad⁡method=Eigenvectors
A⁢ε0000−B⁢2⁢ⅇA1⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢xB⁢2⁢ⅇA1⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢x00B⁢ⅇA1⁢x⁢22⁢cosh⁡2⁢x+sinh⁡2⁢xB⁢ⅇA1⁢x⁢22⁢cosh⁡2⁢x+sinh⁡2⁢x0000ε
If this is an orthonormal tetrad you prefer, you can set it via Setup(e_ = ...), where ... is the matrix you prefer (see the previous output). To see what the null tetrads corresponding to these two orthonormal tetrads would be:
NullTetrad⁡
−2⁢A⁢ε200−2⁢ε202⁢B⁢cosh⁡2⁢x⁢ⅇA1⁢x22⁢B⁢ⅇA1⁢x⁢−sinh⁡2⁢x+I2⁢cosh⁡2⁢x002⁢B⁢cosh⁡2⁢x⁢ⅇA1⁢x2−2⁢B⁢ⅇA1⁢x⁢sinh⁡2⁢x+I2⁢cosh⁡2⁢x02⁢A⁢ε200−2⁢ε2
NullTetrad⁡method=Eigenvectors
−2⁢A⁢ε2002⁢ε20B⁢ⅇA1⁢x⁢I⁢cosh⁡2⁢x−sinh⁡2⁢x−cosh⁡2⁢x+sinh⁡2⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢x⁢cosh⁡2⁢x+sinh⁡2⁢xB⁢ⅇA1⁢x⁢I⁢cosh⁡2⁢x−sinh⁡2⁢x+cosh⁡2⁢x+sinh⁡2⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢x⁢cosh⁡2⁢x+sinh⁡2⁢x00−B⁢ⅇA1⁢x⁢I⁢cosh⁡2⁢x−sinh⁡2⁢x+cosh⁡2⁢x+sinh⁡2⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢x⁢cosh⁡2⁢x+sinh⁡2⁢x−B⁢ⅇA1⁢x⁢I⁢cosh⁡2⁢x−sinh⁡2⁢x−cosh⁡2⁢x+sinh⁡2⁢x2⁢cosh⁡2⁢x−sinh⁡2⁢x⁢cosh⁡2⁢x+sinh⁡2⁢x02⁢A⁢ε2002⁢ε2
When using the GramSchmidt method you can also specify the first vector. Recalling, the method works iterating the computation of the next vector (line of the tetrad) starting from a first vector. For example, instead of starting from ε⁢A,0,0,0, start from 0,0,0,1 compare with default result of OrthonormalTetrad lines above.
OrthonormalTetrad⁡firstvector=0,0,0,1
A⁢ε000000−ε0−B⁢ⅇA1⁢xsech⁡2⁢xB⁢ⅇA1⁢x⁢−csch⁡4⁢x+coth⁡4⁢xsech⁡2⁢x000−I⁢B⁢ⅇA1⁢xcosh⁡2⁢x0
NullTetrad⁡firstvector=0,0,0,1
−2⁢A⁢ε20−I2⁢2⁢B⁢ⅇA1⁢xcosh⁡2⁢x00−I2⁢2⁢B⁢ⅇA1⁢xsech⁡2⁢x−I2⁢2⁢B⁢ⅇA1⁢x⁢csch⁡4⁢x−coth⁡4⁢xsech⁡2⁢xI2⁢2⁢ε0I2⁢2⁢B⁢ⅇA1⁢xsech⁡2⁢xI2⁢2⁢B⁢ⅇA1⁢x⁢csch⁡4⁢x−coth⁡4⁢xsech⁡2⁢xI2⁢2⁢ε2⁢A⁢ε20−I2⁢2⁢B⁢ⅇA1⁢xcosh⁡2⁢x0
See Also
d_, D_, e_, eta_, g_, gamma_, l_, lambda_, m_, mb_, n_, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Setup, Tetrads, TransformTetrad, Weyl
References
Textbooks
Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.
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.
Compatibility
The Physics[Tetrads][NullTetrad], Physics[Tetrads][OrthonormalTetrad] and Physics[Tetrads][IsTetrad] commands were introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
Download Help Document