\(
\)

<< EDCRGTCcode.m

{$EDCversion, $RGTCversion}

Correctness test of RGTC results: Comparison of the 6 invariants of the Kerr metric

	 (Subscript[((R^ab)), cd])(Subscript[((R^cd)), ab]),  (Subscript[((R^ab)), cd])(Subscript[((((*R))^cd)), ab]),  (Subscript[((R^ab)), cd])(Subscript[((R^cd)), ef])(Subscript[((R^ef)), ab]),  (Subscript[((R^ab)), cd])(Subscript[((((*R))^cd)), ef])(Subscript[((R^ef)), ab]),  (Subscript[R, abcd; e])(R^(abcd; e)),  (Subscript[R, abcd; e])*(R^(abcd; e)), 
 
	where \(\(\((\(*\)\(R\))\)\^ab\)\_cd = \(1\/2\) \(\(η\^ab\)\_ef\) \(R\^ef\)\_cd\), calculated in 4 different ways, using:
		 (1) Oblate spheroidal coordinates @ coordinate frame
		 (2) Boyer-Lindquist coordinates @ "rotating coordinate frame" (Example 4a in RGTC.nb)
		 (3) Boyer-Lindquist coordinates @ NP[(1,2), (3,4)] frame (Example 4c in RGTC.nb)
		 (4) Boyer-Lindquist coordinates @ aligned NP frame

\(
\)

Preliminaries: Transformations of the Kerr metric

Kerr line element in "Cartesian" coordinates T,,X,Y,Z:

NullVectorTXYZ = (d[T] - r (X d[X] + Y d[Y])/(r^2 + a^2) - 
          a (X d[Y] - Y d[X])/(r^2 + a^2) - Z/r d[Z])

ds2KerrTXYZ = 
      Collect[d[T]^2 - d[X]^2 - d[Y]^2 - d[Z]^2 - 
          2  M r^3/(r^4 + a^2  Z^2) NullVectorTXYZ^2, {d[_]^2, 
          d[i_] d[j_], M}, FacSimp]

Transform to "oblate spheroidal coordinates" r, x, ph:

XYZ$to$rxph = {X -> Sqrt[r^2 + a^2] Sqrt[1 - x^2] Cos[ph], 
        Y -> Sqrt[r^2 + a^2] Sqrt[1 - x^2] Sin[ph], Z -> r x}

Extra simplification rule needed

simpRules = 
      Join[{Cos[θ_]^4 x_.  + y_.  Sin[θ_]^4 :> 
            (1/2) (x + y) (1 - 
                    2 Cos[θ]^2 Sin[θ]^2) + 
              (1/2) (x - y) (Cos[θ]^2 - Sin[θ]^2)}, 
        TrigRules]

r is related to X,Y,Z  by (X^2+Y^2)/(r^2+a^2)+Z^2/r^2=1:

FacSimp[(X^2 + Y^2)/(r^2 + a^2) + Z^2/r^2/.XYZ$to$rxph]

d[a] = 0; d[M] = 0;

ds2KerrTrxph = 
      Collect[ds2KerrTXYZ /. XYZ$to$rxph, {d[_]^2, _d, M}, 
        FacSimp]

NullVectorTrxph = FacSimp[NullVectorTXYZ /. XYZ$to$rxph]

Transform T, ph  to Boyer-Lindquist t, φ

ds2KerrBL = 
      Collect[ds2KerrTrxph /. {d[T] -> 
              d[t] - ((2  M r)/((a^2) - 2 M r + (r^2))) d[r], 
            d[ph] -> 
              d[φ] - ((2  a M r)/(((a^2) - 2 M r + (r^2)) ((a^2) + (r^2)))) d[r]}, {d[_]^2, _d}, FacSimp]

NullVectorBL = 
      FacSimp[NullVectorTrxph /. {d[T] -> 
              d[t] - ((2  M r)/((a^2) - 2 M r + (r^2))) d[r], 
            d[ph] -> 
              d[φ] - ((2  a M r)/(((a^2) - 2 M r + (r^2)) ((a^2) + (r^2)))) d[r]}]

\(\(\(
\)\(
\)\)\)

Oblate coordinates - metric:

xOB = {T, r, x, ph}

metricOB = 
      Table[D[ds2KerrTrxph/2, d[xOB[[i]]], d[xOB[[j]]]], {i, 4}, {j, 
          4}]

Boyer-Lindquist coordinates - metric:

xBL = {t, r, x, φ};

metricBL = 
      Table[D[ds2KerrBL/2, d[xBL[[i]]], d[xBL[[j]]]], {i, 4}, {j, 
          4}]

\(
\)

Agrees with coframe and metric used in Example 4a = BL:

Sigma = r^2 + a^2  x^2; Delta = r^2 + a^2 - 2  M r;

coFrame = {d[t] + 
            2  a M r (1 - x^2)/(Sigma - 2  M r) d[φ], 
          d[r], d[x], d[φ]};

gEXMPL4a = 
        DiagonalMatrix[{1 - 2  M r/Sigma, -Sigma/
              Delta, -Sigma/(1 - 
                  x^2), -Delta Sigma (1 - x^2)/(Sigma - 
                    2  M r)}];

Collect[gEXMPL4a . coFrame . coFrame - ds2KerrBL, {d[_]^2, _d}, 
      FacSimp]

\(
\)

(1) Oblate spheroidal coordinates @ coordinate frame calculation (takes 7 minutes)

simpRules = {(-1 + 
                x) (1 + 
                  x)/(Sqrt[1 - (x^2)]) -> -(Sqrt[1 - (x^2)]), (-1 + 
                x) (1 + x) -> (-1 + x^2), 
        h_/((-1 + x) (1 + x)) :> 
          h/(-1 + x^2)}

RGtensors[metricOB, xOB]

RUUdd = Raise[RUddd, 2];