# Lemaître-Tolman solutions¶

This Jupyter/SageMath worksheet is relative to the lectures Introduction to black hole physics

These computations are based on SageManifolds (version 1.0, as included in SageMath 7.5)

Click here to download the worksheet file (ipynb format). To run it, you must start SageMath with the Jupyter notebook, with the command sage -n jupyter

NB: a version of SageMath at least equal to 7.5 is required to run this worksheet:

In :
version()

Out:
'SageMath version 8.0.beta6, Release Date: 2017-05-12'

First we set up the notebook to display mathematical objects using LaTeX rendering:

In :
%display latex


## Spacetime¶

We declare the spacetime manifold $M$:

In :
M = Manifold(4, 'M')
print(M)

4-dimensional differentiable manifold M


and declare the chart of Lemaître synchronous coordinates on it:

In :
X.<t,x,th,ph> = M.chart(r't:\tau x:(0,+oo):\chi th:(0,pi):\theta ph:(0,2*pi):\phi')
X

Out:

The most general metric tensor, assuming spherical symmetry and synchronous coordinates:

In :
g = M.lorentzian_metric('g')
a = function('a')
r = function('r')
g[0,0] = -1
g[1,1] = a(t,x)^2
g[2,2] = r(t,x)^2
g[3,3] = (r(t,x)*sin(th))^2
g.display()

Out:

## Einstein equation¶

The cosmological constant:

In :
var('Lamb', latex_name='\Lambda')

Out:

The Ricci tensor:

In :
Ric = g.ricci()
print(Ric)

Field of symmetric bilinear forms Ric(g) on the 4-dimensional differentiable manifold M

In :
Ric.display()

Out:

The Einstein tensor:

In :
G = Ric - 1/2*g.ricci_scalar() * g
G.set_name('G')
print(G)

Field of symmetric bilinear forms G on the 4-dimensional differentiable manifold M

In :
G.display_comp()

Out:

### Dust matter model¶

Let us consider a pressureless fluid ("dust"). Moreover, we assume that the coordinates $(\tau,\chi,\theta,\phi)$ are comoving, i.e. that the fluid 4-velocity is equal to $\partial_\tau$:

In :
u = M.vector_field('u')
u = 1
u.display()

Out:

Since $(\tau,\chi,\theta,\chi)$ are synchronous, the above does define a unit timelike vector:

In :
g(u,u).display()

Out:

The 1-form associated to the fluid 4-velocity by metric duality:

In :
u_form = u.down(g)
print(u_form)

1-form on the 4-dimensional differentiable manifold M

In :
u_form.display()

Out:

The pressureless energy-momentum tensor:

In :
rho = function('rho')
T = rho(t,x)*(u_form * u_form)
T.set_name('T')
print(T)

Field of symmetric bilinear forms T on the 4-dimensional differentiable manifold M

In :
T.display()

Out:

The Einstein equation:

In :
E = G + Lamb*g - 8*pi*T
E.set_name('E')
print(E)

Field of symmetric bilinear forms E on the 4-dimensional differentiable manifold M

In :
E.display_comp()

Out:

## Solving the Einstein equation¶

### $\tau\chi$ component¶

Let us first consider the $01 = \tau\chi$ component of the Einstein equation:

In :
E[0,1]

Out:

A slight rearrangement of the equation:

In :
eq = E[0,1]*r(t,x)/(-2*a(t,x))
eq

Out:

We see that this equation is equivalent to $$\frac{\partial}{\partial\tau} \left( \frac{1}{a}\frac{\partial r}{\partial\chi} \right) = 0$$ since

In :
drdx = diff(r(t,x), x)
eq - diff(drdx/a(t,x), t)

Out:

Hence there exists a function of $\chi$ only, $f(\chi)$ say, such that $\frac{1}{a}\frac{\partial r}{\partial\chi} = f(\chi)$. We disregard the case $f(\chi)=0$, which would imply $\frac{\partial r}{\partial\chi}=0$ and would lead to the so-called Datt model (1938). Accordingly, we may write $$a(\tau,\chi) = \frac{1}{f(\chi)}\frac{\partial r}{\partial\chi}$$ Let us call af this expression of $a$:

In :
f = function('f')
af(t,x) = drdx / f(x)
af(t,x)

Out:

We check that if we substitute $a$ by af in the $\tau\chi$ component of the Einstein equation, we get identically zero:

In :
E[0,1].expr().substitute_function(a, af)

Out:

NB: expr() returns a Sage symbolic expression from the coordinate function E[0,1], so that we may apply substitute_function

Hence the first Lemaitre-Tolman equation is

In :
LT1 = a(t,x) == af(t,x)
LT1

Out:

### $\chi\chi$ component¶

The $11 = \chi\chi$ component of Einstein equation is

In :
E[1,1]

Out:

It is equivalent to

In :
eq = (- E[1,1] * r(t,x)^2).expr() == 0
eq

Out:

Let us substitute for $a(\tau,\chi)$ the value found above when solving the $\tau\chi$ component:

In :
eq1 = eq.substitute_function(a, af)
eq1

Out:

Some slight rearrangement and simplification:

In :
eq2 = (eq1 * f(x)^2 / diff(r(t,x), x)^2).simplify_full()
eq2

Out:
In :
eq3 = (eq2 * diff(r(t,x),t)).simplify_full()
eq3

Out:

We notice that the left-hand side of this equation is nothing but the partial derivative w.r.t. $\tau$ of the following quantity:

In :
A = (diff(r(t,x),t)^2 + 1 - f(x)^2 - (Lamb/3)*r(t,x)^2) * r(t,x)
A

Out:
In :
bool(eq3.lhs() == diff(A, t))

Out:

Hence eq3 tells that $A$ is independent of $\tau$, i.e. is a function of $\chi$ only, which we call $2 m(\chi)$:

In :
m = function('m')
eq4 = A - 2*m(x) == 0
eq4

Out:

Let us solve extract $(\partial r/\partial\tau)^2$ from this equation:

In :
drdt2_sol = solve(eq4, diff(r(t,x),t)^2)
drdt2_sol

Out:

We thus obtain the second Lemaitre-Tolman equation:

In :
LT2 = drdt2_sol.expand()
LT2

Out:
In :
drdt2 = LT2.rhs()
drdt2

Out:

### $\tau\tau$ component¶

The $00 = \tau\tau$ component of Einstein equation is

In :
E[0,0]

Out:

It is equivalent to

In :
eq = (- E[0,0] * a(t,x)^3 * r(t,x)^2).expr() == 0
eq

Out:

As above, we substitute for $a(\tau,\chi)$ the value found when solving the $\tau\chi$ component:

In :
eq1 = eq.substitute_function(a, af)
eq1

Out:
In :
eq2 = (eq1 * f(x)^3).simplify_full()
eq2

Out:

Let us substitute for $\partial r/\partial \tau$ the positive square root of the value of $(\partial r/\partial \tau)^2$ found when solving the $\chi\chi$ component:

In :
drdt = sqrt(drdt2)
drdt

Out:
In :
eq3 = eq2.subs({diff(r(t,x),t): drdt, diff(r(t,x),t,x): diff(drdt, x)}).simplify_full()
eq3

Out:

If we use the negative square root of $(\partial r/\partial \tau)^2$ instead, we get the same result:

In :
drdt = - sqrt(drdt2)
drdt

Out:
In :
eq3_minus = eq2.subs({diff(r(t,x),t): drdt, diff(r(t,x),t,x): diff(drdt, x)}).simplify_full()
eq3_minus

Out:
In :
eq3_minus == eq3

Out:

Thus we continue with eq3 and rearrange it to get the third Lemaitre-Tolman equation:

In :
eq4 = (eq3 / (2*diff(r(t,x),x)^2)).simplify_full()
eq4

Out:
In :
dmdx_sol = solve(eq4, diff(m(x),x))
dmdx_sol

Out:
In :
LT3 = dmdx_sol
LT3

Out:

### $\theta\theta$ and $\phi\phi$ components¶

First we notice that the $\theta\theta$ and $\phi\phi$ components of the Einstein equation are equivalent:

In :
E[3,3] == E[2,2] * sin(th)^2

Out:

Let us thus consider only the $22 = \theta\theta$ component:

In :
E[2,2]

Out:

It is equivalent to

In :
eq = (- E[2,2] * a(t,x)^3).expr() == 0
eq

Out:

We substitute for $a(\tau,\chi)$ the value found when solving the $\tau\chi$ component:

In :
eq1 = eq.substitute_function(a, af).simplify_full()
eq1

Out:
In :
eq2 = (eq1 * f(x)^3).simplify_full()
eq2

Out:

Then we substitute for $\partial r/\partial\tau$ the value obtained when solving the $\tau\tau$ component:

In :
eq3 = eq2.subs({diff(r(t,x),t,t,x): diff(drdt,t,x), diff(r(t,x),t,t): diff(drdt,t)}).simplify_full()
eq4 = eq3.subs({diff(r(t,x),t): drdt, diff(r(t,x),t,x): diff(drdt,x)}).simplify_full()
eq4

Out:

We conclude that the $\theta\theta$ component of Einstein equation does add any independent equation.

## Summary¶

Let us collect the three independent equations obtained from the Einstein equation, constituting the Lemaître-Tolman system:

In :
for eq in [LT1, LT2, LT3]:
show(eq)


The first equation is the unnumbered one just above Eq. (8.1) in Lemaître's article L'univers en expansion, Annales de la Société Scientifique de Bruxelles A 53, 51 (1933), translated in English in Gen. Relativ. Gravit. 29, 641 (1997). The second equation is Eq. (8.2) in Lemaître's article, while the third one is Eq. (8.3).

In [ ]: