compute the Newman-Penrose spin coefficients in Debever's formalism
compute the Newman-Penrose curvature components in Debever's formalism
npspin(coord, h, G, curinfo)
npcurve(spn_cf, curinfo, conj_pairs)
list of names for the coordinate variables
rank-2 tensor_type with character [1,-1] representing the covariant complex null tetrad. Symbolically, hcomptsa,b≔hab
output parameter (so a name when input) that holds the algebraic expression for : −I⁢−g, where g is the determinant of the metric in the natural basis
output parameter holding simply some internal results needed for both routines; the purpose of its appearance is merely to avoid duplicated computations in the two routines
spin coefficient table containing the Newman-Penrose spin coefficients, normally obtained using npspin()
(optional) holds a list of pairs (a pair: a 2-element list) of names to be treated as complex conjugates in the construction of the 'Phi' field of the curvature component table
Important: The tensor package has been deprecated. Use the superseding command DifferentialGeometry[Tensor][NPSpinCoefficients] instead.
These two functions compute respectively the Newman-Penrose spin coefficients and curvature components in Debever's formalism.
The Newman-Penrose formalism applies solely to 4 dimensions and hence both coord, and h must have dimension 4.
Note that in Debever's formalism the constant metric in the complex null frame is assumed to be :
Even though the above constant metric is not required explicitly as a parameter, the provided tetrad, h, must be one that transforms the metric in the natural basis into the one given above.
npspin() employs three simplification routines, `tensor/npspin/simp`, `tensor/npspin/diff`, and `tensor/npspin/spincoeff/simp`. tensor[npspin] has a sub-routine `tensor/npspin/spincoeff`. `tensor/npspin/simp` and `tensor/npspin/diff` are simplifiers in the main routine, whereas `tensor/npspin/spincoeff/simp` is the simplifier in the sub-routine. The two `.../simp` simplifiers handles the simplification of an algebraic expression and the `.../diff` one is for simplifying derivatives.
npcurve() has two simplification routines, `tensor/npcurve/simp` and `tensor/npcurve/diff`. The former is for simplifying algebraic expressions and the latter derivatives.
All of the `.../simp` routines are initialized to `tensor/simp`, and both the `.../diff` ones are initialized to simplify performing a differentiation without simplification; however, it is recommended that each simplifier be customized to suit the needs of a particular problem.
Complex conjugation is required during the construction of the 'Phi' field, which is a hermitian matrix, of the curvature table. If a third argument of a list of pairs of names is passed in, these pairs will be treated as complex conjugates when conjugation is taken for building the 'Phi' field. Note that I,−I is the default value of conj_pairs and any third argument supplied would be appended to it. Any other names not specified in conj_pairs are treated as real.
These two functions are part of the tensor package, and can be used in the form npspin(..), and npcurve(..) only after performing the command with(tensor), or with(tensor, npspin) or with(tensor, npcurve). The functions can always be accessed in the long form tensor[npspin], and tensor[npcurve].
Enter the coordinates and covariant tetrad of the Plane wave metric:
coord ≔ u,x,y,v:
h_compts ≔ array⁡1..4,1..4,2,3=0,2,4=0,3,1=0,3,2=0,3,3=−1,1,2=0,4,1=0,2,1=1,4,2=−1,4,4=0,1,1=a⁢x2+b⁢y⁢x+c⁢y2,1,3=0,1,4=1,4,3=0,3,4=0,2,2=0:
h ≔ create⁡1,−1,op⁡h_compts
SPN_CF ≔ npspin⁡coord,h,'G','any'
CURVE ≔ npcurve⁡SPN_CF,any
Now demonstrate the use of conj_pairs :`
Download Help Document