{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"# Black branes in Lifshitz-like spacetimes"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"This Jupyter/SageMath \n",
"worksheet implements some computations of the article\n",
"- I. Ya. Aref'eva, A. A. Golubtsova & E. Gourgoulhon: *Analytic black branes in \n",
" Lifshitz-like backgrounds and thermalization*,\n",
" [arXiv:1601.06046](http://arxiv.org/abs/1601.06046)\n",
"\n",
"These computations are based on [SageManifolds](http://sagemanifolds.obspm.fr) (v0.9)\n",
"\n",
"The worksheet file (ipynb format) can be downloaded from [here](https://cloud.sagemath.com/projects/3edbca82-97d6-41b3-9b6f-d83ea06fc1e9/files/Lifshitz_black_brane.html).\n",
"\n",
"\n",
"#### Content\n",
"1. **Five-dimensional Lifschitz-like spacetime**\n",
"2. **Black brane solution**\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"First we set up the notebook to display mathematical objects using LaTeX formatting:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"%display latex"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## 1. Five-dimensional Lifshitz-like spacetime\n",
"\n",
"Let us declare the spacetime $M$ as a 5-dimensional manifold:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"M = Manifold(5, 'M')\n",
"print M"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We introduce a first coordinate system on $M$:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 3,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"X0. = M.chart(r't x y1:y_1 y2:y_2 R:\\tilde{r}:(0,+oo)')\n",
"X0"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Let us consider the following Lifshitz-symmetric metric, parametrized by some real number $\\nu$:"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 4,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g = M.lorentzian_metric('g')\n",
"var('nu', latex_name=r'\\nu', domain='real')\n",
"g[0,0] = -R^(2*nu)\n",
"g[1,1] = R^(2*nu)\n",
"g[2,2] = R^2\n",
"g[3,3] = R^2\n",
"g[4,4] = 1/R^2\n",
"g.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"A matrix view of the metric components:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 5,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[:]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"This metric is invariant under the *Lifshitz scaling*\n",
"$$ (t,x,y_1,y_2,\\tilde r) \\longmapsto \\left(\\lambda^\\nu t, \\lambda^\\nu x, \\lambda y_1, \\lambda y_2, \\frac{\\tilde r}{\\lambda} \\right)$$\n",
"- If $\\nu=1$ the scaling is isotropic and we recognize the metric \n",
" of $\\mathrm{AdS}_5$ in Poincaré coordinates ($M$ is then the Poincaré patch of $\\mathrm{AdS}_5$)\n",
"- If $\\nu\\not=1$, the scaling is anisotropic"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Let us introduce a second coordinate system on $M$:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 6,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"X. = M.chart('t x y1:y_1 y2:y_2 r')\n",
"X"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"and relate it to the previous one by the transformation $r=\\ln\\tilde r$:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 7,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"X0_to_X = X0.transition_map(X, [t, x, y1, y2, ln(R)])\n",
"X0_to_X.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The inverse coordinate transition is computed by means of the method `inverse()`:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 8,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"X_to_X0 = X0_to_X.inverse()\n",
"X_to_X0.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"At this stage, the manifold's atlas defined by the user is"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 9,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"M.atlas()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"and the list of defined vector frames defined is"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 10,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"M.frames()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The expression of the metric in terms of the new coordinates is"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 11,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g.display(X.frame(), X)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"or, in matrix view:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 12,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[X.frame(),:,X]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"To access to a particular component, we have to specify (i) the frame w.r.t. which it is defined and (ii) the coordinates in which the component is expressed:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 13,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[X.frame(),0,0,X]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 14,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[X.frame(),0,0] # the default chart is used"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"From now on, let us consider the coordinates $X = (t,x,y_1,y_2,r)$ as the default ones on the manifold $M$:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"M.set_default_chart(X)\n",
"M.set_default_frame(X.frame())"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Then"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 16,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g.display()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 17,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[:]"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 18,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g[0,0]"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 19,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g.display_comp()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Curvature\n",
"\n",
"The Riemann tensor is"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field Riem(g) of type (1,3) on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"Riem = g.riemann()\n",
"print Riem"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 21,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Riem.display_comp(only_nonredundant=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The Ricci tensor:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Field of symmetric bilinear forms Ric(g) on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"Ric = g.ricci()\n",
"print Ric"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 23,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Ric.display()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 24,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Ric.display_comp()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The Ricci scalar:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field r(g) on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"Rscal = g.ricci_scalar()\n",
"print Rscal"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 26,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Rscal.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We note that the Ricci scalar is constant."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Source model\n",
"Let us consider a model based on the following action, involving a dilaton scalar field $\\phi$ and a Maxwell 2-form $F$:\n",
"\n",
"$$ 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)}$$\n",
"\n",
"where $R(g)$ is the Ricci scalar of metric $g$, $\\Lambda$ is the cosmological constant and $\\lambda$ is the dilatonic coupling constant."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### The dilaton scalar field\n",
"\n",
"We consider the following ansatz for the dilaton scalar field $\\phi$:\n",
"$$ \\phi = \\frac{1}{\\lambda} \\left( 4 r + \\ln\\mu \\right),$$\n",
"where $\\mu$ is a constant. "
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 27,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"var('mu', latex_name=r'\\mu', domain='real')\n",
"var('lamb', latex_name=r'\\lambda', domain='real')\n",
"phi = M.scalar_field({X: (4*r + ln(mu))/lamb}, \n",
" name='phi', latex_name=r'\\phi')\n",
"phi.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The 1-form $\\mathrm{d}\\phi$ is"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1-form dphi on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"dphi = phi.differential()\n",
"print dphi"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 29,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"dphi.display()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 30,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"dphi[:] # all the components in the default frame"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### The 2-form field\n",
"\n",
"We consider the following ansatz for $F$:\n",
"$$ F = \\frac{1}{2} q \\, \\mathrm{d}y_1\\wedge \\mathrm{d}y_2, $$\n",
"where $q$ is a constant. \n",
"\n",
"Let us first get the 1-forms $\\mathrm{d}y_1$ and $\\mathrm{d}y_2$:"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 31,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"X.coframe()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1-form dy1 on the 5-dimensional differentiable manifold M\n",
"1-form dy2 on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 32,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"dy1 = X.coframe()[2]\n",
"dy2 = X.coframe()[3]\n",
"print dy1\n",
"print dy2\n",
"dy1, dy2"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Then we can form $F$ according to the above ansatz:"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2-form F on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 33,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"var('q', domain='real')\n",
"F = q/2 * dy1.wedge(dy2)\n",
"F.set_name('F')\n",
"print F\n",
"F.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"By construction, the 2-form $F$ is closed (since $q$ is constant):"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3-form dF on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"print(F.exterior_derivative())"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 35,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"F.exterior_derivative().display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Let us evaluate the square $F_{mn} F^{mn}$ of $F$:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field of type (2,0) on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 36,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Fu = F.up(g)\n",
"print Fu\n",
"Fu.display()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 37,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"F2 = F['_{mn}']*Fu['^{mn}'] # using LaTeX notations to denote contraction\n",
"print F2\n",
"F2.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We shall also need the tensor $\\mathcal{F}_{mn} := F_{mp} F_n^{\\ \\, p}$:"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field of type (0,2) on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 38,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"FF = F['_mp'] * F.up(g,1)['^p_n']\n",
"print FF\n",
"FF.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The tensor field $\\mathcal{F}$ is symmetric:"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 39,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"FF == FF.symmetrize()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Therefore, from now on, we set"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"FF = FF.symmetrize()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Einstein equation\n",
"\n",
"Let us first introduce the cosmological constant:"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 41,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"var('Lamb', latex_name=r'\\Lambda', domain='real')"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"From the action (1), the field equation for the metric $g$ is\n",
"$$ 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 $$\n",
"We write it as\n",
"\n",
" EE == 0\n",
"\n",
"with `EE` defined by"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Field of symmetric bilinear forms E on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"EE = Ric + Lamb/3*g - 1/2* (dphi*dphi) - 1/2*exp(lamb*phi)*FF \\\n",
" + 1/12*exp(lamb*phi)*F2*g\n",
"EE.set_name('E')\n",
"print EE"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 43,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"EE.display_comp(only_nonredundant=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We note that `EE==0` leads to only 3 independent equations:"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 44,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq1 = (EE[0,0]/exp(2*nu*r)).expr()\n",
"eq1"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 45,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq2 = (EE[2,2]/exp(2*r)).expr()\n",
"eq2"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 46,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq3 = EE[4,4].expr().expand()\n",
"eq3"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Dilaton field equation\n",
"\n",
"First we evaluate $\\nabla_m \\nabla^m \\phi$:"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 47,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"nab = g.connection()\n",
"print nab\n",
"nab"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 48,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"box_phi = nab(nab(phi).up(g)).trace()\n",
"print box_phi\n",
"box_phi.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"From the action (1), the field equation for $\\phi$ is \n",
"$$ \\nabla_m \\nabla^m \\phi = \\frac{\\lambda}{4} e^{\\lambda\\phi} F_{mn} F^{mn}$$\n",
"We write it as\n",
"\n",
" DE == 0\n",
" \n",
"with `DE` defined by"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"DE = box_phi - lamb/4*exp(lamb*phi) * F2\n",
"print DE"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 50,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"DE.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Hence the dilaton field equation provides a fourth equation:"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 51,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq4 = DE.expr().expand()\n",
"eq4"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Maxwell equation\n",
"\n",
"From the action (1), the field equation for $F$ is \n",
"$$ \\nabla_m \\left( e^{\\lambda\\phi} F^{mn} \\right)= 0 $$\n",
"We write it as\n",
"\n",
" ME == 0\n",
" \n",
"with `ME` defined by"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Vector field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 52,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"ME = nab(exp(lamb*phi)*Fu).trace(0,2)\n",
"print ME\n",
"ME.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We get identically zero; indeed the tensor $\\nabla_p (e^{\\lambda\\phi} F^{mn})$ has a vanishing trace, as we can check:"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 53,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"nab(exp(lamb*phi)*Fu).display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Summary\n",
"\n",
"We have 4 equations involving the constants $\\lambda$, $\\mu$, $\\nu$, $q$ and $\\Lambda$:"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 54,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq1 == 0"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 55,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq2 == 0"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 56,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq3 == 0"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 57,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq4 == 0"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Solution for $\\nu=1$ ($\\mathrm{AdS}_5$)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"eqs = [eq1, eq2, eq3, eq4]\n",
"neqs = [eq.subs(nu=1) for eq in eqs]"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 59,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"[eq == 0 for eq in neqs]"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 60,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Hence there is no solution for $\\mathrm{AdS}_5$ with the above ansatz. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Solution for $\\nu = 2$"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 61,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"neqs = [eq.subs(nu=2) for eq in eqs]\n",
"[eq == 0 for eq in neqs]"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 62,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Hence there are two families of solutions, each famility being parametrized by e.g. $q$. \n",
"Indeed, in the above writing, $r_1$ and $r_2$ stand for arbitrary parameters (nothing to do with the coordinate $r$)."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Solution for $\\nu = 4$"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 63,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"neqs = [eq.subs(nu=4) for eq in eqs]\n",
"[eq == 0 for eq in neqs]"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 64,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Hence there are two families of solutions, each family being parametrized by e.g. $q$. Note that, as above, $r_i$, with $i$ an integer, stands for an arbitrary parameter (nothing to do with the coordinate $r$)."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## 2. Black brane solution\n",
"\n",
"We add a blackening factor $f(r)$ to the metric; i.e. we declare a new metric $g$ according to "
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 65,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"g = M.lorentzian_metric('g')\n",
"ff = function('f')(r)\n",
"g[0,0] = -ff*exp(2*nu*r)\n",
"g[1,1] = exp(2*nu*r)\n",
"g[2,2] = exp(2*r)\n",
"g[3,3] = exp(2*r)\n",
"g[4,4] = 1/ff\n",
"g.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The Ricci tensor of $g$ is"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Field of symmetric bilinear forms Ric(g) on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"Ric = g.ricci()\n",
"print Ric"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 67,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Ric.display_comp()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"By construction, the 2-form $F$ does not depend on $g$; hence there is no need to reevaluate it:"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 68,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"F.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"On the contrary, we need to reevaluate its metric dual, in order to compute $F^2 := F_{mn} F^{mn}$:"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field of type (2,0) on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 69,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"Fu = F.up(g)\n",
"print Fu\n",
"Fu.display()"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 70,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"F2 = F['_{mn}']*Fu['^{mn}'] # using LaTeX notations to denote contraction\n",
"print F2\n",
"F2.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Simlarly, we need to reevaluate $\\mathcal{F}_{mn} := F_{mp} F_n^{\\ \\, p}$:"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field of type (0,2) on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 71,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"FF = F['_mp'] * F.up(g,1)['^p_n']\n",
"print FF\n",
"FF.display()"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 72,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"FF == FF.symmetrize()"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"FF = FF.symmetrize()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The new Einstein equation is"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Field of symmetric bilinear forms E on the 5-dimensional differentiable manifold M\n"
]
}
],
"source": [
"EE = Ric + Lamb/3*g - 1/2* (dphi*dphi) - 1/2*exp(lamb*phi)*FF \\\n",
" + 1/12*exp(lamb*phi)*F2*g\n",
"EE.set_name('E')\n",
"print EE"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 75,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"EE.display_comp(only_nonredundant=True)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 76,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"EE[2,2] == EE[3,3]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"There are 4 independent components:"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 77,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq0 = EE[0,0]/exp(2*nu*r)\n",
"eq0"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 78,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq1 = EE[1,1]/exp(2*nu*r)\n",
"eq1"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 79,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq2 = EE[2,2]/exp(2*r)\n",
"eq2"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 80,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq3 = EE[4,4]*lamb^2*f(r)\n",
"eq3"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The dilaton field equation becomes"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 81,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"nab = g.connection()\n",
"box_phi = nab(nab(phi).up(g)).trace()\n",
"print box_phi\n",
"box_phi.display()"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 82,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"DE = box_phi - lamb/4*exp(lamb*phi) * F2\n",
"DE.display()"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 83,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq4 = DE.coord_function()*lamb\n",
"eq4"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The Maxwell equation is still identically satisfied:"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Vector field on the 5-dimensional differentiable manifold M\n"
]
},
{
"data": {
"text/html": [
""
]
},
"execution_count": 84,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"ME = nab(exp(lamb*phi)*Fu).trace(0,2)\n",
"print ME\n",
"ME.display()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### The solution\n",
"\n",
"The Einstein equation + the dilaton field equation yields a system of 5 equations (eq0, eq1, eq2, eq3, eq4). \n",
"\n",
"Let us show that a solution is obtained for $\\nu=2$ and $\\nu=4$ with the following specific form of the blackening function:\n",
"\n",
"$$ f(r) = 1 - m e^{-(2\\nu +2)r}, $$\n",
"\n",
"where $m$ is a constant. \n",
"\n",
"To this aim, we declare"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 85,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"var('m', domain='real')\n",
"fm(r) = 1 - m*exp(-(2*nu+2)*r)\n",
"fm"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"and substitute this function for $f(r)$ in all the equations:"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 86,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq0m = eq0.expr().substitute_function(f, fm).simplify_full()\n",
"eq0m"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 87,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq0m = (eq0m * exp(2*nu*r+2*r)).simplify_full()\n",
"eq0m"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 88,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq1m = eq1.expr().substitute_function(f, fm).simplify_full()\n",
"eq1m"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 89,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq2m = eq2.expr().substitute_function(f, fm).simplify_full()\n",
"eq2m"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 90,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq3m = eq3.expr().substitute_function(f, fm).simplify_full()\n",
"eq3m"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 91,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq3m = (eq3m * exp(2*nu*r+2*r)).simplify_full()\n",
"eq3m"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 92,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"eq4m = eq4.expr().substitute_function(f, fm).simplify_full()\n",
"eq4m"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"eqs = [eq0m, eq1m, eq2m, eq3m, eq4m]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Solution for $\\nu = 2$"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 94,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"neqs = [eq.subs(nu=2).simplify_full() for eq in eqs]\n",
"[eq == 0 for eq in neqs]"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 95,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q, m, r)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"In the above solutions, $r_i$, with $i$ an integer, stands for an arbitrary parameter. \n",
"We recover the same solution for $\\lambda$, $\\Lambda$ and $\\mu q^2$ as in Sec. 1 (i.e. without any black brane). The value of $m$ can be chosen arbitraly. The solution of Sec. 1 corresponds to $m=0$. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### Solution for $\\nu=4$"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 96,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"neqs = [eq.subs(nu=4).simplify_full() for eq in eqs]\n",
"[eq == 0 for eq in neqs]"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
]
},
"execution_count": 97,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"solve([eq == 0 for eq in neqs], lamb, mu, Lamb, q, m, r)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"In the above solutions, $r_i$, with $i$ an integer, stands for an arbitrary parameter. \n",
"We recover the same solution for $\\lambda$, $\\Lambda$ and $\\mu q^2$ as in Sec. 1 (i.e. without any black brane). The value of $m$ can be chosen arbitraly. The solution of Sec. 1 corresponds to $m=0$. "
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath (stable)",
"language": "sagemath",
"metadata": {
"cocalc": {
"description": "Open-source mathematical software system",
"priority": 10,
"url": "https://www.sagemath.org/"
}
},
"name": "sagemath"
},
"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.15"
},
"name": "Lifshitz_black_brane.ipynb"
},
"nbformat": 4,
"nbformat_minor": 0
}