tensor[invars] - compute the scalar invariants of the Riemann tensor of a space-time, based on the Newman-Penrose curvature components
|
Calling Sequence
|
|
invars( 'flag', Curve, conj_pairs)
|
|
Parameters
|
|
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.
|
|
|
|
|
Description
|
|
•
|
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.
|
–
|
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].
|
|
|
Examples
|
|
>
|
|
Define the coordinate variables and the covariant natural basis metric :
>
|
|
>
|
|
| (1) |
Now give a tetrad that transforms the above metric into the one in Debever's formalism :
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
| (2) |
Obtain the curvature components.
>
|
|
>
|
|
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,
>
|
|

| (3) |
Repeat with a different simplification :
>
|
`tensor/invars/simp`:=proc(x) simplify(factor(x)) end proc:
|
>
|
|

| (4) |
Verify the two results are identical :
>
|
|
| (5) |
Specify the "inner" simplification, namely `tensor/invars/Msimp`:
>
|
`tensor/invars/Msimp`:=proc(x) x end proc:
|
>
|
|

| (6) |
Repeat with a different "outer" simplifier :
>
|
`tensor/invars/simp`:=proc(x) x end proc:
|
>
|
|

| (7) |
Verify the two results are identical :
>
|
|
| (8) |
Demonstrate the use of the conj_pairs parameter :
>
|
|

| (9) |
|
|
References
|
|
|
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).
|
|
|