>
|

|
Example 1.
Define a manifold S with coordinates [t, x, y, z].
>
|
|
| (2.1) |
Define a metric g.
S >
|
|
| (2.2) |
Define an orthonormal tetrad OTetrad for the metric g. Use GRQuery to check that OTetrad is indeed an orthonormal tetrad.
S >
|
|
| (2.3) |
S >
|
|
| (2.4) |
Construct a null tetrad NTetrad from the orthonormal tetrad OTetrad.
S >
|
|
![[_DG([["vector", S, []], [[[1], (1/2)*2^(1/2)/x], [[4], (1/2)*2^(1/2)/t]]]), _DG([["vector", S, []], [[[1], (1/2)*2^(1/2)/x], [[4], -(1/2)*2^(1/2)/t]]]), _DG([["vector", S, []], [[[2], (1/2)*2^(1/2)/y], [[3], ((1/2)*I)*2^(1/2)/z]]]), _DG([["vector", S, []], [[[2], (1/2)*2^(1/2)/y], [[3], -((1/2)*I)*2^(1/2)/z]]])]](/support/helpjp/helpview.aspx?si=5659/file05896/math230.png)
| (2.5) |
Calculate the NP spin coefficients defined by the null tetrad NTetrad.
S >
|
|

| (2.6) |
The individual spin coefficients can be extracted from the table SpinCoeff.
S >
|
|
| (2.7) |
Example 2.
With the keyword argument output = "sequence", the command NPSpinCoefficients will return the spin coefficients as a sequence. (Note that gamma is protected by Maple.)
S >
|
|

| (2.8) |
Example 3.
We check the results from Example 2 against the definitions of the spin-coefficients. First define the null tetrad.
S >
|
|
![_DG([["vector", S, []], [[[1], (1/2)*2^(1/2)/x], [[4], (1/2)*2^(1/2)/t]]]), _DG([["vector", S, []], [[[1], (1/2)*2^(1/2)/x], [[4], -(1/2)*2^(1/2)/t]]]), _DG([["vector", S, []], [[[2], (1/2)*2^(1/2)/y], [[3], ((1/2)*I)*2^(1/2)/z]]]), _DG([["vector", S, []], [[[2], (1/2)*2^(1/2)/y], [[3], -((1/2)*I)*2^(1/2)/z]]])](/support/helpjp/helpview.aspx?si=5659/file05896/math288.png)
| (2.9) |
Define the dual basis.
S >
|
|
![_DG([["form", S, 1], [[[1], (1/2)*2^(1/2)*x], [[4], (1/2)*2^(1/2)*t]]]), _DG([["form", S, 1], [[[1], (1/2)*2^(1/2)*x], [[4], -(1/2)*2^(1/2)*t]]]), _DG([["form", S, 1], [[[2], (1/2)*2^(1/2)*y], [[3], -((1/2)*I)*2^(1/2)*z]]]), _DG([["form", S, 1], [[[2], (1/2)*2^(1/2)*y], [[3], ((1/2)*I)*2^(1/2)*z]]])](/support/helpjp/helpview.aspx?si=5659/file05896/math299.png)
| (2.10) |
Calculate the Christoffel connection.
S >
|
|
![_DG([["connection", S, [["cov_bas", "con_bas", "cov_bas"], []]], [[[1, 1, 2], 1/x], [[1, 2, 1], x/y^2], [[1, 4, 4], 1/t], [[2, 1, 1], 1/x], [[2, 2, 3], 1/y], [[2, 3, 2], -y/z^2], [[3, 2, 2], 1/y], [[3, 3, 4], 1/z], [[3, 4, 3], -z/t^2], [[4, 1, 4], t/x^2], [[4, 3, 3], 1/z], [[4, 4, 1], 1/t]]])](/support/helpjp/helpview.aspx?si=5659/file05896/math310.png)
| (2.11) |
1. kappa = nabla_L(Theta_N)(M)
S >
|
|
| (2.12) |
2. rho = nabla_barM(Theta_N)(M)
S >
|
|
| (2.13) |
3. sigma = nabla_M(Theta_N)(M)
S >
|
|
| (2.14) |
4. tau = nabla_N(Theta_N)(M)
S >
|
|
| (2.15) |
5. pi = - nabla_N(Theta_L)(barM)
S >
|
|
| (2.16) |
6. lambda = -nabla_barM(Theta_L)(barM)
S >
|
|
| (2.17) |
7. mu = nabla_M(Theta_L)(barM)
S >
|
|
| (2.18) |
8. nu = nabla_N(Theta_L)(barM)
S >
|
|
| (2.19) |
9. alpha = 1/2*nabla_barM(Theta_N)(N) + nabla_barM(Theta_barM)(barM)
S >
|
![alpha = (1/2)*Hook([N], DirectionalCovariantDerivative(barM, Theta_N, C))+(1/2)*Hook([barM], DirectionalCovariantDerivative(barM, Theta_barM, C))](/support/helpjp/helpview.aspx?si=5659/file05896/math406.png)
|
| (2.20) |
10. beta = 1/2*nabla_M(Theta_N)(N) + 1/2*nabla_M(Theta_barM)(barM)
S >
|
![beta = (1/2)*Hook([N], DirectionalCovariantDerivative(M, Theta_N, C))+(1/2)*Hook([barM], DirectionalCovariantDerivative(barM, Theta_barM, C))](/support/helpjp/helpview.aspx?si=5659/file05896/math419.png)
|
| (2.21) |
11. gamma =1/2*nabla_N(Theta_N)(N) + 1/2*nabla_N(Theta_barM)(barM)
S >
|
![gam = (1/2)*Hook([N], DirectionalCovariantDerivative(N, Theta_N, C))+(1/2)*Hook([barM], DirectionalCovariantDerivative(N, Theta_barM, C))](/support/helpjp/helpview.aspx?si=5659/file05896/math430.png)
|
| (2.22) |
12. epsilon = 1/2*nabla_L(Theta_N)(N) + 1/2*nabla_L(Theta_barM)(barM)
S >
|
![epsilon = (1/2)*Hook([N], DirectionalCovariantDerivative(L, Theta_N, C))+(1/2)*Hook([barM], DirectionalCovariantDerivative(L, Theta_barM, C))](/support/helpjp/helpview.aspx?si=5659/file05896/math441.png)
|
| (2.23) |
Example 4
When working with the NP formalism, it is usually advantageous to work with the anholonomic frame defined by the null tetrad. To create anholonomic frames in DifferentialGeometry, see FrameData.
S >
|
|

| (2.24) |
S >
|
|
| (2.25) |
We can now calculate the spin coefficients for the null tetrad with the second calling sequence.
NP >
|
|

| (2.26) |
NP >
|
|