Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

SageMath notebooks associated to the Black Hole Lectures (https://luth.obspm.fr/~luthier/gourgoulhon/bh16)

Project: BHLectures
Views: 20113
Kernel: SageMath 9.2.beta14

Carter frame in Kerr spacetime

This Jupyter/SageMath notebook is relative to the lectures Geometry and physics of black holes.

The corresponding tools have been developed within the SageManifolds project.

NB: a version of SageMath at least equal to 9.1 is required to run this notebook:

version()
'SageMath version 9.2.beta14, Release Date: 2020-09-30'

First we set up the notebook to display mathematical objects using LaTeX rendering:

%display latex

We ask for running tensor computations in parallel on 8 threads:

Parallelism().set(nproc=8)

Spacetime manifold

We declare the Kerr spacetime (or more precisely the part of it covered by Boyer-Lindquist coordinates) as a 4-dimensional Lorentzian manifold M\mathcal{M}:

M = Manifold(4, 'M', latex_name=r'\mathcal{M}', structure='Lorentzian') print(M)
4-dimensional Lorentzian manifold M

We then introduce the standard Boyer-Lindquist coordinates as a chart BL (for Boyer-Lindquist) on M\mathcal{M}, via the method chart(), the argument of which is a string (delimited by r"..." because of the backslash symbols) expressing the coordinates names, their ranges (the default is (,+)(-\infty,+\infty)) and their LaTeX symbols:

BL.<t,r,th,ph> = M.chart(r"t r th:(0,pi):\theta ph:(0,2*pi):\phi") print(BL); BL
Chart (M, (t, r, th, ph))
(M,(t,r,θ,ϕ))\renewcommand{\Bold}[1]{\mathbf{#1}}\left(\mathcal{M},(t, r, {\theta}, {\phi})\right)
BL[0], BL[1]
(t,r)\renewcommand{\Bold}[1]{\mathbf{#1}}\left(t, r\right)

Metric tensor

The 2 parameters mm and aa of the Kerr spacetime are declared as symbolic variables:

var('m, a', domain='real')
(m,a)\renewcommand{\Bold}[1]{\mathbf{#1}}\left(m, a\right)

We get the (yet undefined) spacetime metric:

g = M.metric()

The metric is set by its components in the coordinate frame associated with Boyer-Lindquist coordinates, which is the current manifold's default frame:

rho2 = r^2 + (a*cos(th))^2 Delta = r^2 -2*m*r + a^2 g[0,0] = -(1-2*m*r/rho2) g[0,3] = -2*a*m*r*sin(th)^2/rho2 g[1,1], g[2,2] = rho2/Delta, rho2 g[3,3] = (r^2+a^2+2*m*r*(a*sin(th))^2/rho2)*sin(th)^2 g.display()
g=(2mra2cos(θ)2+r21)dtdt+(2amrsin(θ)2a2cos(θ)2+r2)dtdϕ+(a2cos(θ)2+r2a22mr+r2)drdr+(a2cos(θ)2+r2)dθdθ+(2amrsin(θ)2a2cos(θ)2+r2)dϕdt+(2a2mrsin(θ)2a2cos(θ)2+r2+a2+r2)sin(θ)2dϕdϕ\renewcommand{\Bold}[1]{\mathbf{#1}}g = \left( \frac{2 \, m r}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} - 1 \right) \mathrm{d} t\otimes \mathrm{d} t + \left( -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \right) \mathrm{d} t\otimes \mathrm{d} {\phi} + \left( \frac{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}{a^{2} - 2 \, m r + r^{2}} \right) \mathrm{d} r\otimes \mathrm{d} r + \left( a^{2} \cos\left({\theta}\right)^{2} + r^{2} \right) \mathrm{d} {\theta}\otimes \mathrm{d} {\theta} + \left( -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \right) \mathrm{d} {\phi}\otimes \mathrm{d} t + {\left(\frac{2 \, a^{2} m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} + a^{2} + r^{2}\right)} \sin\left({\theta}\right)^{2} \mathrm{d} {\phi}\otimes \mathrm{d} {\phi}

A matrix view of the components with respect to the manifold's default vector frame:

g[:]
(2mra2cos(θ)2+r21002amrsin(θ)2a2cos(θ)2+r20a2cos(θ)2+r2a22mr+r20000a2cos(θ)2+r202amrsin(θ)2a2cos(θ)2+r200(2a2mrsin(θ)2a2cos(θ)2+r2+a2+r2)sin(θ)2)\renewcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrrr} \frac{2 \, m r}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} - 1 & 0 & 0 & -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \\ 0 & \frac{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}{a^{2} - 2 \, m r + r^{2}} & 0 & 0 \\ 0 & 0 & a^{2} \cos\left({\theta}\right)^{2} + r^{2} & 0 \\ -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} & 0 & 0 & {\left(\frac{2 \, a^{2} m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} + a^{2} + r^{2}\right)} \sin\left({\theta}\right)^{2} \end{array}\right)

The list of the non-vanishing components:

g.display_comp()
gtttt=2mra2cos(θ)2+r21gtϕtϕ=2amrsin(θ)2a2cos(θ)2+r2grrrr=a2cos(θ)2+r2a22mr+r2gθθθθ=a2cos(θ)2+r2gϕtϕt=2amrsin(θ)2a2cos(θ)2+r2gϕϕϕϕ=(2a2mrsin(θ)2a2cos(θ)2+r2+a2+r2)sin(θ)2\renewcommand{\Bold}[1]{\mathbf{#1}}\begin{array}{lcl} g_{ \, t \, t }^{ \phantom{\, t}\phantom{\, t} } & = & \frac{2 \, m r}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} - 1 \\ g_{ \, t \, {\phi} }^{ \phantom{\, t}\phantom{\, {\phi}} } & = & -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \\ g_{ \, r \, r }^{ \phantom{\, r}\phantom{\, r} } & = & \frac{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}{a^{2} - 2 \, m r + r^{2}} \\ g_{ \, {\theta} \, {\theta} }^{ \phantom{\, {\theta}}\phantom{\, {\theta}} } & = & a^{2} \cos\left({\theta}\right)^{2} + r^{2} \\ g_{ \, {\phi} \, t }^{ \phantom{\, {\phi}}\phantom{\, t} } & = & -\frac{2 \, a m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \\ g_{ \, {\phi} \, {\phi} }^{ \phantom{\, {\phi}}\phantom{\, {\phi}} } & = & {\left(\frac{2 \, a^{2} m r \sin\left({\theta}\right)^{2}}{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} + a^{2} + r^{2}\right)} \sin\left({\theta}\right)^{2} \end{array}

Carter frame

The default vector frame on the spacetime manifold is the coordinate basis associated with Boyer-Lindquist coordinates:

M.default_frame() is BL.frame()
True\renewcommand{\Bold}[1]{\mathbf{#1}}\mathrm{True}
BL.frame()
(M,(t,r,θ,ϕ))\renewcommand{\Bold}[1]{\mathbf{#1}}\left(\mathcal{M}, \left(\frac{\partial}{\partial t },\frac{\partial}{\partial r },\frac{\partial}{\partial {\theta} },\frac{\partial}{\partial {\phi} }\right)\right)

The 4-velocity of the Carter obsever is defined by its components w.r.t. the Boyer-Lindquist frame:

rho = sqrt(rho2) e0 = M.vector_field([(r^2 + a^2)/(rho*sqrt(Delta)), 0, 0, a/(rho*sqrt(Delta))], name='eps0', latex_name=r'\varepsilon_0') e0.display()
ε0=(a2+r2a2cos(θ)2+r2a22mr+r2)t+(aa2cos(θ)2+r2a22mr+r2)ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_0 = \left( \frac{a^{2} + r^{2}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \frac{\partial}{\partial t } + \left( \frac{a}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \frac{\partial}{\partial {\phi} }

We check that is a unit timelike vector:

g(e0, e0).expr()
1\renewcommand{\Bold}[1]{\mathbf{#1}}-1

and that it is future-directed, by computing its scalar product with the global null vector kk, which generates the ingoing principal null geodesics:

k = M.vector_field([(r^2 + a^2)/Delta, -1, 0, a/Delta], name='k') k.display()
k=(a2+r2a22mr+r2)tr+(aa22mr+r2)ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}k = \left( \frac{a^{2} + r^{2}}{a^{2} - 2 \, m r + r^{2}} \right) \frac{\partial}{\partial t } -\frac{\partial}{\partial r } + \left( \frac{a}{a^{2} - 2 \, m r + r^{2}} \right) \frac{\partial}{\partial {\phi} }
g(k, e0).expr()
a2cos(θ)2+r2a22mr+r2\renewcommand{\Bold}[1]{\mathbf{#1}}-\frac{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}}{\sqrt{a^{2} - 2 \, m r + r^{2}}}

The spacelike vectors of the Carter frame:

e1 = M.vector_field([0, sqrt(Delta)/rho, 0, 0], name='eps1', latex_name=r'\varepsilon_1') e1.display()
ε1=(a22mr+r2a2cos(θ)2+r2)r\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_1 = \left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial r }
e2 = M.vector_field([0, 0, 1/rho, 0], name='eps2', latex_name=r'\varepsilon_2') e2.display()
ε2=(1a2cos(θ)2+r2)θ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_2 = \left( \frac{1}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial {\theta} }
e3 = M.vector_field([a*sin(th)/rho, 0, 0, 1/(rho*sin(th))], name='eps3', latex_name=r'\varepsilon_3') e3.display()
ε3=(asin(θ)a2cos(θ)2+r2)t+(1a2cos(θ)2+r2sin(θ))ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_3 = \left( \frac{a \sin\left({\theta}\right)}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial t } + \left( \frac{1}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sin\left({\theta}\right)} \right) \frac{\partial}{\partial {\phi} }
CF = M.vector_frame('eps', [e0, e1, e2, e3], latex_symbol=r'\varepsilon') CF
(M,(ε0,ε1,ε2,ε3))\renewcommand{\Bold}[1]{\mathbf{#1}}\left(\mathcal{M}, \left(\varepsilon_{0},\varepsilon_{1},\varepsilon_{2},\varepsilon_{3}\right)\right)
for v in CF: show(v.display())
ε0=(a2+r2a2cos(θ)2+r2a22mr+r2)t+(aa2cos(θ)2+r2a22mr+r2)ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_{0} = \left( \frac{a^{2} + r^{2}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \frac{\partial}{\partial t } + \left( \frac{a}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \frac{\partial}{\partial {\phi} }
ε1=(a22mr+r2a2cos(θ)2+r2)r\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_{1} = \left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial r }
ε2=(1a2cos(θ)2+r2)θ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_{2} = \left( \frac{1}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial {\theta} }
ε3=(asin(θ)a2cos(θ)2+r2)t+(1a2cos(θ)2+r2sin(θ))ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon_{3} = \left( \frac{a \sin\left({\theta}\right)}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \frac{\partial}{\partial t } + \left( \frac{1}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \sin\left({\theta}\right)} \right) \frac{\partial}{\partial {\phi} }

Check that the Carter frame is orthonormal:

matrix([[g(u, v).expr() for v in CF] for u in CF])
(1000010000100001)\renewcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrrr} -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right)

The Carter coframe

for f in CF.coframe(): show(f.display())
ε0=(a22mr+r2a2cos(θ)2+r2)dt+(a22mr+r2asin(θ)2a2cos(θ)2+r2)dϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon^{0} = \left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \mathrm{d} t + \left( -\frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a \sin\left({\theta}\right)^{2}}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \mathrm{d} {\phi}
ε1=(a2cos(θ)2+r2a22mr+r2)dr\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon^{1} = \left( \frac{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}}{\sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \mathrm{d} r
ε2=(a2cos(θ)2+r2)dθ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon^{2} = \left( \sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}} \right) \mathrm{d} {\theta}
ε3=(asin(θ)a2cos(θ)2+r2)dt+((a2+r2)sin(θ)a2cos(θ)2+r2)dϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\varepsilon^{3} = \left( -\frac{a \sin\left({\theta}\right)}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \mathrm{d} t + \left( \frac{{\left(a^{2} + r^{2}\right)} \sin\left({\theta}\right)}{\sqrt{a^{2} \cos\left({\theta}\right)^{2} + r^{2}}} \right) \mathrm{d} {\phi}

4-acceleration of the Carter observer

nabla = g.connection() print(nabla)
Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 4-dimensional Lorentzian manifold M
A = nabla(e0).contract(e0) # use A to avoid any confusion with the Kerr parameter a A.set_name('a') print(A)
Vector field a on the 4-dimensional Lorentzian manifold M
A.apply_map(factor) # factor the components for a better display A.display()
a=(a2msin(θ)2a2rsin(θ)2a2m+mr2(a2cos(θ)2+r2)2)ra2cos(θ)sin(θ)(a2cos(θ)2+r2)2θ\renewcommand{\Bold}[1]{\mathbf{#1}}a = \left( \frac{a^{2} m \sin\left({\theta}\right)^{2} - a^{2} r \sin\left({\theta}\right)^{2} - a^{2} m + m r^{2}}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \right) \frac{\partial}{\partial r } -\frac{a^{2} \cos\left({\theta}\right) \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \frac{\partial}{\partial {\theta} }

As a check, we note that the above formula agrees with that given by Eqs. (90)-(91) of O. Semerak, Gen. Relat. Grav. 25, 1041 (1993).

Display in the Carter frame:

A.apply_map(factor, frame=CF, keep_other_components=True) A.display(CF)
a=(a2msin(θ)2a2rsin(θ)2a2m+mr2(a2cos(θ)2+r2)32a22mr+r2)ε1a2cos(θ)sin(θ)(a2cos(θ)2+r2)32ε2\renewcommand{\Bold}[1]{\mathbf{#1}}a = \left( \frac{a^{2} m \sin\left({\theta}\right)^{2} - a^{2} r \sin\left({\theta}\right)^{2} - a^{2} m + m r^{2}}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}} \sqrt{a^{2} - 2 \, m r + r^{2}}} \right) \varepsilon_{1} -\frac{a^{2} \cos\left({\theta}\right) \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \varepsilon_{2}

4-rotation of the ZAMO frame

We define the rotation operator as Ωrot(v)=ε0vΩFW(v) \Omega_{\rm rot}(v) = \nabla_{\varepsilon_0} v - \Omega_{\rm FW}(v) where ΩFW(v):=(av)ε0(ε0v)a\Omega_{\rm FW}(v) := (a\cdot v) \varepsilon_0 - (\varepsilon_0\cdot v) a is the Fermi-Walker operator:

def rotation_operator(v): return nabla(v).contract(e0) - g(A, v)*e0 + g(e0, v)*A

Some check:

rotation_operator(e0) == 0
True\renewcommand{\Bold}[1]{\mathbf{#1}}\mathrm{True}

Let us evaluate Ωrot(ε1)\Omega_{\rm rot}(\varepsilon_1):

De1 = rotation_operator(e1) De1.apply_map(factor) De1.display()
a2rsin(θ)2(a2cos(θ)2+r2)2t+ar(a2cos(θ)2+r2)2ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\frac{a^{2} r \sin\left({\theta}\right)^{2}}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \frac{\partial}{\partial t } + \frac{a r}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \frac{\partial}{\partial {\phi} }
De1.apply_map(factor, frame=CF, keep_other_components=True) De1.display(CF)
arsin(θ)(a2cos(θ)2+r2)32ε3\renewcommand{\Bold}[1]{\mathbf{#1}}\frac{a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \varepsilon_{3}

Let us now evaluate Ωrot(ε2)\Omega_{\rm rot}(\varepsilon_2):

De2 = rotation_operator(e2) De2.apply_map(factor) De2.display()
(a22mr+r2a2cos(θ)sin(θ)(a2cos(θ)2+r2)2)t+(a22mr+r2acos(θ)(a2cos(θ)2+r2)2sin(θ))ϕ\renewcommand{\Bold}[1]{\mathbf{#1}}\left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a^{2} \cos\left({\theta}\right) \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \right) \frac{\partial}{\partial t } + \left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2} \sin\left({\theta}\right)} \right) \frac{\partial}{\partial {\phi} }
De2.apply_map(factor, frame=CF, keep_other_components=True) De2.display(CF)
((a2sin(θ)2a2r2)a22mr+r2acos(θ)(a2cos(θ)2+r2)52)ε3\renewcommand{\Bold}[1]{\mathbf{#1}}\left( -\frac{{\left(a^{2} \sin\left({\theta}\right)^{2} - a^{2} - r^{2}\right)} \sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{5}{2}}} \right) \varepsilon_{3}

and finally Ωrot(e3)\Omega_{\rm rot}(e_3):

De3 = rotation_operator(e3) De3.apply_map(factor) De3.display()
(a22mr+r2arsin(θ)(a2cos(θ)2+r2)2)r+((a2sin(θ)2a2r2)a22mr+r2acos(θ)(a2cos(θ)2+r2)3)θ\renewcommand{\Bold}[1]{\mathbf{#1}}\left( -\frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \right) \frac{\partial}{\partial r } + \left( \frac{{\left(a^{2} \sin\left({\theta}\right)^{2} - a^{2} - r^{2}\right)} \sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{3}} \right) \frac{\partial}{\partial {\theta} }

Let us enforce further trigonometric simplification:

De3.apply_map(lambda x: x.trig_reduce()) De3.apply_map(lambda x: x.simplify_trig()) De3.apply_map(factor) De3.display()
(a22mr+r2arsin(θ)(a2cos(θ)2+r2)2)r+(a22mr+r2acos(θ)(a2cos(θ)2+r2)2)θ\renewcommand{\Bold}[1]{\mathbf{#1}}\left( -\frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \right) \frac{\partial}{\partial r } + \left( -\frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \right) \frac{\partial}{\partial {\theta} }
De3.apply_map(factor, frame=CF, keep_other_components=True) De3.display(CF)
arsin(θ)(a2cos(θ)2+r2)32ε1+(a22mr+r2acos(θ)(a2cos(θ)2+r2)32)ε2\renewcommand{\Bold}[1]{\mathbf{#1}}-\frac{a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \varepsilon_{1} + \left( -\frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \right) \varepsilon_{2}

In the orthonormal frame (ε1,ε2,ε3)(\varepsilon_1, \varepsilon_2, \varepsilon_3) of the Carter observer's rest space, the matrix of the operator Ωrot\Omega_{\rm rot} must be of the type (0ω3ω3ω30ω1ω2ω10), \left( \begin{array}{ccc} 0 & - \omega^3 & \omega^3 \\ \omega^3 & 0 & -\omega^1 \\ - \omega^2 & \omega^1 & 0 \end{array} \right), where the ωi\omega^i's are the components on the 4-rotation vector: ω=ωiεi \omega = \omega^i \varepsilon_i

From the above expressions of the Ωrot(εi)\Omega_{\rm rot}(\varepsilon_i)'s, we get immediately ω3=0\omega^3 = 0 and we check that

De1[CF, 3] == - De3[CF, 1]
True\renewcommand{\Bold}[1]{\mathbf{#1}}\mathrm{True}
De2[CF, 3] == - De3[CF, 2]
True\renewcommand{\Bold}[1]{\mathbf{#1}}\mathrm{True}

Therefore, we get the 4-rotation vector ω\omega as

omega = - De3[CF, 2]*e1 + De3[CF, 1]*e2 omega.set_name('omega', latex_name=r'\omega') omega.apply_map(factor) omega.apply_map(factor, frame=CF, keep_other_components=True) omega.display(CF)
ω=(a22mr+r2acos(θ)(a2cos(θ)2+r2)32)ε1arsin(θ)(a2cos(θ)2+r2)32ε2\renewcommand{\Bold}[1]{\mathbf{#1}}\omega = \left( \frac{\sqrt{a^{2} - 2 \, m r + r^{2}} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \right) \varepsilon_{1} -\frac{a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{\frac{3}{2}}} \varepsilon_{2}
omega.display()
ω=(a22mr+r2)acos(θ)(a2cos(θ)2+r2)2rarsin(θ)(a2cos(θ)2+r2)2θ\renewcommand{\Bold}[1]{\mathbf{#1}}\omega = \frac{{\left(a^{2} - 2 \, m r + r^{2}\right)} a \cos\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \frac{\partial}{\partial r } -\frac{a r \sin\left({\theta}\right)}{{\left(a^{2} \cos\left({\theta}\right)^{2} + r^{2}\right)}^{2}} \frac{\partial}{\partial {\theta} }

As a check, we note that the above formula agrees with that given by Eq. (93) of O. Semerak, Gen. Relat. Grav. 25, 1041 (1993).