{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Kerr spacetime\n", "\n", "This worksheet demonstrates a few capabilities of [SageManifolds](http://sagemanifolds.obspm.fr) (version 0.9.1) in computations regarding Kerr spacetime.\n", "\n", "Click [here](https://raw.githubusercontent.com/sagemanifolds/SageManifolds/master/Worksheets/v0.9.1/SM_Kerr.ipynb) to download the worksheet file (ipynb format). To run it, you must start SageMath within the Jupyter notebook, via the command `sage -n jupyter`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we set up the notebook to display mathematical objects using LaTeX formatting:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also define a viewer for 3D plots (use `'jmol'` for interactive 3D graphics):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "viewer3D = 'tachyon' # must be 'jmol', 'tachyon' or None (default)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since some computations are quite long, we ask for running them in parallel on 8 cores:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Parallelism().set(nproc=8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spacetime manifold\n", "\n", "We declare the Kerr spacetime as a 4-dimensional diffentiable manifold:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4-dimensional differentiable manifold M\n" ] } ], "source": [ "M = Manifold(4, 'M', r'\\mathcal{M}')\n", "print(M)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us use the standard **Boyer-Lindquist coordinates** on it, by first introducing the part $\\mathcal{M}_0$ covered by these coordinates and then declaring a chart `BL` (for *Boyer-Lindquist*) on $\\mathcal{M}_0$, 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:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Chart (M0, (t, r, th, ph))\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Chart (M0, (t, r, th, ph))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M0 = M.open_subset('M0', r'\\mathcal{M}_0')\n", "BL. = M0.chart(r't r:(0,+oo) th:(0,pi):\\theta ph:(0,2*pi):\\phi') \n", "print(BL) ; BL" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(t, r)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BL[0], BL[1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Metric tensor

\n", "\n", "

The 2 parameters $m$ and $a$ of the Kerr spacetime are declared as symbolic variables:

" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(m, a)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('m, a', domain='real')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us introduce the spacetime metric:

" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "g = M.lorentzian_metric('g')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

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

" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g = (2*m*r/(a^2*cos(th)^2 + r^2) - 1) dt*dt - 2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) dt*dph + (a^2*cos(th)^2 + r^2)/(a^2 - 2*m*r + r^2) dr*dr + (a^2*cos(th)^2 + r^2) dth*dth - 2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) dph*dt + (2*a^2*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) + a^2 + r^2)*sin(th)^2 dph*dph" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rho2 = r^2 + (a*cos(th))^2\n", "Delta = r^2 -2*m*r + a^2\n", "g[0,0] = -(1-2*m*r/rho2)\n", "g[0,3] = -2*a*m*r*sin(th)^2/rho2\n", "g[1,1], g[2,2] = rho2/Delta, rho2\n", "g[3,3] = (r^2+a^2+2*m*r*(a*sin(th))^2/rho2)*sin(th)^2\n", "g.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

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

" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[ 2*m*r/(a^2*cos(th)^2 + r^2) - 1 0 0 -2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2)]\n", "[ 0 (a^2*cos(th)^2 + r^2)/(a^2 - 2*m*r + r^2) 0 0]\n", "[ 0 0 a^2*cos(th)^2 + r^2 0]\n", "[ -2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) 0 0 (2*a^2*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) + a^2 + r^2)*sin(th)^2]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g[:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The list of the non-vanishing components:

" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g_t,t = 2*m*r/(a^2*cos(th)^2 + r^2) - 1 \n", "g_t,ph = -2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) \n", "g_r,r = (a^2*cos(th)^2 + r^2)/(a^2 - 2*m*r + r^2) \n", "g_th,th = a^2*cos(th)^2 + r^2 \n", "g_ph,t = -2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) \n", "g_ph,ph = (2*a^2*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) + a^2 + r^2)*sin(th)^2 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display_comp()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Levi-Civita Connection

\n", "\n", "

The Levi-Civita connection $\\nabla$ associated with $g$:

" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "nabla = g.connection() ; print(nabla)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us verify that the covariant derivative of $g$ with respect to $\\nabla$ vanishes identically:

" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nabla(g) == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Another view of the above property:

" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "nabla_g(g) = 0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nabla(g).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The nonzero Christoffel symbols (skipping those that can be deduced by symmetry of the last two indices):

" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Gam^t_t,r = (a^2*m*r^2 + m*r^4 - (a^4*m + a^2*m*r^2)*cos(th)^2)/(a^2*r^4 - 2*m*r^5 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*cos(th)^4 + 2*(a^4*r^2 - 2*a^2*m*r^3 + a^2*r^4)*cos(th)^2) \n", "Gam^t_t,th = -2*a^2*m*r*cos(th)*sin(th)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) \n", "Gam^t_r,ph = -(a^3*m*r^2 + 3*a*m*r^4 - (a^5*m - a^3*m*r^2)*cos(th)^2)*sin(th)^2/(a^2*r^4 - 2*m*r^5 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*cos(th)^4 + 2*(a^4*r^2 - 2*a^2*m*r^3 + a^2*r^4)*cos(th)^2) \n", "Gam^t_th,ph = -2*(a^5*m*r*cos(th)*sin(th)^5 - (a^5*m*r + a^3*m*r^3)*cos(th)*sin(th)^3)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^r_t,t = (a^2*m*r^2 - 2*m^2*r^3 + m*r^4 - (a^4*m - 2*a^2*m^2*r + a^2*m*r^2)*cos(th)^2)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^r_t,ph = -(a^3*m*r^2 - 2*a*m^2*r^3 + a*m*r^4 - (a^5*m - 2*a^3*m^2*r + a^3*m*r^2)*cos(th)^2)*sin(th)^2/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^r_r,r = (a^2*r - m*r^2 + (a^2*m - a^2*r)*cos(th)^2)/(a^2*r^2 - 2*m*r^3 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*cos(th)^2) \n", "Gam^r_r,th = -a^2*cos(th)*sin(th)/(a^2*cos(th)^2 + r^2) \n", "Gam^r_th,th = -(a^2*r - 2*m*r^2 + r^3)/(a^2*cos(th)^2 + r^2) \n", "Gam^r_ph,ph = ((a^4*m*r^2 - 2*a^2*m^2*r^3 + a^2*m*r^4 - (a^6*m - 2*a^4*m^2*r + a^4*m*r^2)*cos(th)^2)*sin(th)^4 - (a^2*r^5 - 2*m*r^6 + r^7 + (a^6*r - 2*a^4*m*r^2 + a^4*r^3)*cos(th)^4 + 2*(a^4*r^3 - 2*a^2*m*r^4 + a^2*r^5)*cos(th)^2)*sin(th)^2)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^th_t,t = -2*a^2*m*r*cos(th)*sin(th)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^th_t,ph = 2*(a^3*m*r + a*m*r^3)*cos(th)*sin(th)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^th_r,r = a^2*cos(th)*sin(th)/(a^2*r^2 - 2*m*r^3 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*cos(th)^2) \n", "Gam^th_r,th = r/(a^2*cos(th)^2 + r^2) \n", "Gam^th_th,th = -a^2*cos(th)*sin(th)/(a^2*cos(th)^2 + r^2) \n", "Gam^th_ph,ph = -((a^6 - 2*a^4*m*r + a^4*r^2)*cos(th)^5 + 2*(a^4*r^2 - 2*a^2*m*r^3 + a^2*r^4)*cos(th)^3 + (2*a^4*m*r + 4*a^2*m*r^3 + a^2*r^4 + r^6)*cos(th))*sin(th)/(a^6*cos(th)^6 + 3*a^4*r^2*cos(th)^4 + 3*a^2*r^4*cos(th)^2 + r^6) \n", "Gam^ph_t,r = -(a^3*m*cos(th)^2 - a*m*r^2)/(a^2*r^4 - 2*m*r^5 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*cos(th)^4 + 2*(a^4*r^2 - 2*a^2*m*r^3 + a^2*r^4)*cos(th)^2) \n", "Gam^ph_t,th = -2*a*m*r*cos(th)/((a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4)*sin(th)) \n", "Gam^ph_r,ph = -(a^2*m*r^2 + 2*m*r^4 - r^5 + (a^4*m - a^4*r)*cos(th)^4 - (a^4*m - a^2*m*r^2 + 2*a^2*r^3)*cos(th)^2)/(a^2*r^4 - 2*m*r^5 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*cos(th)^4 + 2*(a^4*r^2 - 2*a^2*m*r^3 + a^2*r^4)*cos(th)^2) \n", "Gam^ph_th,ph = (a^4*cos(th)*sin(th)^4 - 2*(a^4 - a^2*m*r + a^2*r^2)*cos(th)*sin(th)^2 + (a^4 + 2*a^2*r^2 + r^4)*cos(th))/((a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4)*sin(th)) " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.christoffel_symbols_display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Killing vectors

\n", "

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

" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.default_frame() is BL.frame()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Coordinate frame (M0, (d/dt,d/dr,d/dth,d/dph))" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BL.frame()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us consider the first vector field of this frame:

" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Vector field d/dt on the Open subset M0 of the 4-dimensional differentiable manifold M" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xi = BL.frame()[0] ; xi" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vector field d/dt on the Open subset M0 of the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "print(xi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The 1-form associated to it by metric duality is

" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-(a^2*cos(th)^2 - 2*m*r + r^2)/(a^2*cos(th)^2 + r^2) dt - 2*a*m*r*sin(th)^2/(a^2*cos(th)^2 + r^2) dph" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xi_form = xi.down(g) ; xi_form.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Its covariant derivative is

" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (0,2) on the Open subset M0 of the 4-dimensional differentiable manifold M\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "(a^2*m*cos(th)^2 - m*r^2)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dt*dr + 2*a^2*m*r*cos(th)*sin(th)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dt*dth - (a^2*m*cos(th)^2 - m*r^2)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dr*dt + (a^3*m*cos(th)^2 - a*m*r^2)*sin(th)^2/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dr*dph - 2*a^2*m*r*cos(th)*sin(th)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dth*dt + 2*(a^3*m*r + a*m*r^3)*cos(th)*sin(th)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dth*dph - (a^3*m*cos(th)^2 - a*m*r^2)*sin(th)^2/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dph*dr - 2*(a^3*m*r + a*m*r^3)*cos(th)*sin(th)/(a^4*cos(th)^4 + 2*a^2*r^2*cos(th)^2 + r^4) dph*dth" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nab_xi = nabla(xi_form) ; print(nab_xi) ; nab_xi.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us check that the Killing equation is satisfied:

" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nab_xi.symmetrize() == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Similarly, let us check that $\\frac{\\partial}{\\partial\\phi}$ is a Killing vector:

" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Vector field d/dph on the Open subset M0 of the 4-dimensional differentiable manifold M" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chi = BL.frame()[3] ; chi" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nabla(chi.down(g)).symmetrize() == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Curvature

\n", "\n", "

The Ricci tensor associated with $g$:

" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms Ric(g) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "Ric = g.ricci() ; print(Ric)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us check that the Kerr metric is a solution of the vacuum Einstein equation:

" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Another view of the above property:

" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Ric(g) = 0" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The Riemann curvature tensor associated with $g$:

" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field Riem(g) of type (1,3) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "R = g.riemann() ; print(R)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Contrary to the Ricci tensor, the Riemann tensor does not vanish; for instance, the component $R^0_{\\ \\, 123}$ is

" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-((a^7*m - 2*a^5*m^2*r + a^5*m*r^2)*cos(th)*sin(th)^5 + (a^7*m + 2*a^5*m^2*r + 6*a^5*m*r^2 - 6*a^3*m^2*r^3 + 5*a^3*m*r^4)*cos(th)*sin(th)^3 - 2*(a^7*m - a^5*m*r^2 - 5*a^3*m*r^4 - 3*a*m*r^6)*cos(th)*sin(th))/(a^2*r^6 - 2*m*r^7 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*cos(th)^6 + 3*(a^6*r^2 - 2*a^4*m*r^3 + a^4*r^4)*cos(th)^4 + 3*(a^4*r^4 - 2*a^2*m*r^5 + a^2*r^6)*cos(th)^2)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R[0,1,2,3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Bianchi identity

\n", "\n", "

Let us check the Bianchi identity $\\nabla_p R^i_{\\ \\, j kl} + \\nabla_k R^i_{\\ \\, jlp} + \\nabla_l R^i_{\\ \\, jpk} = 0$:

" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field nabla_g(Riem(g)) of type (1,4) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "DR = nabla(R) ; print(DR) #long (takes a while)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n" ] } ], "source": [ "for i in M.irange():\n", " for j in M.irange():\n", " for k in M.irange():\n", " for l in M.irange():\n", " for p in M.irange():\n", " print DR[i,j,k,l,p] + DR[i,j,l,p,k] + DR[i,j,p,k,l] ," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

If the last sign in the Bianchi identity is changed to minus, the identity does no longer hold:

" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR[0,1,2,3,1] + DR[0,1,3,1,2] + DR[0,1,1,2,3] # should be zero (Bianchi identity)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "24*((a^5*m*r + a^3*m*r^3)*cos(th)*sin(th)^3 - (a^5*m*r - a*m*r^5)*cos(th)*sin(th))/(a^2*r^6 - 2*m*r^7 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*cos(th)^6 + 3*(a^6*r^2 - 2*a^4*m*r^3 + a^4*r^4)*cos(th)^4 + 3*(a^4*r^4 - 2*a^2*m*r^5 + a^2*r^6)*cos(th)^2)" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR[0,1,2,3,1] + DR[0,1,3,1,2] - DR[0,1,1,2,3] # note the change of the second + to -" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Kretschmann scalar\n", "\n", "The tensor $R^\\flat$, of components $R_{abcd} = g_{am} R^m_{\\ \\, bcd}$:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (0,4) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "dR = R.down(g) ; print(dR)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The tensor $R^\\sharp$, of components $R^{abcd} = g^{bp} g^{cq} g^{dr} R^a_{\\ \\, pqr}$:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (4,0) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "uR = R.up(g) ; print(uR)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Kretschmann scalar $K := R^{abcd} R_{abcd}$:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "M --> R\n", "on M0: (t, r, th, ph) |--> -48*(a^6*m^2*cos(th)^6 - 15*a^4*m^2*r^2*cos(th)^4 + 15*a^2*m^2*r^4*cos(th)^2 - m^2*r^6)/(a^12*cos(th)^12 + 6*a^10*r^2*cos(th)^10 + 15*a^8*r^4*cos(th)^8 + 20*a^6*r^6*cos(th)^6 + 15*a^4*r^8*cos(th)^4 + 6*a^2*r^10*cos(th)^2 + r^12)" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kr_scalar = uR['^{abcd}']*dR['_{abcd}']\n", "Kr_scalar.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

A variant of this expression can be obtained by invoking the factor() method on the coordinate function representing the scalar field in the manifold's default chart:

" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-48*(a^2*cos(th)^2 + 4*a*r*cos(th) + r^2)*(a^2*cos(th)^2 - 4*a*r*cos(th) + r^2)*(a*cos(th) + r)*(a*cos(th) - r)*m^2/(a^2*cos(th)^2 + r^2)^6" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kr = Kr_scalar.coord_function()\n", "Kr.factor()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

As a check, we can compare Kr to the formula given by R. Conn Henry, Astrophys. J. 535, 350 (2000):

" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kr == 48*m^2*(r^6 - 15*r^4*(a*cos(th))^2 + 15*r^2*(a*cos(th))^4 \n", " - (a*cos(th))^6) / (r^2+(a*cos(th))^2)^6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The Schwarzschild value of the Kretschmann scalar is recovered by setting $a=0$:

" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "48*m^2/r^6" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kr.expr().subs(a=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us plot the Kretschmann scalar for $m=1$ and  $a=0.9$:

" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nDATiDuqGWCwWCoVMsuA1MDg4CGUHjgXiDuqJSCRilAWv00sZHBwcGhqCsgPHAnEH9cfQ0NDQ0JBO\nCz6bzWq7MZ1OU2XX0zsAZgNxB3XJ0NBQNps9fvy49V2PjY1B2YHz+YzdAwBAI/39/YVC4fjx4/39\n/Rpup9kyqnyVdDoNZQf1AiJ3UMcEAoH+/n7NU6yqlH1wcDCbzULZQb0AcQd1z9DQkNn+DH1+aPuI\nAIAtoCokcAmDg4OhUEi5/k5NTe3Zs0fJlfTJAWUH9QUid+ASqGGiPIQ/ceKEksuOHz++b98+KDuo\nOyDuwD309/fv27fPwFVOg4OD/f3969atM6pBACwD4g5cxbp16+gqJ9krZRcxIZkd1DVIhQQupDzF\nKmGn5HI5sVM3btz49re/DWUHdQ0id+BO+vv7c7mcBotmamoKyg5cAMQduJahoSGJQmNitsyJEyeg\n7MAFIBUSuB9avrEq8bE2FXJqaiqXyyExBrgDRO7A/QwNDdUmPlYduXHjxokTJ6DswDVgQhU0BLVT\nrHxbZmpqCm4McBmI3EGjQGW9bMGXs2UGBwdzuRyUHbgMiDtoIKr0fWpqitrxcGOA+8CEKmhEBgcH\nf/jDH+7du/e73/2u3WMBwBTguYNGZGhoyOv1futb37J7IACYBSJ3AABwIfDcAQDAhUDcAQDAhUDc\nAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDA\nhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDc\nAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDA\nhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDc\nAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDAhUDcAQDA\nhfx/p4eIUiU4picAAAAASUVORK5CYII=\n", "text/plain": [ "Graphics3d Object" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K1 = Kr.expr().subs(m=1, a=0.9)\n", "plot3d(K1, (r,1,3), (th, 0, pi), viewer=viewer3D)" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 7.4.beta4", "language": "", "name": "sagemath" }, "language": "python", "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }