A Heuristic Way of Finding the 
Kerr-Metric of a Rotating Black Hole

This notebook gives a very brief outline of a heuristic way of finding the Kerr metric of a rotating black hole. The calculation of the Riemann curvature and Ricci tensor are done in the language of differential forms with the help of the package Difform.m.

Loading the package Difform.m

<< c:/joerg/math/difform/difform.m

Some Abbreviations and Rules

Clear[sigma]; 
sigma[x_, 0] := Sinh[x]; 
sigma[x_, Pi/2] := Cosh[x]; 
Derivative[1, 0][sigma][x_, theta_] := (Cosh[x]*Sinh[x])/sigma[x, theta]; 
Derivative[0, 1][sigma][x_, theta_] := (Cos[theta]*Sin[theta])/sigma[x, theta];

hyper = {Cosh[x_]^(n_)?OddQ :> Cosh[x]*(1 + Sinh[x]^2)^((n - 1)/2), 
    -(a_.)*Cosh[x_]^2 + (a_.)*Sinh[x_]^2 :> -a, 
    (a_.)*Cosh[x_]^2 - (a_.)*Sinh[x_]^2 :> a};

Defining the Metric

We will work with oblate elliptic-hyperpolic coordinates (x, theta, phi), consisting of oblate rotational ellipsoids (x=const.), rotational hyperboloids (theta=const.), and axial planes as coordinate surfaces (phi=const.). To specify a space-time, we need coordinate names (Coord), a set of basis differential 1-forms (Basis), and the metric tensor in this basis (Metric). A general space-time metric is given by:

Coord = {t, ξ, θ, ϕ}; 
Basis = {{Exp[f[ξ]]*Cosh[β[ξ, θ]], 0, 0, 
     -Exp[f[ξ]]*Sinh[β[ξ, θ]]*a*Cosh[ξ]*Cos[θ]}, 
    {0, Exp[g[ξ]]*a*sigma[ξ, θ], 0, 0}, {0, 0, a*sigma[ξ, θ], 0}, 
    {-Sinh[β[ξ, θ]], 0, 0, Cosh[β[ξ, θ]]*a*Cosh[ξ]*Cos[θ]}}; 
Metric = DiagonalMatrix[{-1, 1, 1, 1}];

Here, the unknown functions f[ξ], g[ξ], and beta[ξ, θ] appear. The only restriction we are imposing onto the metric are that f and g depend only on ξ but not on θ. This is the single heuristic (not further justified)  idea entering our considerations.
Next, we creating all necessary accessoires (inverse basis, inverse metric tensor etc.):

MakeMetricSpace[-1]; 
InvBasis = InvBasis //. hyper;

Affinities

Finding the affine differential 2-forms:

Timing[ω = Simplify[Omega[] //. hyper, Trig -> False] //. hyper; LeafCount[ω]]

Riemann

Finding the Riemman curvature:

Timing[rie = Riemann[ω]; LeafCount[rie]]

Ricci

Finding the Ricci tensor:

Timing[ric = Ricci[rie]; LeafCount[ric]]

The resulting Ricci tensor is very complicated. It seems impossible to solve the equations ric==0 for the unknown functions f, g, and beta directly. But one can study the Ricci tensor for some limiting values of the coordinate theta.

Limiting Values

First, we are implying some boundary conditions on beta:

Derivative[0, 1][β][ξ_, 0] := 0; 
β[ξ_, Pi/2] := 0; 
Derivative[0, 1][sigma][ξ_, Pi/2] := 0; 
Derivative[n_, 0][β][ξ_, Pi/2] := 0;

Next, we calculate the Ricci tensor in the equatorial plane (theta=0):

Timing[equator = Simplify[ric /. θ -> 0, Trig -> False]; ]

Then, we calculate the Ricci tensor on the symmetry axis (θ=π/2). Here, we have to take care of uncertainties of the kind 0/0:

Timing[tmp = Series[ric /. θ -> Pi/2 - δ, {δ, 0, 0}]; ]

Simplify[Coefficient[tmp, δ, -2], Trig -> False]

Simplify[Coefficient[tmp, δ, -1], Trig -> False]

Timing[pole = Simplify[Coefficient[tmp, δ, 0], Trig -> False]; ]

Where is what

Now, we would like to know: where are our unknown function f, g, and beta and their derivatives within the Ricci tensor (for theta=0 and theta=pi/2)?

Map[Union[Flatten[{Cases[#1, Derivative[__][β][ξ, 0]^(_.), Infinity], 
      Cases[#1, Derivative[__][f][ξ]^(_.), Infinity], 
      Cases[#1, Derivative[__][g][ξ]^(_.), Infinity]}]] & , equator, {2}]

Map[Union[Flatten[{Cases[#1, Derivative[__][β][ξ, Pi/2]^(_.), Infinity], 
      Cases[#1, Derivative[__][f][ξ]^(_.), Infinity], 
      Cases[#1, Derivative[__][g][ξ]^(_.), Infinity]}]] & , pole, {2}]

Finding the simplest equations

Provided with the above information about the locations of f, g, beta and their derivatives within the Ricci tensor, it can be seen that there is some chance to eliminate the derivatives of f and the theta-derivative of beta from the Ricci tensor at θ=π/2 by:

tmp = Simplify[Eliminate[{pole[[1,1]] == 0, pole[[2,2]] == 0, pole[[3,3]] == 0, 
     equator[[3,3]] == 0}, {Derivative[1][f][ξ], Derivative[2][f][ξ], 
     Derivative[0, 1][β][ξ, Pi/2]}]]

Indeed, we are left with a equation containing g only. Solve it for g':

Simplify[Solve[tmp[[2]], Derivative[1][g][ξ]]]

The same play again, but this time for finding an equation for f':

tmp = Simplify[Eliminate[{pole[[1,1]] == 0, pole[[2,2]] == 0, pole[[3,3]] == 0, 
     equator[[3,3]] == 0}, {Derivative[1][g][ξ], Derivative[2][f][ξ], 
     Derivative[0, 1][β][ξ, Pi/2]}]]

Simplify[Solve[tmp[[2]], Derivative[1][f][ξ]]]

Integrating the differential equation for g:

Integrate[-1/(-1 + E^(2*g)),g]

Integrate[1/4*(-3 + Cosh[2*z])*Csch[z] Sech[z], z]

Thus, the solution for f and g reads:

g[ξ_] := -1/2 Log[1-A Sinh[ξ]/Cosh[ξ]^2];
f[ξ_] := -g[ξ];

Finding beta

It remains to find β. First, we define some simplification rules to get better readable notation:

simrule = {Cosh[β[__]] :> Chβ, Sinh[β[__]] :> Shβ, g[ξ] -> g, Cos[θ] -> Cθ, 
    Sin[θ] -> Sθ, Tan[θ] -> Tθ, Cosh[ξ] -> Chξ, Sinh[ξ] -> Shξ, 
    Tanh[ξ] -> Thξ, Csch[ξ] -> 1/Shξ, Sech[ξ] -> 1/Chξ, sigma[__] -> Σ};

To find the simplest equation for beta, the most promising thing seems to study ric[[3,3]]==0:

tmp = FullSimplify[ric[[3,3]] //. hyper, Trig -> False] //. hyper;

Let us group the result as coefficients of A:

FullSimplify /@ CoefficientList[Numerator[Together[tmp]] /. sigma[x_,t_]->
Sqrt[Sinh[x]^2+Sin[t]^2], A]

Rearranging the above coefficients on a sheet of paper, one obtains the following equation for β:

This is still a quite complicated equation, but one can try to equal the content of the squared brackets independently to zero. The result for both brackets occurs to be the same! The solution reads:

Thus, all unknown functions are determined. Inserting the solutions of f, g, and beta into the Ricci tensor confirms that they are constituting a true vacuum solution of the Einstein equations (nullifying all components of the Ricci tensor).