Schwarzschild Solution to the Einstein's equation

We will rederive the equations from General Theory of Relativity, chapter 18, by Dirac. They describe a spherically symetric solution to the Einstein's equation in vacuum.

We will not try to solve the resulting equations.

This verion of the notebook uses funtions that explicitly calculate the Christoffel symbols, hence the work is coordinate-system-dependent.

Import the necessary modules.


In [1]:
from sympy.diffgeom import *
TP = TensorProduct

Define a 4D manifold with a patch and a coordinate chart on which we will work.


In [2]:
m = Manifold('Schwarzschild', 4)
p = Patch('origin', m)
cs = CoordSystem('spherical', p, ['t', 'r', 'theta', 'phi'])

In [3]:
m, p, cs


Out[3]:
$$\left ( \mathrm{Schwarzschild}, \quad \mathrm{origin}_{\mathrm{Schwarzschild}}, \quad \mathrm{spherical}^{\mathrm{origin}}_{\mathrm{Schwarzschild}}\right )$$

Prepare the variables containing the scalar fields and the 1-form fields.


In [4]:
t, r, theta, phi = cs.coord_functions()
t, r, theta, phi


Out[4]:
$$\left ( \boldsymbol{\mathrm{t}}, \quad \boldsymbol{\mathrm{r}}, \quad \boldsymbol{\mathrm{\theta}}, \quad \boldsymbol{\mathrm{\phi}}\right )$$

In [5]:
dt, dr, dtheta, dphi = cs.base_oneforms()
dt, dr, dtheta, dphi


Out[5]:
$$\left ( \mathrm{d}t, \quad \mathrm{d}r, \quad \mathrm{d}\theta, \quad \mathrm{d}\phi\right )$$

The most general spherically-symmetric metric has the following form.


In [6]:
metric = exp(2*f(r))*TP(dt, dt) - exp(2*g(r))*TP(dr, dr) - r**2*TP(dtheta, dtheta) - r**2*sin(theta)**2*TP(dphi, dphi)
metric


Out[6]:
$$e^{2 f{\left (\boldsymbol{\mathrm{r}} \right )}} \mathrm{d}t\otimes\mathrm{d}t - e^{2 g{\left (\boldsymbol{\mathrm{r}} \right )}} \mathrm{d}r\otimes\mathrm{d}r - \sin^{2}{\left (\boldsymbol{\mathrm{\theta}} \right )} \left(\boldsymbol{\mathrm{r}}\right)^{2} \mathrm{d}\phi\otimes\mathrm{d}\phi - \left(\boldsymbol{\mathrm{r}}\right)^{2} \mathrm{d}\theta\otimes\mathrm{d}\theta$$

The matrix $M$ representing the two-form as a bilinear map $V,U\to V^tMU$ over the column vectors $V$ and $U$ in the canonical basis of the choosen coordinate system is:


In [7]:
twoform_to_matrix(metric)


Out[7]:
$$\left[\begin{matrix}e^{2 f{\left (\boldsymbol{\mathrm{r}} \right )}} & 0 & 0 & 0\\0 & - e^{2 g{\left (\boldsymbol{\mathrm{r}} \right )}} & 0 & 0\\0 & 0 & - \left(\boldsymbol{\mathrm{r}}\right)^{2} & 0\\0 & 0 & 0 & - \sin^{2}{\left (\boldsymbol{\mathrm{\theta}} \right )} \left(\boldsymbol{\mathrm{r}}\right)^{2}\end{matrix}\right]$$

Now we will calculate the components in the same basis of the Ricci tensor.


In [8]:
ricci = metric_to_Ricci_components(metric)

In [9]:
ricci = [[simplify(ricci[i][j])
            for j in range(4)] for i in range(4)]

The diagonal components give the equations we are interested in.


In [10]:
ricci[0][0]


Out[10]:
$$\frac{1}{\boldsymbol{\mathrm{r}}} \left(\boldsymbol{\mathrm{r}} \left(\left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right)^{2} - \boldsymbol{\mathrm{r}} \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} + \boldsymbol{\mathrm{r}} \left. \frac{d^{2}}{d \xi_{1}^{2}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} + 2 \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right) e^{2 f{\left (\boldsymbol{\mathrm{r}} \right )} - 2 g{\left (\boldsymbol{\mathrm{r}} \right )}}$$

In [11]:
ricci[1][1]


Out[11]:
$$- \left(\left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right)^{2} + \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} - \left. \frac{d^{2}}{d \xi_{1}^{2}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} + \frac{2}{\boldsymbol{\mathrm{r}}} \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}$$

In [12]:
ricci[2][2]


Out[12]:
$$\left(e^{2 g{\left (\boldsymbol{\mathrm{r}} \right )}} - \boldsymbol{\mathrm{r}} \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} + \boldsymbol{\mathrm{r}} \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} - 1\right) e^{- 2 g{\left (\boldsymbol{\mathrm{r}} \right )}}$$

In [13]:
ricci[3][3]


Out[13]:
$$\left(e^{2 g{\left (\boldsymbol{\mathrm{r}} \right )}} - \boldsymbol{\mathrm{r}} \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} + \boldsymbol{\mathrm{r}} \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }} - 1\right) e^{- 2 g{\left (\boldsymbol{\mathrm{r}} \right )}} \sin^{2}{\left (\boldsymbol{\mathrm{\theta}} \right )}$$

The off-diagonal components are zero.


In [14]:
all(ricci[i][j]==0 for i in range(4) for j in range(4) if i!=j)


Out[14]:
True

For completeness we can also check out the Christoffel symbol of 2nd kind. We will print only the non-zero components, and only one of the symmetric components (symmetric in the last two indices).


In [15]:
ch_2nd = metric_to_Christoffel_2nd(metric)
filt = [((i,j,k), simplify(ch_2nd[i][j][k]))
            for i in range(4) for j in range(4) for k in range(j,4)
            if ch_2nd[i][j][k]!=0]

In [16]:
filt[0:3]


Out[16]:
$$\left [ \left ( \left ( 0, \quad 0, \quad 1\right ), \quad \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right ), \quad \left ( \left ( 1, \quad 0, \quad 0\right ), \quad e^{2 f{\left (\boldsymbol{\mathrm{r}} \right )} - 2 g{\left (\boldsymbol{\mathrm{r}} \right )}} \left. \frac{d}{d \xi_{1}} f{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right ), \quad \left ( \left ( 1, \quad 1, \quad 1\right ), \quad \left. \frac{d}{d \xi_{1}} g{\left (\xi_{1} \right )} \right|_{\substack{ \xi_{1}=\boldsymbol{\mathrm{r}} }}\right )\right ]$$

In [17]:
filt[3:6]


Out[17]:
$$\left [ \left ( \left ( 1, \quad 2, \quad 2\right ), \quad - e^{- 2 g{\left (\boldsymbol{\mathrm{r}} \right )}} \boldsymbol{\mathrm{r}}\right ), \quad \left ( \left ( 1, \quad 3, \quad 3\right ), \quad - e^{- 2 g{\left (\boldsymbol{\mathrm{r}} \right )}} \sin^{2}{\left (\boldsymbol{\mathrm{\theta}} \right )} \boldsymbol{\mathrm{r}}\right ), \quad \left ( \left ( 2, \quad 1, \quad 2\right ), \quad \frac{1}{\boldsymbol{\mathrm{r}}}\right )\right ]$$

In [18]:
filt[6:9]


Out[18]:
$$\left [ \left ( \left ( 2, \quad 3, \quad 3\right ), \quad - \frac{1}{2} \sin{\left (2 \boldsymbol{\mathrm{\theta}} \right )}\right ), \quad \left ( \left ( 3, \quad 1, \quad 3\right ), \quad \frac{1}{\boldsymbol{\mathrm{r}}}\right ), \quad \left ( \left ( 3, \quad 2, \quad 3\right ), \quad \frac{1}{\tan{\left (\boldsymbol{\mathrm{\theta}} \right )}}\right )\right ]$$

We can also confirm that the Christoffel symbol is symmetric.


In [19]:
all([ch_2nd[k][i][j] == ch_2nd[k][j][i] for k in range(4) for i in range(4) for j in range(4)])


Out[19]:
True