## Black branes in Lifshitz-like spacetimes¶

This Jupyter/SageMath worksheet implements some computations of the article

• I. Ya. Aref'eva, A. A. Golubtsova & E. Gourgoulhon: Analytic black branes in Lifshitz-like backgrounds and thermalization, arXiv:1601.06046

These computations are based on SageManifolds (v0.9)

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

In [1]:
%display latex


### Space manifold¶

Let us declare $M$ as a 5-dimensional manifold:

In [2]:
M = Manifold(5, 'M')
print(M)

5-dimensional differentiable manifold M


We introduce a coordinate system on $M$:

In [3]:
X.<t,x,y1,y2,r> = M.chart('t x y1:y_1 y2:y_2 r')
X

Out[3]:

Next, we define the metric tensor, which depends on some real number $\nu$ and some arbitary function $f$:

In [4]:
g = M.lorentzian_metric('g')
var('nu', latex_name=r'\nu', domain='real')
ff = function('f')(r)
g[0,0] = -ff*exp(2*nu*r)
g[1,1] = exp(2*nu*r)
g[2,2] = exp(2*r)
g[3,3] = exp(2*r)
g[4,4] = 1/ff
g.display()

Out[4]:

If $f(r)=1$, this is the metric of a Lifshitz spacetime; if, in addition $\nu=1$, $(M,g)$ is a Poincaré patch of $\mathrm{AdS}_5$.

### Curvature¶

The Riemann tensor is

In [5]:
Riem = g.riemann()
print(Riem)

Tensor field Riem(g) of type (1,3) on the 5-dimensional differentiable manifold M

In [6]:
Riem.display_comp(only_nonredundant=True)

Out[6]:

The Ricci tensor:

In [7]:
Ric = g.ricci()
print(Ric)

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

In [8]:
Ric.display()

Out[8]:
In [9]:
Ric.display_comp()

Out[9]:

The Ricci scalar:

In [10]:
Rscal = g.ricci_scalar()
print(Rscal)

Scalar field r(g) on the 5-dimensional differentiable manifold M

In [11]:
Rscal.display()

Out[11]:

### Source model¶

Let us consider a model based on the following action, involving a cosmological constant $\bar{\Lambda} = -\Lambda/2$ with $\Lambda>0$, a dilaton scalar field $\phi$ and a Maxwell 2-form $F$:

$$S = \int \left( R(g) + \Lambda - \frac{1}{2} \nabla_m \phi \nabla^m \phi - \frac{1}{4} e^{\lambda\phi} F_{mn} F^{mn} \right) \sqrt{-g} \, \mathrm{d}^5 x \qquad\qquad \mbox{(1)}$$

where $R(g)$ is the Ricci scalar of metric $g$ and $\lambda$ is the dilatonic coupling constant.

### The dilaton scalar field¶

We consider the following ansatz for the dilaton scalar field $\phi$: $$\phi = \frac{1}{\lambda} \left( 4 r + \ln\mu \right) \iff e^{\lambda\phi} = \mu e^{4r},$$ where $\mu$ is a constant.

In [12]:
var('mu', latex_name=r'\mu', domain='real')
var('lamb', latex_name=r'\lambda', domain='real')
phi = M.scalar_field({X: (4*r + ln(mu))/lamb},
name='phi', latex_name=r'\phi')
phi.display()

Out[12]:

The 1-form $\mathrm{d}\phi$ is

In [13]:
dphi = phi.differential()
print(dphi)

1-form dphi on the 5-dimensional differentiable manifold M

In [14]:
dphi.display()

Out[14]:
In [15]:
dphi[:]  # all the components in the default frame

Out[15]:

### The 2-form field¶

We consider the following ansatz for $F$: $$F = \frac{1}{2} q \, \mathrm{d}y_1\wedge \mathrm{d}y_2,$$ where $q$ is a constant. Let us first get the 1-forms $\mathrm{d}y_1$ and $\mathrm{d}y_2$:

In [16]:
X.coframe()

Out[16]:
In [17]:
dy1 = X.coframe()[2]
dy2 = X.coframe()[3]


Then we can form $F$ according to the above ansatz:

In [18]:
var('q', domain='real')
F = q/2 * dy1.wedge(dy2)
F.set_name('F')
print(F)
F.display()

2-form F on the 5-dimensional differentiable manifold M

Out[18]:

By construction, the 2-form $F$ is closed (since $q$ is constant):

In [19]:
print(F.exterior_der())

3-form dF on the 5-dimensional differentiable manifold M

In [20]:
F.exterior_der().display()

Out[20]:

Let us evaluate the square $F_{mn} F^{mn}$ of $F$:

In [21]:
Fu = F.up(g)
print(Fu)

Tensor field of type (2,0) on the 5-dimensional differentiable manifold M

In [22]:
F2 = F['_{mn}']*Fu['^{mn}']  # using LaTeX notations for contraction
print(F2)
F2.display()

Scalar field on the 5-dimensional differentiable manifold M

Out[22]:

We shall also need the tensor $\mathcal{F}_{mn} := F_{mp} F_n^{\ \, p}$:

In [23]:
FF = F['_mp'] * F.up(g,1)['^p_n']
print(FF)
FF.display()

Tensor field of type (0,2) on the 5-dimensional differentiable manifold M

Out[23]:

The tensor field $\mathcal{F}$ is symmetric:

In [24]:
FF == FF.symmetrize()

Out[24]:

Therefore, from now on, we set

In [25]:
FF = FF.symmetrize()


### Einstein equation¶

Let us first introduce the cosmological constant:

In [26]:
var('Lamb', latex_name=r'\Lambda', domain='real')

Out[26]:

From the action (1), the field equation for the metric $g$ is $$R_{mn} + \frac{\Lambda}{3} \, g - \frac{1}{2}\partial_m\phi \partial_n\phi -\frac{1}{2} e^{\lambda\phi} F_{mp} F^{\ \, p}_n + \frac{1}{12} e^{\lambda\phi} F_{rs} F^{rs} \, g_{mn} = 0$$ We write it as

EE == 0



with EE defined by

In [27]:
EE = Ric + Lamb/3*g - 1/2* (dphi*dphi) - 1/2*exp(lamb*phi)*FF \
+ 1/12*exp(lamb*phi)*F2*g
EE.set_name('E')
print(EE)

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

In [28]:
EE.display_comp(only_nonredundant=True)

Out[28]:

We note that EE==0 leads to only 4 independent equations:

In [29]:
eq0 = EE[0,0]/exp(2*nu*r)
eq0

Out[29]:
In [30]:
eq1 = EE[1,1]/exp(2*nu*r)
eq1

Out[30]:
In [31]:
eq2 = EE[2,2]/exp(2*r)
eq2

Out[31]:
In [32]:
eq3 = EE[4,4]*lamb^2*f(r)
eq3

Out[32]:

### Dilaton field equation¶

First we evaluate $\nabla_m \nabla^m \phi$:

In [33]:
nab = g.connection()
print(nab)

Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 5-dimensional differentiable manifold M

In [34]:
box_phi = nab(nab(phi).up(g)).trace()
print(box_phi)
box_phi.display()

Scalar field on the 5-dimensional differentiable manifold M

Out[34]:

From the action (1), the field equation for $\phi$ is $$\nabla_m \nabla^m \phi = \frac{\lambda}{4} e^{\lambda\phi} F_{mn} F^{mn}$$ We write it as

DE == 0



with DE defined by

In [35]:
DE = box_phi - lamb/4*exp(lamb*phi) * F2
print(DE)
DE.display()

Scalar field on the 5-dimensional differentiable manifold M

Out[35]:

Hence the dilaton field equation provides a fourth equation:

In [36]:
eq4 = DE.coord_function()*lamb
eq4

Out[36]:

### Maxwell equation¶

From the action (1), the field equation for $F$ is $$\nabla_m \left( e^{\lambda\phi} F^{mn} \right)= 0$$ We write it as

ME == 0



with ME defined by

In [37]:
ME = nab(exp(lamb*phi)*Fu).trace(0,2)
print(ME)
ME.display()

Vector field on the 5-dimensional differentiable manifold M

Out[37]:

We get identically zero; indeed the tensor $\nabla_p (e^{\lambda\phi} F^{mn})$ has a vanishing trace, as we can check:

In [38]:
nab(exp(lamb*phi)*Fu).display()

Out[38]:

### Solving the field equations¶

The system to solve is

In [39]:
eqs = [eq0, eq1, eq2, eq3, eq4]
for eq in eqs:
pretty_print(eq, ' = 0')


Let us solve eq1 for $f(r)$:

In [40]:
sol_f = desolve(eq1.expr() == 0, f(r), ivar=r)
sol_f.expand()

Out[40]:

Hence, up to some rescaling the solution is of the type

$$f(r) = 1 - m e^{-(2\nu +2)r},$$

where $m$ is a constant. Hence we declare

In [41]:
var('m', domain='real')
fm(r) = 1 - m*exp(-(2*nu+2)*r)
fm

Out[41]:

and substitute this function for $f(r)$ in all the equations:

In [42]:
eq0m = eq0.expr().substitute_function(f, fm).simplify_full()
eq0m

Out[42]:
In [43]:
eq0m = (eq0m * exp(2*nu*r+2*r)).simplify_full()
eq0m

Out[43]:
In [44]:
eq1m = eq1.expr().substitute_function(f, fm).simplify_full()
eq1m

Out[44]:
In [45]:
eq2m = eq2.expr().substitute_function(f, fm).simplify_full()
eq2m

Out[45]:
In [46]:
eq3m = eq3.expr().substitute_function(f, fm).simplify_full()
eq3m

Out[46]:
In [47]:
eq3m = (eq3m * exp(2*nu*r+2*r)).simplify_full()
eq3m

Out[47]:
In [48]:
eq4m = eq4.expr().substitute_function(f, fm).simplify_full()
eq4m

Out[48]:
In [49]:
eqs = [eq0m, eq1m, eq2m, eq3m, eq4m]


### Solution for $\nu = 2$¶

In [50]:
neqs = [eq.subs(nu=2).simplify_full() for eq in eqs]
[eq == 0 for eq in neqs]

Out[50]:
In [51]:
solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q, m, r)

Out[51]:

In the above solutions, $r_i$, with $i$ an integer, stands for an arbitrary parameter. In particular, we notice that $\mu$ and $q$ are related by $\mu q^2 = 48$ and that the value of $m$ can be chosen arbitrarily.

### Solution for $\nu=4$¶

In [52]:
neqs = [eq.subs(nu=4).simplify_full() for eq in eqs]
[eq == 0 for eq in neqs]

Out[52]:
In [53]:
solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q, m, r)

Out[53]:

As above, $r_i$, with $i$ an integer, stands for an arbitrary parameter. The constants $\mu$ and $q$ are now related by $\mu q^2 = 240$ and the value of $m$ is still arbitrary.

In [ ]: