{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'SageMath version 8.0, Release Date: 2017-07-21'" ] }, "execution_count": 1, "metadata": { }, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# General case: F(t)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Spacetime" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4-dimensional differentiable manifold M\n" ] } ], "source": [ "M = Manifold(4, 'M')\n", "print(M)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 4, "metadata": { }, "output_type": "execute_result" } ], "source": [ "XBL. = M.chart(r't x th:(0,pi):\\theta ph:(0,2*pi):\\phi')\n", "XBL" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 5, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g = M.lorentzian_metric('g')\n", "F=function('F')(t)\n", "g[0,0]=-1/F\n", "g[1,1]=F\n", "g[2,2]=t^2\n", "g[3,3]=t^2*sin(th)^2\n", "g.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Ricci's scalar" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field r(g) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "Ric = g.ricci_scalar() ; print(Ric)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 7, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Ric.expr().factor()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Kretschmann's scalar" ] }, { "cell_type": "code", "execution_count": 8, "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": "code", "execution_count": 9, "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": "code", "execution_count": 10, "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": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 11, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Kr_scalar = uR['^{abcd}']*dR['_{abcd}']\n", "K=Kr_scalar.expr().factor()\n", "K" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Case 1 (Hayward): F_1(t)=\\frac{2t^2}{t^3+2b^2}-1 --> nonsingular" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "var('b');" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Spacetime" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 13, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g1 = M.lorentzian_metric('g1')\n", "F1=2*t^2/(t^3+2*b)-1\n", "g1[0,0]=-1/F1\n", "g1[1,1]=F1\n", "g1[2,2]=t^2\n", "g1[3,3]=t^2*sin(th)^2\n", "g1.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Ricci's scalar" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field r(g1) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "Ric1 = g1.ricci_scalar() ; print(Ric1)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 15, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Ric1.expr().factor()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Kretschmann's scalar" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field Riem(g1) of type (1,3) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "R1 = g1.riemann() ; print(R1)" ] }, { "cell_type": "code", "execution_count": 17, "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": [ "dR1 = R1.down(g1); print(dR1)" ] }, { "cell_type": "code", "execution_count": 18, "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": [ "uR1 = R1.up(g1); print(uR1)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 19, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Kr_scalar1 = uR1['^{abcd}']*dR1['_{abcd}']\n", "K1=Kr_scalar1.expr().factor()\n", "K1" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Case 2: F_2(t)=\\frac{2t}{t^2+2b}-1 --> singular" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Spacetime" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 20, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g2 = M.lorentzian_metric('g2')\n", "F2=2*t/(t^2+2*b)-1\n", "g2[0,0]=-1/F2\n", "g2[1,1]=F2\n", "g2[2,2]=t^2\n", "g2[3,3]=t^2*sin(th)^2\n", "g2.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Ricci's scalar" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field r(g2) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "Ric2 = g2.ricci_scalar() ; print(Ric2)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 22, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Ric2.expr().factor()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Kretschmann's scalar" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field Riem(g2) of type (1,3) on the 4-dimensional differentiable manifold M\n" ] } ], "source": [ "R2 = g2.riemann() ; print(R2)" ] }, { "cell_type": "code", "execution_count": 24, "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": [ "dR2 = R2.down(g2); print(dR2)" ] }, { "cell_type": "code", "execution_count": 25, "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": [ "uR2 = R2.up(g2); print(uR2)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 26, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Kr_scalar2 = uR2['^{abcd}']*dR2['_{abcd}']\n", "K2=Kr_scalar2.expr().factor()\n", "K2" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 8.0", "name": "sage-8.0" }, "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 }