tensor
invars
compute the scalar invariants of the Riemann tensor of a space-time, based on the Newman-Penrose curvature components
Calling Sequence
Parameters
Description
Examples
References
invars( 'flag', Curve, conj_pairs)
flag
-
one of the following ten values: 'r1', 'r2', 'r3', 'w1', 'w2', 'm1', 'm2', 'm3', 'm4', or 'm5'
Curve
curve component table holding the Newman-Penrose curvature components
conj_pairs
optional parameter of a list of pairs (pair: list of two elements) of names that holds the variable names to be treated as complex conjugates in the calculations.
Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Tensor][RiemannInvariants] and Physics[Riemann] instead.
This function calculates any of the ten invariants listed above of the Riemann tensor, as designated by their corresponding flags. For detailed definitions and descriptions of these invariants, refer to the paper listed in the References section of this page.
Simplification :
tensor[invars] has two simplifiers, `tensor/invars/simp` and `tensor/invars/Msimp`.
`tensor/invars/simp` is applied once after the invariant has been formally constructed.
Due to lengths of the actual formulas for the invariants, when calculating r3, m2, m3, m4, and m5, an extra simplifier, `tensor/invars/Msimp`, is employed. `tensor/invars/Msimp` is used to simplify the sum of every 15 terms in the formulas for the five invariants mentioned above. And then `tensor/invars/simp` is applied on top of `tensor/invars/Msimp` to put the 15-term segments together.
Note: that if the user finds it unnecessary, one of these simplifiers can actually be defined to perform no action.
This function is part of the tensor package, and can be used in the form invars(..) only after performing the command with(tensor), or with(tensor, invars). The function can always be accessed in the long form tensor[invars].
with⁡tensor:
Define the coordinate variables and the covariant natural basis metric :
coord≔t,r,θ,φ:
g_compts≔array⁡symmetric,1..4,1..4:
forito4doforjfromi+1to4dog_comptsi,j≔0enddoenddo:g_compts1,1≔a⁡r:g_compts2,2≔−b⁡r:g_compts3,3≔−r2:g_compts4,4≔−r2⁢sin⁡θ2:g≔table⁡index_char=−1,−1,compts=op⁡g_compts
g≔table⁡index_char=−1,−1,compts=a⁡r0000−b⁡r0000−r20000−r2⁢sin⁡θ2
Now give a tetrad that transforms the above metric into the one in Debever's formalism :
h_compts≔array⁡sparse,1..4,1..4:
h_compts1,1≔12⁢212⁢a⁡r12:
h_compts1,2≔12⁢212⁢b⁡r12:
h_compts2,1≔12⁢212⁢a⁡r12:
h_compts2,2≔−12⁢212⁢b⁡r12:
h_compts3,3≔12⁢212⁢r:
h_compts3,4≔12⁢I⁢212⁢r⁢sin⁡θ:
h_compts4,3≔12⁢212⁢r:
h_compts4,4≔−12⁢I⁢212⁢r⁢sin⁡θ:
h≔create⁡1,−1,op⁡h_compts
h≔table⁡index_char=1,−1,compts=2⁢a⁡r22⁢b⁡r2002⁢a⁡r2−2⁢b⁡r200002⁢r2I2⁢2⁢r⁢sin⁡θ002⁢r2−I2⁢2⁢r⁢sin⁡θ
Obtain the curvature components.
SPN≔npspin⁡coord,h,G,any:
Curve≔npcurve⁡SPN,any:
Specify the simplification wanted :
`tensor/invars/simp`:=proc(x) x end proc:
Now you are ready to compute any of the ten invariants. For example,
R1≔invars⁡r1,Curve
R1≔ⅆⅆra⁡r⁢b⁡r+ⅆⅆrb⁡r⁢a⁡r28⁢b⁡r4⁢r2⁢a⁡r2+2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2+4⁢a⁡r2⁢b⁡r2−4⁢a⁡r2⁢b⁡r264⁢a⁡r4⁢b⁡r4⁢r4
Repeat with a different simplification :
`tensor/invars/simp`:=proc(x) simplify(factor(x)) end proc:
R1_≔invars⁡r1,Curve
R1_≔4⁢ⅆ2ⅆr2a⁡r2⁢b⁡r2⁢a⁡r2⁢r4−4⁢b⁡r⁢ⅆⅆra⁡r2⁢r2+ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r⁢b⁡r−1⁢r2⁢b⁡r⁢a⁡r⁢ⅆ2ⅆr2a⁡r+b⁡r2⁢ⅆⅆra⁡r4⁢r4+2⁢b⁡r⁢ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r3⁢r4+r2⁢a⁡r2⁢r2⁢ⅆⅆrb⁡r2−8⁢b⁡r3+16⁢b⁡r2⁢ⅆⅆra⁡r2−8⁢r2⁢a⁡r3⁢b⁡r⁢ⅆⅆrb⁡r⁢b⁡r−3⁢ⅆⅆra⁡r+8⁢a⁡r4⁢r2⁢ⅆⅆrb⁡r2+2⁢b⁡r2⁢b⁡r−1264⁢a⁡r4⁢b⁡r4⁢r4
Verify the two results are identical :
simplify⁡R1−R1_
0
Specify the "inner" simplification, namely `tensor/invars/Msimp`:
`tensor/invars/Msimp`:=proc(x) x end proc:
M3≔invars⁡m3,Curve
M3≔ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r22−r⁢a⁡r⁢r⁢ⅆⅆrb⁡r+2⁢b⁡r⁢ⅆⅆra⁡r2+a⁡r2⁢r⁢ⅆⅆrb⁡r−2⁢b⁡r2+2⁢b⁡r2⁢ⅆ2ⅆr2a⁡r2⁢b⁡r2⁢a⁡r2⁢r4−b⁡r⁢ⅆⅆra⁡r2⁢r2+ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r⁢b⁡r−1⁢r2⁢b⁡r⁢a⁡r⁢ⅆ2ⅆr2a⁡r+b⁡r2⁢ⅆⅆra⁡r4⁢r44+b⁡r⁢ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r3⁢r42+r2⁢a⁡r2⁢r2⁢ⅆⅆrb⁡r2−8⁢b⁡r3+10⁢b⁡r2⁢ⅆⅆra⁡r24−2⁢b⁡r−32⁢r2⁢b⁡r⁢ⅆⅆrb⁡r⁢a⁡r3⁢ⅆⅆra⁡r+a⁡r4⁢r2⁢ⅆⅆrb⁡r2+8⁢b⁡r2⁢b⁡r−122576⁢a⁡r8⁢b⁡r8⁢r8
Repeat with a different "outer" simplifier :
M3_≔invars⁡m3,Curve
M3_≔2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r2−2⁢b⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r+2⁢ⅆⅆrb⁡r⁢a⁡r2⁢r+4⁢a⁡r2⁢b⁡r2⁢ⅆⅆra⁡r⁢b⁡r+ⅆⅆrb⁡r⁢a⁡r24608⁢a⁡r6⁢b⁡r8⁢r6+2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r2−2⁢b⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r+2⁢ⅆⅆrb⁡r⁢a⁡r2⁢r+4⁢a⁡r2⁢b⁡r2⁢2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2+4⁢a⁡r2⁢b⁡r2−4⁢a⁡r2⁢b⁡r29216⁢a⁡r8⁢b⁡r8⁢r8
simplify⁡M3−M3_
Demonstrate the use of the conj_pairs parameter :
M3__≔invars⁡m3,Curve,r,rBAR,θ,thetaBAR
M3__≔2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r2−2⁢b⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r+2⁢ⅆⅆrb⁡r⁢a⁡r2⁢r+4⁢a⁡r2⁢b⁡r⁢2⁢ⅆ2ⅆrBAR2a⁡rBAR⁢b⁡rBAR⁢a⁡rBAR⁢rBAR2−b⁡rBAR⁢ⅆⅆrBARa⁡rBAR2⁢rBAR2−ⅆⅆrBARb⁡rBAR⁢a⁡rBAR⁢ⅆⅆrBARa⁡rBAR⁢rBAR2−4⁢a⁡rBAR2⁢b⁡rBAR2−2⁢b⁡rBAR⁢a⁡rBAR⁢ⅆⅆrBARa⁡rBAR⁢rBAR+2⁢ⅆⅆrBARb⁡rBAR⁢a⁡rBAR2⁢rBAR+4⁢a⁡rBAR2⁢b⁡rBAR⁢ⅆⅆra⁡r⁢b⁡r+ⅆⅆrb⁡r⁢a⁡r24608⁢a⁡r4⁢b⁡r6⁢r4⁢a⁡rBAR2⁢b⁡rBAR2⁢rBAR2+2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2−4⁢a⁡r2⁢b⁡r2−2⁢b⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r+2⁢ⅆⅆrb⁡r⁢a⁡r2⁢r+4⁢a⁡r2⁢b⁡r⁢2⁢ⅆ2ⅆrBAR2a⁡rBAR⁢b⁡rBAR⁢a⁡rBAR⁢rBAR2−b⁡rBAR⁢ⅆⅆrBARa⁡rBAR2⁢rBAR2−ⅆⅆrBARb⁡rBAR⁢a⁡rBAR⁢ⅆⅆrBARa⁡rBAR⁢rBAR2−4⁢a⁡rBAR2⁢b⁡rBAR2−2⁢b⁡rBAR⁢a⁡rBAR⁢ⅆⅆrBARa⁡rBAR⁢rBAR+2⁢ⅆⅆrBARb⁡rBAR⁢a⁡rBAR2⁢rBAR+4⁢a⁡rBAR2⁢b⁡rBAR⁢2⁢ⅆ2ⅆr2a⁡r⁢b⁡r⁢a⁡r⁢r2−b⁡r⁢ⅆⅆra⁡r2⁢r2−ⅆⅆrb⁡r⁢a⁡r⁢ⅆⅆra⁡r⁢r2+4⁢a⁡r2⁢b⁡r2−4⁢a⁡r2⁢b⁡r29216⁢a⁡r6⁢b⁡r6⁢r6⁢a⁡rBAR2⁢b⁡rBAR2⁢rBAR2
Carminati, J., and McLenaghan, R.G. "Algebraic invariants of the Riemann tensor in a four-dimensional Lorentzian space." Journal of Mathematical Physics, Vol. 32 No. 11. (Nov. 1991).
See Also
DifferentialGeometry[Tensor][RiemannInvariants]
Physics[Riemann]
tensor(deprecated)
tensor(deprecated)[conj]
tensor(deprecated)[frame]
tensor(deprecated)[npcurve]
tensor(deprecated)[npspin]
tensor(deprecated)[simp]
Download Help Document