This worksheet demonstrates a few capabilities of SageMath in computations regarding the 5-dimensional Kerr-AdS spacetime. The corresponding tools have been developed within the SageManifolds project (version 1.2, as included in SageMath 8.2).
Click here to download the worksheet file (ipynb format). To run it, you must start SageMath within the Jupyter notebook, via the command sage -n jupyter
NB: a version of SageMath at least equal to 8.2 is required to run this worksheet:
version()
'SageMath version 8.2, Release Date: 2018-05-05'
First we set up the notebook to display mathematical objects using LaTeX rendering:
%display latex
Since some computations are quite long, we ask for running them in parallel on 8 cores:
Parallelism().set(nproc=8)
We declare the Kerr-AdS spacetime as a 5-dimensional Lorentzian manifold:
M = Manifold(5, 'M', latex_name=r'\mathcal{M}', structure='Lorentzian')
print(M)
5-dimensional Lorentzian manifold M
Let us define Boyer-Lindquist-type coordinates (rational polynomial version) on $\mathcal{M}$, via the method chart()
, the argument of which is a string expressing the coordinates names, their ranges (the default is $(-\infty,+\infty)$) and their LaTeX symbols:
BL.<t,r,mu,ph,ps> = M.chart(r't r:(0,+oo) mu:(-1,1):\mu ph:(0,2*pi):\phi ps:(0,2*pi):\psi')
BL
Note that $\mu$ is related to the standard Boyer-Lindquist coordinate $\theta$ by $$ \mu = \cos\theta$$
The 4 parameters $m$, $a$, $b$ and $\ell$ of the Kerr-AdS spacetime are declared as symbolic variables, $a$ and $b$ being the two angular momentum parameters and $\ell$ being related to the cosmological constant by $\Lambda = - 6 \ell^2$:
var('m a b', domain='real')
var('l', domain='real', latex_name=r'\ell')
# Particular cases
# a = 0
# m = 0
# b = a
Some auxiliary functions:
sig = (1+r^2*l^2)/r^2
Delta = (r^2+a^2)*(r^2+b^2)*sig - 2*m
sinth2 = 1-mu^2
Delta_th = 1 - a^2*l^2*mu^2 - b^2*l^2*sinth2
rho2 = r^2 + a^2*mu^2 + b^2*sinth2
Xi_a = 1 - a^2*l^2
Xi_b = 1 - b^2*l^2
The metric is set by its components in the coordinate frame associated with the Boyer-Lindquist-type coordinates, which is the current manifold's default frame. These components are given by Eq. (5.22) of the article S.W. Hawking, C.J. Hunter & M.M. Taylor-Robinson, Phys. Rev. D 59, 064005 (1999):
g = M.metric()
tmp = 1/rho2*( -Delta + Delta_th*(a^2*sinth2 + b^2*mu^2) + a^2*b^2*sig )
g[0,0] = tmp.simplify_full()
tmp = a*sinth2/(rho2*Xi_a)*( Delta - (r^2+a^2)*(Delta_th + b^2*sig) )
g[0,3] = tmp.simplify_full()
tmp = b*mu^2/(rho2*Xi_b)*( Delta - (r^2+b^2)*(Delta_th + a^2*sig) )
g[0,4] = tmp.simplify_full()
g[1,1] = (rho2/Delta).simplify_full()
g[2,2] = (rho2/Delta_th/(1-mu^2)).simplify_full()
tmp = sinth2/(rho2*Xi_a^2)*( - Delta*a^2*sinth2 + (r^2+a^2)^2*(Delta_th + sig*b^2*sinth2) )
g[3,3] = tmp.simplify_full()
tmp = a*b*sinth2*mu^2/(rho2*Xi_a*Xi_b)*( - Delta + sig*(r^2+a^2)*(r^2+b^2) )
g[3,4] = tmp.simplify_full()
tmp = mu^2/(rho2*Xi_b^2)*( - Delta*b^2*mu^2 + (r^2+b^2)^2*(Delta_th + sig*a^2*mu^2) )
g[4,4] = tmp.simplify_full()
g.display()
g.display_comp(only_nonredundant=True)
The Ricci tensor of $g$ is
Ric = g.ricci()
print(Ric)
Field of symmetric bilinear forms Ric(g) on the 5-dimensional Lorentzian manifold M
Ric.display_comp(only_nonredundant=True)
Let us check that $g$ is a solution of the vacuum Einstein equation with the cosmological constant $\Lambda = - 6 \ell^2$:
Lambda = -6*l^2
Ric == 2/3*Lambda*g