{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3+1 slicing of Kerr spacetime\n", "\n", "This worksheet demonstrates a few capabilities of SageManifolds (version 1.0, as included in SageMath 7.5) in computations regarding the 3+1 slicing of Kerr spacetime.\n", "\n", "Click [here](https://raw.githubusercontent.com/sagemanifolds/SageManifolds/master/Worksheets/v1.0/SM_Kerr_3p1.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": [ "*NB:* a version of SageMath at least equal to 7.5 is required to run this worksheet:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'SageMath version 7.5.1, Release Date: 2017-01-15'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we set up the notebook to display mathematical objects using LaTeX rendering:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%display latex" ] }, { "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": [ "## Spacelike hypersurface\n", "\n", "We consider some hypersurface $\\Sigma$ of a spacelike foliation $(\\Sigma_t)_{t\\in\\mathbb{R}}$ of Kerr spacetime; we declare $\\Sigma_t$ as a 3-dimensional manifold:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "Sig = Manifold(3, 'Sigma', r'\\Sigma', start_index=1)\n", "print(Sig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

On $\\Sigma$, we consider the \"rational-polynomial\" coordinates $(r,y,\\phi)$ inheritated from the standard Boyer-Lindquist coordinates $(t,r,\\theta,\\phi)$ of Kerr spacetime, via $y=\\cos\\theta$:

" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Chart (Sigma, (r, y, ph))\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Chart (Sigma, (r, y, ph))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X. = Sig.chart(r'r:(1,+oo) y:(-1,1) ph:(0,2*pi):\\phi')\n", "print(X) ; X" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Riemannian metric on $\\Sigma$

\n", "\n", "

First the two Kerr parameters:

" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[r is real,\n", " r > 1,\n", " y is real,\n", " y > -1,\n", " y < 1,\n", " ph is real,\n", " ph > 0,\n", " ph < 2*pi,\n", " m is real,\n", " a is real,\n", " m > 0,\n", " a > 0]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('m, a', domain='real')\n", "assume(m>0)\n", "assume(a>0)\n", "assumptions()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

For dealing with extreme Kerr, the following must be uncommented:

" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# m = 1 ; a = 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Some shortcut notations:

" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rho2 = r^2 + a^2*y^2 \n", "Del = r^2 -2*m*r + a^2\n", "AA2 = rho2*(r^2 + a^2) + 2*a^2*m*r*(1-y^2)\n", "BB2 = r^2 + a^2 + 2*a^2*m*r*(1-y^2)/rho2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The metric $\\gamma$ induced by the spacetime metric $g$ on $\\Sigma$:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "gam = (a^2*y^2 + r^2)/(a^2 - 2*m*r + r^2) dr*dr - (a^2*y^2 + r^2)/(y^2 - 1) dy*dy + (2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(y^2 - 1) dph*dph" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gam = Sig.riemannian_metric('gam', latex_name=r'\\gamma') \n", "gam[1,1] = rho2/Del\n", "gam[2,2] = rho2/(1-y^2)\n", "gam[3,3] = BB2*(1-y^2)\n", "gam.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

A matrix view of the components w.r.t. coordinates $(r,y,\\phi)$:

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

Lapse function and shift vector

" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field N on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "N: Sigma --> R\n", " (r, y, ph) |--> sqrt(-(a^2 - 2*m*r + r^2)/(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = Sig.scalar_field(sqrt(Del / BB2), name='N')\n", "print(N)\n", "N.display()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "beta = 2*a*m*r/(2*(y^2 - 1)*a^2*m*r - (a^2*y^2 + r^2)*(a^2 + r^2)) d/dph" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b = Sig.vector_field('beta', latex_name=r'\\beta') \n", "b[3] = -2*m*r*a/AA2 \n", "# unset components are zero \n", "b.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extrinsic curvature of $\\Sigma$\n", "\n", "We use the formula\n", "$$ K_{ij} = \\frac{1}{2N} \\mathcal{L}_{\\beta} \\gamma_{ij} $$\n", "which is valid for any stationary spacetime:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms K on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "K = (a^3*m*r^2 + 3*a*m*r^4 + (a^5*m - a^3*m*r^2)*y^4 - (a^5*m + 3*a*m*r^4)*y^2)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) dr*dph - 2*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*((a^5*m*r - 2*a^3*m^2*r^2 + a^3*m*r^3)*y^3 - (a^5*m*r - 2*a^3*m^2*r^2 + a^3*m*r^3)*y)/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) dy*dph + (a^3*m*r^2 + 3*a*m*r^4 + (a^5*m - a^3*m*r^2)*y^4 - (a^5*m + 3*a*m*r^4)*y^2)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) dph*dr - 2*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*((a^5*m*r - 2*a^3*m^2*r^2 + a^3*m*r^3)*y^3 - (a^5*m*r - 2*a^3*m^2*r^2 + a^3*m*r^3)*y)/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) dph*dy" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K = gam.lie_der(b) / (2*N)\n", "K.set_name('K')\n", "print(K) ; K.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Check (comparison with known formulas):

" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "((a^2 - r^2)*a^2*y^2 - a^2*r^2 - 3*r^4)*(y^2 - 1)*a*m/((a^2*y^2 + r^2)^2*sqrt(-(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(a^2 - 2*m*r + r^2)))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Krp = a*m*(1-y^2)*(3*r^4+a^2*r^2+a^2*(r^2-a^2)*y^2) / rho2^2/sqrt(Del*BB2)\n", "Krp" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K[1,3] - Krp" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-2*sqrt(a^2 - 2*m*r + r^2)*(y^2 - 1)*a^3*m*r*y/(sqrt(-2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) + a^2 + r^2)*(a^2*y^2 + r^2)^2)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kyp = 2*m*r*a^3*(1-y^2)*y*sqrt(Del)/rho2^2/sqrt(BB2)\n", "Kyp" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K[2,3] - Kyp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

For now on, we use the expressions Krp and Kyp above for $K_{r\\phi}$ and $K_{ry}$, respectively:

" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "K = ((a^2 - r^2)*a^2*y^2 - a^2*r^2 - 3*r^4)*(y^2 - 1)*a*m/((a^2*y^2 + r^2)^2*sqrt(-(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(a^2 - 2*m*r + r^2))) dr*dph - 2*sqrt(a^2 - 2*m*r + r^2)*(y^2 - 1)*a^3*m*r*y/(sqrt(-2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) + a^2 + r^2)*(a^2*y^2 + r^2)^2) dy*dph + ((a^2 - r^2)*a^2*y^2 - a^2*r^2 - 3*r^4)*(y^2 - 1)*a*m/((a^2*y^2 + r^2)^2*sqrt(-(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(a^2 - 2*m*r + r^2))) dph*dr - 2*sqrt(a^2 - 2*m*r + r^2)*(y^2 - 1)*a^3*m*r*y/(sqrt(-2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) + a^2 + r^2)*(a^2*y^2 + r^2)^2) dph*dy" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K1 = Sig.sym_bilin_form_field('K')\n", "K1[1,3] = Krp\n", "K1[2,3] = Kyp\n", "K = K1\n", "K.display()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "K_r,ph = ((a^2 - r^2)*a^2*y^2 - a^2*r^2 - 3*r^4)*(y^2 - 1)*a*m/((a^2*y^2 + r^2)^2*sqrt(-(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(a^2 - 2*m*r + r^2))) \n", "K_y,ph = -2*sqrt(a^2 - 2*m*r + r^2)*(y^2 - 1)*a^3*m*r*y/(sqrt(-2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) + a^2 + r^2)*(a^2*y^2 + r^2)^2) \n", "K_ph,r = ((a^2 - r^2)*a^2*y^2 - a^2*r^2 - 3*r^4)*(y^2 - 1)*a*m/((a^2*y^2 + r^2)^2*sqrt(-(2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) - a^2 - r^2)*(a^2 - 2*m*r + r^2))) \n", "K_ph,y = -2*sqrt(a^2 - 2*m*r + r^2)*(y^2 - 1)*a^3*m*r*y/(sqrt(-2*(y^2 - 1)*a^2*m*r/(a^2*y^2 + r^2) + a^2 + r^2)*(a^2*y^2 + r^2)^2) " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "K.display_comp()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The type-(1,1) tensor $K^\\sharp$ of components $K^i_{\\ \\, j} = \\gamma^{ik} K_{kj}$:

" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (1,1) on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "(a^5*m*r^2 - 2*a^3*m^2*r^3 + 4*a^3*m*r^4 - 6*a*m^2*r^5 + 3*a*m*r^6 + (a^7*m - 2*a^5*m^2*r + 2*a^3*m^2*r^3 - a^3*m*r^4)*y^4 - (a^7*m - 2*a^5*m^2*r + a^5*m*r^2 + 3*a^3*m*r^4 - 6*a*m^2*r^5 + 3*a*m*r^6)*y^2)*sqrt(a^2*y^2 + r^2)/((a^6*y^6 + 3*a^4*r^2*y^4 + 3*a^2*r^4*y^2 + r^6)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*sqrt(a^2 - 2*m*r + r^2)) d/dr*dph + 2*(a^3*m*r*y^5 - 2*a^3*m*r*y^3 + a^3*m*r*y)*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)/((a^6*y^6 + 3*a^4*r^2*y^4 + 3*a^2*r^4*y^2 + r^6)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)) d/dy*dph + (a^3*m*r^2 + 3*a*m*r^4 - (a^5*m - a^3*m*r^2)*y^2)*sqrt(a^2*y^2 + r^2)/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*sqrt(a^2 - 2*m*r + r^2)) d/dph*dr + 2*sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)*a^3*m*r*y/((2*a^2*m*r^3 + a^2*r^4 + r^6 + (a^6 - 2*a^4*m*r + a^4*r^2)*y^4 + 2*(a^4*m*r + a^4*r^2 - a^2*m*r^3 + a^2*r^4)*y^2)*sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)) d/dph*dy" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ku = K.up(gam, 0)\n", "print(Ku) ; Ku.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

We may check that the hypersurface $\\Sigma$ is maximal, i.e. that $K^k_{\\ \\, k} = 0$:

" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field zero on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "zero: Sigma --> R\n", " (r, y, ph) |--> 0" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trK = Ku.trace()\n", "print(trK)\n", "trK.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Connection and curvature

\n", "

Let us call $D$ the Levi-Civita connection associated with $\\gamma$:

" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Levi-Civita connection D associated with the Riemannian metric gam on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Levi-Civita connection D associated with the Riemannian metric gam on the 3-dimensional differentiable manifold Sigma" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D = gam.connection(name='D')\n", "print(D) ; D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The Ricci tensor associated with $\\gamma$:

" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms Ric(gam) on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Field of symmetric bilinear forms Ric(gam) on the 3-dimensional differentiable manifold Sigma" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric = gam.ricci()\n", "print(Ric) ; Ric" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Ric(gam)_r,r = -(5*a^6*m^2*r^4 + 2*a^4*m^2*r^6 + 8*a^4*m*r^7 - 7*a^2*m^2*r^8 + 7*a^2*m*r^9 + 2*m*r^11 + (a^10*m^2 + 3*a^10*m*r - 14*a^8*m^2*r^2 - 11*a^6*m^2*r^4 + 3*a^6*m*r^5 + 6*(a^8*m + 2*a^6*m^3)*r^3)*y^6 + (3*a^6*m - 4*a^4*m^3)*r^5 - (a^10*m^2 + 9*a^10*m*r - 30*a^8*m^2*r^2 - 35*a^6*m^2*r^4 - 16*a^4*m^2*r^6 + 4*a^4*m*r^7 + (17*a^6*m + 4*a^4*m^3)*r^5 + 2*(11*a^8*m + 12*a^6*m^3)*r^3)*y^4 - (16*a^8*m^2*r^2 + 29*a^6*m^2*r^4 + 18*a^4*m^2*r^6 + 16*a^4*m*r^7 - 7*a^2*m^2*r^8 + 5*a^2*m*r^9 + (17*a^6*m - 8*a^4*m^3)*r^5 + 6*(a^8*m - 2*a^6*m^3)*r^3)*y^2)/(4*a^6*m^2*r^6 + 6*a^4*m*r^9 + 3*a^2*r^12 - 2*m*r^13 + r^14 + (3*a^4 - 8*a^2*m^2)*r^10 + (a^6 - 4*a^4*m^2)*r^8 + (a^14 - 6*a^12*m*r - 6*a^8*m*r^5 + a^8*r^6 + 3*(a^10 + 4*a^8*m^2)*r^4 - 4*(3*a^10*m + 2*a^8*m^3)*r^3 + 3*(a^12 + 4*a^10*m^2)*r^2)*y^8 + 4*(a^6*m - 2*a^4*m^3)*r^7 + 4*(a^12*m*r - 5*a^6*m*r^7 + a^6*r^8 + (3*a^8 + 8*a^6*m^2)*r^6 - (9*a^8*m + 4*a^6*m^3)*r^5 + (3*a^10 + 4*a^8*m^2)*r^4 - (3*a^10*m - 4*a^8*m^3)*r^3 + (a^12 - 4*a^10*m^2)*r^2)*y^6 + 2*(2*a^10*m^2*r^2 + 16*a^6*m^3*r^5 - 12*a^4*m*r^9 + 3*a^4*r^10 + (9*a^6 + 14*a^4*m^2)*r^8 - 2*(9*a^6*m + 2*a^4*m^3)*r^7 + 3*(3*a^8 - 2*a^6*m^2)*r^6 + 3*(a^10 - 6*a^8*m^2)*r^4 + 2*(3*a^10*m - 2*a^8*m^3)*r^3)*y^4 + 4*(2*a^8*m^2*r^4 - 3*a^4*m*r^9 - 3*a^2*m*r^11 + a^2*r^12 + (3*a^4 + 2*a^2*m^2)*r^10 + 3*(a^6 - 2*a^4*m^2)*r^8 + (3*a^6*m + 4*a^4*m^3)*r^7 + (a^8 - 6*a^6*m^2)*r^6 + (3*a^8*m - 4*a^6*m^3)*r^5)*y^2) \n", "Ric(gam)_r,y = ((3*a^10*m - 4*a^8*m^2*r + 6*a^8*m*r^2 - 8*a^6*m^2*r^3 + 3*a^6*m*r^4)*y^5 + 2*(2*a^8*m^2*r - 3*a^8*m*r^2 + 12*a^6*m^2*r^3 - 6*a^6*m*r^4 + 6*a^4*m^2*r^5 - 3*a^4*m*r^6)*y^3 - (16*a^6*m^2*r^3 + 9*a^6*m*r^4 + 12*a^4*m^2*r^5 + 18*a^4*m*r^6 + 9*a^2*m*r^8)*y)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 + (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^8 + 4*(a^10*m*r - 2*a^8*m*r^3 - 3*a^6*m*r^5 + a^6*r^6 + 2*(a^8 + a^6*m^2)*r^4 + (a^10 - 2*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^4*m*r^7 + 3*a^4*r^8 + 2*(3*a^6 + a^4*m^2)*r^6 + (3*a^8 - 8*a^6*m^2)*r^4)*y^4 + 4*(2*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*a^4*m*r^7 + 2*a^4*r^8 - a^2*m*r^9 + a^2*r^10 + (a^6 - 2*a^4*m^2)*r^6)*y^2) \n", "Ric(gam)_y,y = (6*a^6*m^2*r^4 + 4*a^4*m^2*r^6 + 7*a^4*m*r^7 - 2*a^2*m^2*r^8 + 5*a^2*m*r^9 + m*r^11 + 2*(3*a^10*m*r - 10*a^8*m^2*r^2 - 10*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*(3*a^8*m + 4*a^6*m^3)*r^3)*y^6 + (3*a^6*m - 8*a^4*m^3)*r^5 - (9*a^10*m*r - 34*a^8*m^2*r^2 - 36*a^6*m^2*r^4 - 2*a^4*m^2*r^6 - a^4*m*r^7 + (7*a^6*m + 8*a^4*m^3)*r^5 + (17*a^8*m + 32*a^6*m^3)*r^3)*y^4 - 2*(7*a^8*m^2*r^2 + 11*a^6*m^2*r^4 + 3*a^4*m^2*r^6 + 7*a^4*m*r^7 - a^2*m^2*r^8 + 2*a^2*m*r^9 + 8*(a^6*m - a^4*m^3)*r^5 + (3*a^8*m - 8*a^6*m^3)*r^3)*y^2)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 - (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^10 + (a^12 - 8*a^10*m*r + 4*a^8*m*r^3 + 12*a^6*m*r^5 - 4*a^6*r^6 - (7*a^8 + 8*a^6*m^2)*r^4 - 2*(a^10 - 6*a^8*m^2)*r^2)*y^8 + 2*(2*a^10*m*r - 10*a^8*m*r^3 - 6*a^6*m*r^5 + 6*a^4*m*r^7 - 3*a^4*r^8 - 2*(2*a^6 + a^4*m^2)*r^6 + (a^8 + 12*a^6*m^2)*r^4 + 2*(a^10 - 3*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^6*m*r^5 - 10*a^4*m*r^7 - a^4*r^8 + 2*a^2*m*r^9 - 2*a^2*r^10 + 2*(2*a^6 + 3*a^4*m^2)*r^6 + 3*(a^8 - 4*a^6*m^2)*r^4)*y^4 + (8*a^6*m^2*r^4 + 12*a^6*m*r^5 + 4*a^4*m*r^7 + 7*a^4*r^8 - 8*a^2*m*r^9 + 2*a^2*r^10 - r^12 + 4*(a^6 - 3*a^4*m^2)*r^6)*y^2) \n", "Ric(gam)_ph,ph = (a^6*m^2*r^4 + 4*a^4*m^3*r^5 + 10*a^4*m^2*r^6 + a^4*m*r^7 + 13*a^2*m^2*r^8 + 2*a^2*m*r^9 + m*r^11 + (a^10*m^2 + 3*a^10*m*r - 18*a^8*m^2*r^2 - 15*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*(3*a^8*m + 10*a^6*m^3)*r^3)*y^8 - (2*a^10*m^2 + 3*a^10*m*r - 38*a^8*m^2*r^2 - 22*a^6*m^2*r^4 + 2*a^4*m^2*r^6 - 5*a^4*m*r^7 - (7*a^6*m - 4*a^4*m^3)*r^5 + (a^8*m + 60*a^6*m^3)*r^3)*y^6 + (a^10*m^2 - 22*a^8*m^2*r^2 + 2*a^6*m^2*r^4 + 14*a^4*m^2*r^6 - 3*a^4*m*r^7 + 13*a^2*m^2*r^8 + a^2*m*r^9 - 3*(3*a^6*m - 4*a^4*m^3)*r^5 - 5*(a^8*m - 12*a^6*m^3)*r^3)*y^4 + (2*a^8*m^2*r^2 - 20*a^6*m^3*r^3 - 10*a^6*m^2*r^4 - 22*a^4*m^2*r^6 - 3*a^4*m*r^7 - 26*a^2*m^2*r^8 - 3*a^2*m*r^9 - m*r^11 - (a^6*m + 12*a^4*m^3)*r^5)*y^2)/(2*a^2*m*r^9 + a^2*r^10 + r^12 + (a^12 - 2*a^10*m*r + a^10*r^2)*y^10 + (2*a^10*m*r + 5*a^10*r^2 - 8*a^8*m*r^3 + 5*a^8*r^4)*y^8 + 2*(4*a^8*m*r^3 + 5*a^8*r^4 - 6*a^6*m*r^5 + 5*a^6*r^6)*y^6 + 2*(6*a^6*m*r^5 + 5*a^6*r^6 - 4*a^4*m*r^7 + 5*a^4*r^8)*y^4 + (8*a^4*m*r^7 + 5*a^4*r^8 - 2*a^2*m*r^9 + 5*a^2*r^10)*y^2) " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric.display_comp(only_nonredundant=True)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-(5*a^6*m^2*r^4 + 2*a^4*m^2*r^6 + 8*a^4*m*r^7 - 7*a^2*m^2*r^8 + 7*a^2*m*r^9 + 2*m*r^11 + (a^10*m^2 + 3*a^10*m*r - 14*a^8*m^2*r^2 - 11*a^6*m^2*r^4 + 3*a^6*m*r^5 + 6*(a^8*m + 2*a^6*m^3)*r^3)*y^6 + (3*a^6*m - 4*a^4*m^3)*r^5 - (a^10*m^2 + 9*a^10*m*r - 30*a^8*m^2*r^2 - 35*a^6*m^2*r^4 - 16*a^4*m^2*r^6 + 4*a^4*m*r^7 + (17*a^6*m + 4*a^4*m^3)*r^5 + 2*(11*a^8*m + 12*a^6*m^3)*r^3)*y^4 - (16*a^8*m^2*r^2 + 29*a^6*m^2*r^4 + 18*a^4*m^2*r^6 + 16*a^4*m*r^7 - 7*a^2*m^2*r^8 + 5*a^2*m*r^9 + (17*a^6*m - 8*a^4*m^3)*r^5 + 6*(a^8*m - 2*a^6*m^3)*r^3)*y^2)/(4*a^6*m^2*r^6 + 6*a^4*m*r^9 + 3*a^2*r^12 - 2*m*r^13 + r^14 + (3*a^4 - 8*a^2*m^2)*r^10 + (a^6 - 4*a^4*m^2)*r^8 + (a^14 - 6*a^12*m*r - 6*a^8*m*r^5 + a^8*r^6 + 3*(a^10 + 4*a^8*m^2)*r^4 - 4*(3*a^10*m + 2*a^8*m^3)*r^3 + 3*(a^12 + 4*a^10*m^2)*r^2)*y^8 + 4*(a^6*m - 2*a^4*m^3)*r^7 + 4*(a^12*m*r - 5*a^6*m*r^7 + a^6*r^8 + (3*a^8 + 8*a^6*m^2)*r^6 - (9*a^8*m + 4*a^6*m^3)*r^5 + (3*a^10 + 4*a^8*m^2)*r^4 - (3*a^10*m - 4*a^8*m^3)*r^3 + (a^12 - 4*a^10*m^2)*r^2)*y^6 + 2*(2*a^10*m^2*r^2 + 16*a^6*m^3*r^5 - 12*a^4*m*r^9 + 3*a^4*r^10 + (9*a^6 + 14*a^4*m^2)*r^8 - 2*(9*a^6*m + 2*a^4*m^3)*r^7 + 3*(3*a^8 - 2*a^6*m^2)*r^6 + 3*(a^10 - 6*a^8*m^2)*r^4 + 2*(3*a^10*m - 2*a^8*m^3)*r^3)*y^4 + 4*(2*a^8*m^2*r^4 - 3*a^4*m*r^9 - 3*a^2*m*r^11 + a^2*r^12 + (3*a^4 + 2*a^2*m^2)*r^10 + 3*(a^6 - 2*a^4*m^2)*r^8 + (3*a^6*m + 4*a^4*m^3)*r^7 + (a^8 - 6*a^6*m^2)*r^6 + (3*a^8*m - 4*a^6*m^3)*r^5)*y^2)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[1,1]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "((3*a^10*m - 4*a^8*m^2*r + 6*a^8*m*r^2 - 8*a^6*m^2*r^3 + 3*a^6*m*r^4)*y^5 + 2*(2*a^8*m^2*r - 3*a^8*m*r^2 + 12*a^6*m^2*r^3 - 6*a^6*m*r^4 + 6*a^4*m^2*r^5 - 3*a^4*m*r^6)*y^3 - (16*a^6*m^2*r^3 + 9*a^6*m*r^4 + 12*a^4*m^2*r^5 + 18*a^4*m*r^6 + 9*a^2*m*r^8)*y)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 + (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^8 + 4*(a^10*m*r - 2*a^8*m*r^3 - 3*a^6*m*r^5 + a^6*r^6 + 2*(a^8 + a^6*m^2)*r^4 + (a^10 - 2*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^4*m*r^7 + 3*a^4*r^8 + 2*(3*a^6 + a^4*m^2)*r^6 + (3*a^8 - 8*a^6*m^2)*r^4)*y^4 + 4*(2*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*a^4*m*r^7 + 2*a^4*r^8 - a^2*m*r^9 + a^2*r^10 + (a^6 - 2*a^4*m^2)*r^6)*y^2)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[1,2]" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[1,3]" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(6*a^6*m^2*r^4 + 4*a^4*m^2*r^6 + 7*a^4*m*r^7 - 2*a^2*m^2*r^8 + 5*a^2*m*r^9 + m*r^11 + 2*(3*a^10*m*r - 10*a^8*m^2*r^2 - 10*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*(3*a^8*m + 4*a^6*m^3)*r^3)*y^6 + (3*a^6*m - 8*a^4*m^3)*r^5 - (9*a^10*m*r - 34*a^8*m^2*r^2 - 36*a^6*m^2*r^4 - 2*a^4*m^2*r^6 - a^4*m*r^7 + (7*a^6*m + 8*a^4*m^3)*r^5 + (17*a^8*m + 32*a^6*m^3)*r^3)*y^4 - 2*(7*a^8*m^2*r^2 + 11*a^6*m^2*r^4 + 3*a^4*m^2*r^6 + 7*a^4*m*r^7 - a^2*m^2*r^8 + 2*a^2*m*r^9 + 8*(a^6*m - a^4*m^3)*r^5 + (3*a^8*m - 8*a^6*m^3)*r^3)*y^2)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 - (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^10 + (a^12 - 8*a^10*m*r + 4*a^8*m*r^3 + 12*a^6*m*r^5 - 4*a^6*r^6 - (7*a^8 + 8*a^6*m^2)*r^4 - 2*(a^10 - 6*a^8*m^2)*r^2)*y^8 + 2*(2*a^10*m*r - 10*a^8*m*r^3 - 6*a^6*m*r^5 + 6*a^4*m*r^7 - 3*a^4*r^8 - 2*(2*a^6 + a^4*m^2)*r^6 + (a^8 + 12*a^6*m^2)*r^4 + 2*(a^10 - 3*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^6*m*r^5 - 10*a^4*m*r^7 - a^4*r^8 + 2*a^2*m*r^9 - 2*a^2*r^10 + 2*(2*a^6 + 3*a^4*m^2)*r^6 + 3*(a^8 - 4*a^6*m^2)*r^4)*y^4 + (8*a^6*m^2*r^4 + 12*a^6*m*r^5 + 4*a^4*m*r^7 + 7*a^4*r^8 - 8*a^2*m*r^9 + 2*a^2*r^10 - r^12 + 4*(a^6 - 3*a^4*m^2)*r^6)*y^2)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[2,2]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[2,3]" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(a^6*m^2*r^4 + 4*a^4*m^3*r^5 + 10*a^4*m^2*r^6 + a^4*m*r^7 + 13*a^2*m^2*r^8 + 2*a^2*m*r^9 + m*r^11 + (a^10*m^2 + 3*a^10*m*r - 18*a^8*m^2*r^2 - 15*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*(3*a^8*m + 10*a^6*m^3)*r^3)*y^8 - (2*a^10*m^2 + 3*a^10*m*r - 38*a^8*m^2*r^2 - 22*a^6*m^2*r^4 + 2*a^4*m^2*r^6 - 5*a^4*m*r^7 - (7*a^6*m - 4*a^4*m^3)*r^5 + (a^8*m + 60*a^6*m^3)*r^3)*y^6 + (a^10*m^2 - 22*a^8*m^2*r^2 + 2*a^6*m^2*r^4 + 14*a^4*m^2*r^6 - 3*a^4*m*r^7 + 13*a^2*m^2*r^8 + a^2*m*r^9 - 3*(3*a^6*m - 4*a^4*m^3)*r^5 - 5*(a^8*m - 12*a^6*m^3)*r^3)*y^4 + (2*a^8*m^2*r^2 - 20*a^6*m^3*r^3 - 10*a^6*m^2*r^4 - 22*a^4*m^2*r^6 - 3*a^4*m*r^7 - 26*a^2*m^2*r^8 - 3*a^2*m*r^9 - m*r^11 - (a^6*m + 12*a^4*m^3)*r^5)*y^2)/(2*a^2*m*r^9 + a^2*r^10 + r^12 + (a^12 - 2*a^10*m*r + a^10*r^2)*y^10 + (2*a^10*m*r + 5*a^10*r^2 - 8*a^8*m*r^3 + 5*a^8*r^4)*y^8 + 2*(4*a^8*m*r^3 + 5*a^8*r^4 - 6*a^6*m*r^5 + 5*a^6*r^6)*y^6 + 2*(6*a^6*m*r^5 + 5*a^6*r^6 - 4*a^4*m*r^7 + 5*a^4*r^8)*y^4 + (8*a^4*m*r^7 + 5*a^4*r^8 - 2*a^2*m*r^9 + 5*a^2*r^10)*y^2)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric[3,3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The scalar curvature $R = \\gamma^{ij} R_{ij}$:

" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field R on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "R: Sigma --> R\n", " (r, y, ph) |--> 2*(a^6*m^2*r^4 + 6*a^4*m^2*r^6 + 9*a^2*m^2*r^8 - (a^10*m^2 - 6*a^8*m^2*r^2 + 8*a^6*m^3*r^3 - 3*a^6*m^2*r^4)*y^6 + (a^10*m^2 - 8*a^8*m^2*r^2 + 16*a^6*m^3*r^3 - 3*a^6*m^2*r^4 - 6*a^4*m^2*r^6)*y^4 + (2*a^8*m^2*r^2 - 8*a^6*m^3*r^3 - a^6*m^2*r^4 - 9*a^2*m^2*r^8)*y^2)/(4*a^4*m^2*r^8 + 4*a^4*m*r^9 + a^4*r^10 + 4*a^2*m*r^11 + 2*a^2*r^12 + r^14 + (a^14 - 4*a^12*m*r - 4*a^10*m*r^3 + a^10*r^4 + 2*(a^12 + 2*a^10*m^2)*r^2)*y^10 + (4*a^12*m*r - 12*a^10*m*r^3 - 16*a^8*m*r^5 + 5*a^8*r^6 + 2*(5*a^10 + 6*a^8*m^2)*r^4 + (5*a^12 - 8*a^10*m^2)*r^2)*y^8 + 2*(2*a^10*m^2*r^2 + 8*a^10*m*r^3 - 4*a^8*m*r^5 - 12*a^6*m*r^7 + 5*a^6*r^8 + 2*(5*a^8 + 3*a^6*m^2)*r^6 + (5*a^10 - 12*a^8*m^2)*r^4)*y^6 + 2*(6*a^8*m^2*r^4 + 12*a^8*m*r^5 + 4*a^6*m*r^7 - 8*a^4*m*r^9 + 5*a^4*r^10 + 2*(5*a^6 + a^4*m^2)*r^8 + (5*a^8 - 12*a^6*m^2)*r^6)*y^4 + (12*a^6*m^2*r^6 + 16*a^6*m*r^7 + 12*a^4*m*r^9 + 10*a^4*r^10 - 4*a^2*m*r^11 + 5*a^2*r^12 + (5*a^6 - 8*a^4*m^2)*r^8)*y^2)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = gam.ricci_scalar(name='R')\n", "print(R)\n", "R.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

3+1 Einstein equations

\n", "

Let us check that the vacuum 3+1 Einstein equations are satisfied.

\n", "

We start by the contraint equations:

\n", "

Hamiltonian constraint

\n", "\n", "

Let us first evaluate the term $K_{ij} K^{ij}$:

" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Sigma --> R\n", "(r, y, ph) |--> 2*(a^6*m^2*r^4 + 6*a^4*m^2*r^6 + 9*a^2*m^2*r^8 - (a^10*m^2 - 6*a^8*m^2*r^2 + 8*a^6*m^3*r^3 - 3*a^6*m^2*r^4)*y^6 + (a^10*m^2 - 8*a^8*m^2*r^2 + 16*a^6*m^3*r^3 - 3*a^6*m^2*r^4 - 6*a^4*m^2*r^6)*y^4 + (2*a^8*m^2*r^2 - 8*a^6*m^3*r^3 - a^6*m^2*r^4 - 9*a^2*m^2*r^8)*y^2)/(4*a^4*m^2*r^8 + 4*a^4*m*r^9 + a^4*r^10 + 4*a^2*m*r^11 + 2*a^2*r^12 + r^14 + (a^14 - 4*a^12*m*r - 4*a^10*m*r^3 + a^10*r^4 + 2*(a^12 + 2*a^10*m^2)*r^2)*y^10 + (4*a^12*m*r - 12*a^10*m*r^3 - 16*a^8*m*r^5 + 5*a^8*r^6 + 2*(5*a^10 + 6*a^8*m^2)*r^4 + (5*a^12 - 8*a^10*m^2)*r^2)*y^8 + 2*(2*a^10*m^2*r^2 + 8*a^10*m*r^3 - 4*a^8*m*r^5 - 12*a^6*m*r^7 + 5*a^6*r^8 + 2*(5*a^8 + 3*a^6*m^2)*r^6 + (5*a^10 - 12*a^8*m^2)*r^4)*y^6 + 2*(6*a^8*m^2*r^4 + 12*a^8*m*r^5 + 4*a^6*m*r^7 - 8*a^4*m*r^9 + 5*a^4*r^10 + 2*(5*a^6 + a^4*m^2)*r^8 + (5*a^8 - 12*a^6*m^2)*r^6)*y^4 + (12*a^6*m^2*r^6 + 16*a^6*m*r^7 + 12*a^4*m*r^9 + 10*a^4*r^10 - 4*a^2*m*r^11 + 5*a^2*r^12 + (5*a^6 - 8*a^4*m^2)*r^8)*y^2)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Kuu = Ku.up(gam, 1)\n", "trKK = K['_ij']*Kuu['^ij']\n", "print(trKK) ; trKK.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The vacuum Hamiltonian constraint equation is \n", "$$ R + K^2 -K_{ij} K^{ij} = 0 $$" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field zero on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "zero: Sigma --> R\n", " (r, y, ph) |--> 0" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ham = R + trK^2 - trKK\n", "print(Ham) ; Ham.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Momentum constraint\n", "\n", "In vaccum, the momentum constraint is\n", "$$ D_j K^j_{\\ \\, i} - D_i K = 0 $$" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-form on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mom = D(Ku).trace(0,2) - D(trK)\n", "print(mom)\n", "mom.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Dynamical Einstein equations

\n", "

Let us first evaluate the symmetric bilinear form $k_{ij} := K_{ik} K^k_{\\ \\, j}$:

" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (0,2) on the 3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "KK = K['_ik']*Ku['^k_j']\n", "print(KK)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "KK1 = KK.symmetrize()\n", "KK == KK1" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms on the 3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "KK = KK1\n", "print(KK)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(KK)_r,r = (a^6*m^2*r^4 + 6*a^4*m^2*r^6 + 9*a^2*m^2*r^8 - (a^10*m^2 - 2*a^8*m^2*r^2 + a^6*m^2*r^4)*y^6 + (a^10*m^2 + 5*a^6*m^2*r^4 - 6*a^4*m^2*r^6)*y^4 - (2*a^8*m^2*r^2 + 5*a^6*m^2*r^4 + 9*a^2*m^2*r^8)*y^2)/(4*a^6*m^2*r^6 + 6*a^4*m*r^9 + 3*a^2*r^12 - 2*m*r^13 + r^14 + (3*a^4 - 8*a^2*m^2)*r^10 + (a^6 - 4*a^4*m^2)*r^8 + (a^14 - 6*a^12*m*r - 6*a^8*m*r^5 + a^8*r^6 + 3*(a^10 + 4*a^8*m^2)*r^4 - 4*(3*a^10*m + 2*a^8*m^3)*r^3 + 3*(a^12 + 4*a^10*m^2)*r^2)*y^8 + 4*(a^6*m - 2*a^4*m^3)*r^7 + 4*(a^12*m*r - 5*a^6*m*r^7 + a^6*r^8 + (3*a^8 + 8*a^6*m^2)*r^6 - (9*a^8*m + 4*a^6*m^3)*r^5 + (3*a^10 + 4*a^8*m^2)*r^4 - (3*a^10*m - 4*a^8*m^3)*r^3 + (a^12 - 4*a^10*m^2)*r^2)*y^6 + 2*(2*a^10*m^2*r^2 + 16*a^6*m^3*r^5 - 12*a^4*m*r^9 + 3*a^4*r^10 + (9*a^6 + 14*a^4*m^2)*r^8 - 2*(9*a^6*m + 2*a^4*m^3)*r^7 + 3*(3*a^8 - 2*a^6*m^2)*r^6 + 3*(a^10 - 6*a^8*m^2)*r^4 + 2*(3*a^10*m - 2*a^8*m^3)*r^3)*y^4 + 4*(2*a^8*m^2*r^4 - 3*a^4*m*r^9 - 3*a^2*m*r^11 + a^2*r^12 + (3*a^4 + 2*a^2*m^2)*r^10 + 3*(a^6 - 2*a^4*m^2)*r^8 + (3*a^6*m + 4*a^4*m^3)*r^7 + (a^8 - 6*a^6*m^2)*r^6 + (3*a^8*m - 4*a^6*m^3)*r^5)*y^2) \n", "(KK)_r,y = 2*((a^8*m^2*r - a^6*m^2*r^3)*y^5 - (a^8*m^2*r + 3*a^4*m^2*r^5)*y^3 + (a^6*m^2*r^3 + 3*a^4*m^2*r^5)*y)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 + (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^8 + 4*(a^10*m*r - 2*a^8*m*r^3 - 3*a^6*m*r^5 + a^6*r^6 + 2*(a^8 + a^6*m^2)*r^4 + (a^10 - 2*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^4*m*r^7 + 3*a^4*r^8 + 2*(3*a^6 + a^4*m^2)*r^6 + (3*a^8 - 8*a^6*m^2)*r^4)*y^4 + 4*(2*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*a^4*m*r^7 + 2*a^4*r^8 - a^2*m*r^9 + a^2*r^10 + (a^6 - 2*a^4*m^2)*r^6)*y^2) \n", "(KK)_y,r = 2*((a^8*m^2*r - a^6*m^2*r^3)*y^5 - (a^8*m^2*r + 3*a^4*m^2*r^5)*y^3 + (a^6*m^2*r^3 + 3*a^4*m^2*r^5)*y)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 + (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^8 + 4*(a^10*m*r - 2*a^8*m*r^3 - 3*a^6*m*r^5 + a^6*r^6 + 2*(a^8 + a^6*m^2)*r^4 + (a^10 - 2*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^4*m*r^7 + 3*a^4*r^8 + 2*(3*a^6 + a^4*m^2)*r^6 + (3*a^8 - 8*a^6*m^2)*r^4)*y^4 + 4*(2*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*a^4*m*r^7 + 2*a^4*r^8 - a^2*m*r^9 + a^2*r^10 + (a^6 - 2*a^4*m^2)*r^6)*y^2) \n", "(KK)_y,y = -4*((a^8*m^2*r^2 - 2*a^6*m^3*r^3 + a^6*m^2*r^4)*y^4 - (a^8*m^2*r^2 - 2*a^6*m^3*r^3 + a^6*m^2*r^4)*y^2)/(4*a^4*m^2*r^6 + 4*a^4*m*r^7 + a^4*r^8 + 4*a^2*m*r^9 + 2*a^2*r^10 + r^12 + (a^12 - 4*a^10*m*r - 4*a^8*m*r^3 + a^8*r^4 + 2*(a^10 + 2*a^8*m^2)*r^2)*y^8 + 4*(a^10*m*r - 2*a^8*m*r^3 - 3*a^6*m*r^5 + a^6*r^6 + 2*(a^8 + a^6*m^2)*r^4 + (a^10 - 2*a^8*m^2)*r^2)*y^6 + 2*(2*a^8*m^2*r^2 + 6*a^8*m*r^3 - 6*a^4*m*r^7 + 3*a^4*r^8 + 2*(3*a^6 + a^4*m^2)*r^6 + (3*a^8 - 8*a^6*m^2)*r^4)*y^4 + 4*(2*a^6*m^2*r^4 + 3*a^6*m*r^5 + 2*a^4*m*r^7 + 2*a^4*r^8 - a^2*m*r^9 + a^2*r^10 + (a^6 - 2*a^4*m^2)*r^6)*y^2) \n", "(KK)_ph,ph = (a^6*m^2*r^4 + 6*a^4*m^2*r^6 + 9*a^2*m^2*r^8 + (a^10*m^2 - 6*a^8*m^2*r^2 + 8*a^6*m^3*r^3 - 3*a^6*m^2*r^4)*y^8 - 2*(a^10*m^2 - 7*a^8*m^2*r^2 + 12*a^6*m^3*r^3 - 3*a^6*m^2*r^4 - 3*a^4*m^2*r^6)*y^6 + (a^10*m^2 - 10*a^8*m^2*r^2 + 24*a^6*m^3*r^3 - 2*a^6*m^2*r^4 - 6*a^4*m^2*r^6 + 9*a^2*m^2*r^8)*y^4 + 2*(a^8*m^2*r^2 - 4*a^6*m^3*r^3 - a^6*m^2*r^4 - 3*a^4*m^2*r^6 - 9*a^2*m^2*r^8)*y^2)/(2*a^2*m*r^9 + a^2*r^10 + r^12 + (a^12 - 2*a^10*m*r + a^10*r^2)*y^10 + (2*a^10*m*r + 5*a^10*r^2 - 8*a^8*m*r^3 + 5*a^8*r^4)*y^8 + 2*(4*a^8*m*r^3 + 5*a^8*r^4 - 6*a^6*m*r^5 + 5*a^6*r^6)*y^6 + 2*(6*a^6*m*r^5 + 5*a^6*r^6 - 4*a^4*m*r^7 + 5*a^4*r^8)*y^4 + (8*a^4*m*r^7 + 5*a^4*r^8 - 2*a^2*m*r^9 + 5*a^2*r^10)*y^2) " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "KK.set_name('(KK)')\n", "KK.display_comp()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

In vacuum and for stationary spacetimes, the dynamical Einstein equations are\n", "$$ \\mathcal{L}_\\beta K_{ij} - D_i D_j N + N \\left( R_{ij} + K K_{ij} - 2 K_{ik} K^k_{\\ \\, j}\\right) = 0 $$" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (0,2) on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "0" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dyn = K.lie_der(b) - D(D(N)) + N*( Ric + trK*K - 2*KK )\n", "print(dyn)\n", "dyn.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Electric and magnetic parts of the Weyl tensor\n", "\n", "The **electric part** is the bilinear form $E$ given by \n", "$$ E_{ij} = R_{ij} + K K_{ij} - K_{ik} K^k_{\\ \\, j} $$" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms +Ric(gam)-(KK) on the 3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "E = Ric + trK*K - KK\n", "print(E)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "E_r,r = -(3*a^4*m*r^3 - 2*a^2*m^2*r^4 + 5*a^2*m*r^5 + 2*m*r^7 + 3*(a^6*m*r - 2*a^4*m^2*r^2 + a^4*m*r^3)*y^4 - (9*a^6*m*r - 6*a^4*m^2*r^2 + 16*a^4*m*r^3 - 2*a^2*m^2*r^4 + 7*a^2*m*r^5)*y^2)/(2*a^4*m*r^5 + 2*a^2*r^8 - 2*m*r^9 + r^10 + (a^4 - 4*a^2*m^2)*r^6 + (a^10 - 4*a^8*m*r - 4*a^6*m*r^3 + a^6*r^4 + 2*(a^8 + 2*a^6*m^2)*r^2)*y^6 + (2*a^8*m*r - 8*a^6*m*r^3 - 10*a^4*m*r^5 + 3*a^4*r^6 + 2*(3*a^6 + 4*a^4*m^2)*r^4 + (3*a^8 - 4*a^6*m^2)*r^2)*y^4 + (4*a^6*m*r^3 - 4*a^4*m*r^5 - 8*a^2*m*r^7 + 3*a^2*r^8 + 2*(3*a^4 + 2*a^2*m^2)*r^6 + (3*a^6 - 8*a^4*m^2)*r^4)*y^2) \n", "E_r,y = 3*((a^6*m + a^4*m*r^2)*y^3 - 3*(a^4*m*r^2 + a^2*m*r^4)*y)/(2*a^2*m*r^5 + a^2*r^6 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*y^6 + (2*a^6*m*r + 3*a^6*r^2 - 4*a^4*m*r^3 + 3*a^4*r^4)*y^4 + (4*a^4*m*r^3 + 3*a^4*r^4 - 2*a^2*m*r^5 + 3*a^2*r^6)*y^2) \n", "E_r,ph = 0 \n", "E_y,r = 3*((a^6*m + a^4*m*r^2)*y^3 - 3*(a^4*m*r^2 + a^2*m*r^4)*y)/(2*a^2*m*r^5 + a^2*r^6 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*y^6 + (2*a^6*m*r + 3*a^6*r^2 - 4*a^4*m*r^3 + 3*a^4*r^4)*y^4 + (4*a^4*m*r^3 + 3*a^4*r^4 - 2*a^2*m*r^5 + 3*a^2*r^6)*y^2) \n", "E_y,y = -(3*a^4*m*r^3 - 4*a^2*m^2*r^4 + 4*a^2*m*r^5 + m*r^7 + 6*(a^6*m*r - 2*a^4*m^2*r^2 + a^4*m*r^3)*y^4 - (9*a^6*m*r - 12*a^4*m^2*r^2 + 14*a^4*m*r^3 - 4*a^2*m^2*r^4 + 5*a^2*m*r^5)*y^2)/((a^8 - 2*a^6*m*r + a^6*r^2)*y^8 - 2*a^2*m*r^5 - a^2*r^6 - r^8 - (a^8 - 4*a^6*m*r - 2*a^6*r^2 + 4*a^4*m*r^3 - 3*a^4*r^4)*y^6 - (2*a^6*m*r + 3*a^6*r^2 - 8*a^4*m*r^3 + 2*a^2*m*r^5 - 3*a^2*r^6)*y^4 - (4*a^4*m*r^3 + 3*a^4*r^4 - 4*a^2*m*r^5 + 2*a^2*r^6 - r^8)*y^2) \n", "E_y,ph = 0 \n", "E_ph,r = 0 \n", "E_ph,y = 0 \n", "E_ph,ph = (2*a^2*m^2*r^4 + a^2*m*r^5 + m*r^7 + 3*(a^6*m*r - 2*a^4*m^2*r^2 + a^4*m*r^3)*y^6 - (3*a^6*m*r - 12*a^4*m^2*r^2 + a^4*m*r^3 - 2*a^2*m^2*r^4 - 2*a^2*m*r^5)*y^4 - (6*a^4*m^2*r^2 + 2*a^4*m*r^3 + 4*a^2*m^2*r^4 + 3*a^2*m*r^5 + m*r^7)*y^2)/(a^8*y^8 + 4*a^6*r^2*y^6 + 6*a^4*r^4*y^4 + 4*a^2*r^6*y^2 + r^8) " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.set_name('E')\n", "E.display_comp(only_nonzero=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The **magnetic part** is the bilinear form $B$ defined by\n", "$$ B_{ij} = \\epsilon^k_{\\ \\, i l} D_k K^l_{\\ \\, j}, $$\n", "where $\\epsilon^k_{\\ \\, i l}$ are the components of the type-(1,2) tensor $\\epsilon^\\sharp$, related to the Levi-Civita alternating tensor $\\epsilon$ associated with $\\gamma$ by $\\epsilon^k_{\\ \\, i l} = \\gamma^{km} \\epsilon_{m i l}$. In SageManifolds, $\\epsilon$ is obtained by the command `volume_form()` and $\\epsilon^\\sharp$ by the command `volume_form(1)` (`1` = one index raised):" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3-form eps_gam on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "eps_gam = sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*sqrt(a^2*y^2 + r^2)/sqrt(a^2 - 2*m*r + r^2) dr/\\dy/\\dph" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eps = gam.volume_form() \n", "print(eps) ; eps.display()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (1,2) on the 3-dimensional differentiable manifold Sigma\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*sqrt(a^2 - 2*m*r + r^2)/sqrt(a^2*y^2 + r^2) d/dr*dy*dph - sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*sqrt(a^2 - 2*m*r + r^2)/sqrt(a^2*y^2 + r^2) d/dr*dph*dy + sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*(y^2 - 1)/(sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) d/dy*dr*dph - sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*(y^2 - 1)/(sqrt(a^2*y^2 + r^2)*sqrt(a^2 - 2*m*r + r^2)) d/dy*dph*dr - sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*(a^2*y^2 + r^2)^(3/2)/(((a^4 - 2*a^2*m*r + a^2*r^2)*y^4 - 2*a^2*m*r - a^2*r^2 - r^4 - (a^4 - 4*a^2*m*r - r^4)*y^2)*sqrt(a^2 - 2*m*r + r^2)) d/dph*dr*dy + sqrt(2*a^2*m*r + a^2*r^2 + r^4 + (a^4 - 2*a^2*m*r + a^2*r^2)*y^2)*(a^2*y^2 + r^2)^(3/2)/(((a^4 - 2*a^2*m*r + a^2*r^2)*y^4 - 2*a^2*m*r - a^2*r^2 - r^4 - (a^4 - 4*a^2*m*r - r^4)*y^2)*sqrt(a^2 - 2*m*r + r^2)) d/dph*dy*dr" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "epsu = gam.volume_form(1)\n", "print(epsu) ; epsu.display()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field of type (0,2) on the 3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "DKu = D(Ku)\n", "B = epsu['^k_il']*DKu['^l_jk']\n", "print(B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Let us check that $B$ is symmetric:

" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B1 = B.symmetrize()\n", "B == B1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Accordingly, we set

" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms B on the 3-dimensional differentiable manifold Sigma\n" ] } ], "source": [ "B = B1\n", "B.set_name('B')\n", "print(B)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "B_r,r = ((a^7*m - 2*a^5*m^2*r + a^5*m*r^2)*y^5 - (3*a^7*m - 2*a^5*m^2*r + 8*a^5*m*r^2 - 6*a^3*m^2*r^3 + 5*a^3*m*r^4)*y^3 + 3*(3*a^5*m*r^2 - 2*a^3*m^2*r^3 + 5*a^3*m*r^4 + 2*a*m*r^6)*y)/(2*a^4*m*r^5 + 2*a^2*r^8 - 2*m*r^9 + r^10 + (a^4 - 4*a^2*m^2)*r^6 + (a^10 - 4*a^8*m*r - 4*a^6*m*r^3 + a^6*r^4 + 2*(a^8 + 2*a^6*m^2)*r^2)*y^6 + (2*a^8*m*r - 8*a^6*m*r^3 - 10*a^4*m*r^5 + 3*a^4*r^6 + 2*(3*a^6 + 4*a^4*m^2)*r^4 + (3*a^8 - 4*a^6*m^2)*r^2)*y^4 + (4*a^6*m*r^3 - 4*a^4*m*r^5 - 8*a^2*m*r^7 + 3*a^2*r^8 + 2*(3*a^4 + 2*a^2*m^2)*r^6 + (3*a^6 - 8*a^4*m^2)*r^4)*y^2) \n", "B_r,y = -3*(a^3*m*r^3 + a*m*r^5 - 3*(a^5*m*r + a^3*m*r^3)*y^2)/(2*a^2*m*r^5 + a^2*r^6 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*y^6 + (2*a^6*m*r + 3*a^6*r^2 - 4*a^4*m*r^3 + 3*a^4*r^4)*y^4 + (4*a^4*m*r^3 + 3*a^4*r^4 - 2*a^2*m*r^5 + 3*a^2*r^6)*y^2) \n", "B_r,ph = 0 \n", "B_y,r = -3*(a^3*m*r^3 + a*m*r^5 - 3*(a^5*m*r + a^3*m*r^3)*y^2)/(2*a^2*m*r^5 + a^2*r^6 + r^8 + (a^8 - 2*a^6*m*r + a^6*r^2)*y^6 + (2*a^6*m*r + 3*a^6*r^2 - 4*a^4*m*r^3 + 3*a^4*r^4)*y^4 + (4*a^4*m*r^3 + 3*a^4*r^4 - 2*a^2*m*r^5 + 3*a^2*r^6)*y^2) \n", "B_y,y = (2*(a^7*m - 2*a^5*m^2*r + a^5*m*r^2)*y^5 - (3*a^7*m - 4*a^5*m^2*r + 10*a^5*m*r^2 - 12*a^3*m^2*r^3 + 7*a^3*m*r^4)*y^3 + 3*(3*a^5*m*r^2 - 4*a^3*m^2*r^3 + 4*a^3*m*r^4 + a*m*r^6)*y)/((a^8 - 2*a^6*m*r + a^6*r^2)*y^8 - 2*a^2*m*r^5 - a^2*r^6 - r^8 - (a^8 - 4*a^6*m*r - 2*a^6*r^2 + 4*a^4*m*r^3 - 3*a^4*r^4)*y^6 - (2*a^6*m*r + 3*a^6*r^2 - 8*a^4*m*r^3 + 2*a^2*m*r^5 - 3*a^2*r^6)*y^4 - (4*a^4*m*r^3 + 3*a^4*r^4 - 4*a^2*m*r^5 + 2*a^2*r^6 - r^8)*y^2) \n", "B_y,ph = 0 \n", "B_ph,r = 0 \n", "B_ph,y = 0 \n", "B_ph,ph = -((a^7*m - 2*a^5*m^2*r + a^5*m*r^2)*y^7 - (a^7*m - 4*a^5*m^2*r + 3*a^5*m*r^2 - 6*a^3*m^2*r^3 + 2*a^3*m*r^4)*y^5 - (2*a^5*m^2*r - 2*a^5*m*r^2 + 12*a^3*m^2*r^3 + a^3*m*r^4 + 3*a*m*r^6)*y^3 + 3*(2*a^3*m^2*r^3 + a^3*m*r^4 + a*m*r^6)*y)/(a^8*y^8 + 4*a^6*r^2*y^6 + 6*a^4*r^4*y^4 + 4*a^2*r^6*y^2 + r^8) " ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B.display_comp(only_nonzero=False)" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 7.5.1", "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.13" } }, "nbformat": 4, "nbformat_minor": 0 }