{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "%display latex\n", "Parallelism().set(nproc=8)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "This notebook was written under the supervision of Éric Gourgoulhon (LUTH) as part of my physics internship in July 2023.\n", "\n", "**Author** : Nicolas Seroux\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Gravitation en $2+1$ dimensions et trou noir BTZ\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Espace\\-temps anti\\-de Sitter\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Définitions préliminaires\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On commence par définir l'espace temps anti\\-de Sitter à trois dimensions comme une sous variété $\\mathbb{R}^{2,2}$.\n", "\n", "On distinguera l'espace-temps $\\mathrm{AdS}_{2+1}\\approx\\mathrm{SL}_2(\\mathbb{R})\\approx\\mathbb{S}^1\\times\\mathbb{R}^2$ de son recouvrement universel $\\widetilde{\\mathrm{Ads}}_{2+1}\\approx\\mathbb{R}^3$.\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "AdS = Manifold(3, 'AdS', latex_name=r'\\mathrm{AdS}_{2+1}', structure='Lorentzian')\n", "UAdS = Manifold(3, 'UAdS', latex_name=r'\\widetilde{\\mathrm{AdS}}_{2+1}', structure='Lorentzian')" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Les symétries des espaces anti-de Sitter permettent de considérer des coordonnées de type sphérique :" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "X_AdS. = AdS.chart(r't r:(0,+oo) ph:(-pi,pi):\\varphi:periodic')\n", "X_UAdS. = UAdS.chart(r't r:(0,+oo) ph:\\varphi')" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On introduit l'espace vectoriel $\\mathbb{R}^{2,2}$ comme une variété pseudo\\-riemannienne munie de coordonnées cartésiennes et sphériques :\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "R22 = Manifold(4, 'R22', r'\\mathbb{R}^{2,2}', structure='pseudo-Riemannian', signature=0, metric_name='eta', metric_latex_name=r'\\eta')\n", "\n", "X_Cart. = R22.chart()\n", "F_Cart = X_Cart.frame()\n", "\n", "X_Sph. = R22.chart(r'u v r:(0,+oo) ph:(-pi,pi):\\varphi:periodic')\n", "F_Sph = X_Sph.frame()\n", "\n", "trans_Sph_to_Cart = X_Sph.transition_map(X_Cart, [u, v, r*cos(ph),r*sin(ph)], restrictions2=(x^2+y^2!=0))\n", "trans_Sph_to_Cart.set_inverse(u, v, sqrt(x^2+y^2),2*arctan(y/(sqrt(x^2+y^2)+x)), check=False)\n", "\n", "trans_Cart_to_Sph = trans_Sph_to_Cart.inverse()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "La métrique $\\eta$ sur $\\mathbb{R}^{2,2}$ est plate :\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\eta = -\\mathrm{d} u\\otimes \\mathrm{d} u-\\mathrm{d} v\\otimes \\mathrm{d} v+\\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle \\eta = -\\mathrm{d} u\\otimes \\mathrm{d} u-\\mathrm{d} v\\otimes \\mathrm{d} v+\\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "eta = -du⊗du - dv⊗dv + dr⊗dr + r^2 dph⊗dph" ] }, "execution_count": 6, "metadata": { }, "output_type": "execute_result" } ], "source": [ "eta = R22.metric()\n", "\n", "eta[0,0], eta[1,1], eta[2,2], eta[3,3] = -1, -1, 1, 1\n", "\n", "eta.display(X_Sph)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Plongement de $\\mathrm{AdS}_{2+1}$ dans $\\mathbb{R}^{2,2}$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "L'espace $\\mathrm{AdS}_{2+1}$ se plonge dans $\\mathbb{R}^{2,2}$ sur la sous\\-variété $\\{(u,v,x,y)\\in\\mathbb{R}^{2,2}\\,|\\,-u^2-v^2+x^2+y^2=-\\ell^2\\}$, i.e. $\\{\\mathbf{X}\\in\\mathbb{R}^{2,2}\\,|\\,\\eta(\\mathbf{X},\\mathbf{X})=-\\ell^2\\}$, où $\\ell$ est un paramètre qui donne la courbure de $\\mathrm{AdS}_{2+1}$.\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "l = var('l', latex_name=r'\\ell')\n", "assume(l>0)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Le plongement est fourni par l'application $\\Phi$ :\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{llcl} \\Phi:& \\mathrm{AdS}_{2+1} & \\longrightarrow & \\mathbb{R}^{2,2} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, x, y\\right) = \\left(\\sqrt{{\\ell}^{2} + r^{2}} \\cos\\left(\\frac{t}{{\\ell}}\\right), \\sqrt{{\\ell}^{2} + r^{2}} \\sin\\left(\\frac{t}{{\\ell}}\\right), r \\cos\\left({\\varphi}\\right), r \\sin\\left({\\varphi}\\right)\\right) \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, r, {\\varphi}\\right) = \\left(\\sqrt{{\\ell}^{2} + r^{2}} \\cos\\left(\\frac{t}{{\\ell}}\\right), \\sqrt{{\\ell}^{2} + r^{2}} \\sin\\left(\\frac{t}{{\\ell}}\\right), r, {\\varphi}\\right) \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{llcl} \\Phi:& \\mathrm{AdS}_{2+1} & \\longrightarrow & \\mathbb{R}^{2,2} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, x, y\\right) = \\left(\\sqrt{{\\ell}^{2} + r^{2}} \\cos\\left(\\frac{t}{{\\ell}}\\right), \\sqrt{{\\ell}^{2} + r^{2}} \\sin\\left(\\frac{t}{{\\ell}}\\right), r \\cos\\left({\\varphi}\\right), r \\sin\\left({\\varphi}\\right)\\right) \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, r, {\\varphi}\\right) = \\left(\\sqrt{{\\ell}^{2} + r^{2}} \\cos\\left(\\frac{t}{{\\ell}}\\right), \\sqrt{{\\ell}^{2} + r^{2}} \\sin\\left(\\frac{t}{{\\ell}}\\right), r, {\\varphi}\\right) \\end{array}$" ], "text/plain": [ "Phi: AdS → R22\n", " (t, r, ph) ↦ (u, v, x, y) = (sqrt(l^2 + r^2)*cos(t/l), sqrt(l^2 + r^2)*sin(t/l), r*cos(ph), r*sin(ph))\n", " (t, r, ph) ↦ (u, v, r, ph) = (sqrt(l^2 + r^2)*cos(t/l), sqrt(l^2 + r^2)*sin(t/l), r, ph)" ] }, "execution_count": 8, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Phi = AdS.diff_map(R22, {(X_AdS, X_Sph) : [sqrt(r^2+l^2)*cos(t/l), sqrt(r^2+l^2)*sin(t/l), r, ph]},name='Phi', latex_name=r'\\Phi')\n", "Phi.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On identifie $\\mathrm{AdS}_{2+1}$ à l'image de $\\Phi$ dans $\\mathbb{R}^{2,2}$. On affiche ici la section de $\\Phi(\\mathrm{AdS}_{2+1})$ dans le plan $y=0$, qui correspond à l'image des points $\\varphi=0$ et $\\varphi=\\pi$. \n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": "\n\n", "text/plain": [ "Graphics3d Object" ] }, "execution_count": 9, "metadata": { }, "output_type": "execute_result" } ], "source": [ "graph_hyp = X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:0}, \n", " ranges={t:(-pi,pi), r:(0,2)}, number_values=9, \n", " color={t:'grey', r:'grey'}, thickness=1, parameters={l:1}, \n", " label_axes=False)\n", "\n", "graph_hyp += X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:pi}, \n", " ranges={t:(-pi,pi), r:(0,2)}, number_values=9, \n", " color={t:'grey', r:'grey'}, thickness=1, parameters={l:1}, \n", " label_axes=False)\n", "\n", "Phi_u_0, Phi_u_pi = Phi.coord_functions()[0](t,r,0).subs({l:1}), Phi.coord_functions()[0](t,r,pi).subs({l:1})\n", "Phi_v_0, Phi_v_pi = Phi.coord_functions()[1](t,r,0).subs({l:1}), Phi.coord_functions()[1](t,r,pi).subs({l:1})\n", "Phi_x_0, Phi_x_pi = Phi.coord_functions()[2](t,r,0).subs({l:1}), Phi.coord_functions()[2](t,r,pi).subs({l:1})\n", "\n", "hyperboloid = parametric_plot3d([Phi_x_0, Phi_u_0, Phi_v_0], (t,-pi,pi), (r,0,2), color=(.8,.8,0.9))\n", "hyperboloid += parametric_plot3d([Phi_x_pi, Phi_u_pi, Phi_v_pi], (t,-pi,pi), (r,0,2), color=(.8,.8,0.9))\n", "\n", "graph_hyp += hyperboloid\n", "\n", "show(graph_hyp, aspect_ratio=1, axes_labels=['x','u','v'])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "La métrique sur $\\mathrm{AdS}_{2+1}$ est alors donnée par tiré\\-en\\-arrière selon $\\Phi$ de la métrique plate $\\eta$ :\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle g_\\mathrm{AdS} = \\left( -\\frac{{\\ell}^{2} + r^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( \\frac{{\\ell}^{2}}{{\\ell}^{2} + r^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle g_\\mathrm{AdS} = \\left( -\\frac{{\\ell}^{2} + r^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( \\frac{{\\ell}^{2}}{{\\ell}^{2} + r^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "g_{AdS} = -(l^2 + r^2)/l^2 dt⊗dt + l^2/(l^2 + r^2) dr⊗dr + r^2 dph⊗dph" ] }, "execution_count": 10, "metadata": { }, "output_type": "execute_result" } ], "source": [ "gAdS = AdS.metric(name = 'g_{AdS}', latex_name=r'g_\\mathrm{AdS}')\n", "gAdS.set(Phi.pullback(eta))\n", "gAdS.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Recouvrement universel de $\\mathrm{AdS}_{2+1}$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Le recouvrement universel $\\widetilde{\\mathrm{AdS}}_{2+1}$ de $\\mathrm{AdS}_{2+1}$ est obtenu en _déroulant_ la coordonnée $\\varphi$. On note $\\pi$ la projection de $\\widetilde{\\mathrm{AdS}}_{2+1}$ sur $\\mathrm{AdS}_{2+1}$ :\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{llcl} \\pi:& \\widetilde{\\mathrm{AdS}}_{2+1} & \\longrightarrow & \\mathrm{AdS}_{2+1} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(t, r, {\\varphi}\\right) = \\left(t, r, {\\varphi}\\right) \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{llcl} \\pi:& \\widetilde{\\mathrm{AdS}}_{2+1} & \\longrightarrow & \\mathrm{AdS}_{2+1} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(t, r, {\\varphi}\\right) = \\left(t, r, {\\varphi}\\right) \\end{array}$" ], "text/plain": [ "pi: UAdS → AdS\n", " (t, r, ph) ↦ (t, r, ph) = (t, r, ph)" ] }, "execution_count": 11, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Pi = UAdS.diff_map(AdS, [t,r,ph],name='pi', latex_name=r'\\pi')\n", "Pi.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On obtient alors une métrique sur $\\widetilde{\\mathrm{AdS}}_{2+1}$ :\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle g_{\\widetilde{\\mathrm{AdS}}} = \\left( -\\frac{{\\ell}^{2} + r^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( \\frac{{\\ell}^{2}}{{\\ell}^{2} + r^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle g_{\\widetilde{\\mathrm{AdS}}} = \\left( -\\frac{{\\ell}^{2} + r^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( \\frac{{\\ell}^{2}}{{\\ell}^{2} + r^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "g_{UAdS} = -(l^2 + r^2)/l^2 dt⊗dt + l^2/(l^2 + r^2) dr⊗dr + r^2 dph⊗dph" ] }, "execution_count": 12, "metadata": { }, "output_type": "execute_result" } ], "source": [ "gUAdS = UAdS.metric(name = 'g_{UAdS}', latex_name=r'g_{\\widetilde{\\mathrm{AdS}}}')\n", "\n", "gUAdS.set(Pi.pullback(gAdS))\n", "\n", "gUAdS.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Trou noir BTZ\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Écriture de la métrique\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Le trou noir BTZ est une solution des équations d'Einstein en dimension trois. On introduit donc $\\mathscr{M}_{\\mathrm{BTZ}}$ une variété lorentzienne à trois dimensions :\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\mathscr{M}_\\mathrm{BTZ}\\)" ], "text/latex": [ "$\\displaystyle \\mathscr{M}_\\mathrm{BTZ}$" ], "text/plain": [ "3-dimensional Lorentzian manifold M_{BTZ}" ] }, "execution_count": 13, "metadata": { }, "output_type": "execute_result" } ], "source": [ "M = Manifold(3, 'M_{BTZ}', latex_name = r'\\mathscr{M}_\\mathrm{BTZ}', structure = 'Lorentzian')\n", "M" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "La famille de solutions est paramétrée par les rayons $r_+$ et $r_-$ des horizons, grâce auxquels on peut facilement exprimer la masse $m$ et le moment cinétique $J$. La fonction $\\alpha(r)$ est un paramètre utile pour la suite.\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "rp = var('rp', latex_name=r'r_+')\n", "rm = var('rm', latex_name=r'r_-')\n", "\n", "assume(l>0)\n", "assume(rp>0)\n", "assume(rm>0)\n", "assume(rm = M.chart(r't r:(0,+oo) ph:(0,2*pi):\\varphi:periodic')\n", "F_Sph=X_Sph.frame()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "La métrique de $\\mathscr{M}_\\mathrm{BTZ}$ s'exprime alors :\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle g = \\left( -\\frac{r^{2}}{{\\ell}^{2}} + \\frac{{r_-}^{2} + {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{1}{\\frac{r^{2}}{{\\ell}^{2}} + \\frac{{r_-}^{2} {r_+}^{2}}{{\\ell}^{2} r^{2}} - \\frac{{r_-}^{2} + {r_+}^{2}}{{\\ell}^{2}}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle g = \\left( -\\frac{r^{2}}{{\\ell}^{2}} + \\frac{{r_-}^{2} + {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{1}{\\frac{r^{2}}{{\\ell}^{2}} + \\frac{{r_-}^{2} {r_+}^{2}}{{\\ell}^{2} r^{2}} - \\frac{{r_-}^{2} + {r_+}^{2}}{{\\ell}^{2}}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "g = (-r^2/l^2 + (rm^2 + rp^2)/l^2) dt⊗dt - rm*rp/l dt⊗dph + 1/(r^2/l^2 + rm^2*rp^2/(l^2*r^2) - (rm^2 + rp^2)/l^2) dr⊗dr - rm*rp/l dph⊗dt + r^2 dph⊗dph" ] }, "execution_count": 16, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g = M.metric(name='g', latex_name=r'g')\n", "\n", "g[0,0] = m-r^2/l^2\n", "g[1,1] = 1/(-m+r^2/l^2+J^2/(4*r^2))\n", "g[2,2] = r^2\n", "g[0,2] = -J/2\n", "\n", "g.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Solution des équations d'Einstein\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Les tenseurs de courbure associés à la métrique $g$ sont aisément calulés : \n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "Rc = g.ricci()\n", "R = g.ricci_scalar()\n", "G = Rc-(1/2)*R*g\n", "G.set_name('G')" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Le calcul du tenseur de Riemann serait superflu, car en dimension $2+1$, toute l'information du tenseur de Riemann est contenue dans le tenseur de Ricci. En d'autres termes, le tenseur de Weyl est identiquement nul :\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\mathrm{C}\\left(g\\right) = 0\\)" ], "text/latex": [ "$\\displaystyle \\mathrm{C}\\left(g\\right) = 0$" ], "text/plain": [ "C(g) = 0" ] }, "execution_count": 18, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g.weyl().display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On reconnaît la forme de la métrique dans l'expression du tenseur d'Einstein :\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle G = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{4}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}^{3}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}^{3}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + \\frac{r^{2}}{{\\ell}^{2}} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle G = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{4}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}^{3}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}^{3}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + \\frac{r^{2}}{{\\ell}^{2}} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "G = -(r^2 - rm^2 - rp^2)/l^4 dt⊗dt - rm*rp/l^3 dt⊗dph + r^2/(r^4 - r^2*rm^2 - (r^2 - rm^2)*rp^2) dr⊗dr - rm*rp/l^3 dph⊗dt + r^2/l^2 dph⊗dph" ] }, "execution_count": 19, "metadata": { }, "output_type": "execute_result" } ], "source": [ "G.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "En fait, le tenseur d'Einstein est proportionnel à la métrique $g$ : \n", "$$G_{\\mu\\nu}-\\frac{1}{\\ell^2}g_{\\mu\\nu}=0,$$" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\mathrm{True}\\)" ], "text/latex": [ "$\\displaystyle \\mathrm{True}$" ], "text/plain": [ "True" ] }, "execution_count": 20, "metadata": { }, "output_type": "execute_result" } ], "source": [ "G - (g)/l^2 == 0" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "ce qui signifie que $(\\mathscr{M}_{\\mathrm{BTZ}}, g)$ est une solution des équations d'Einstein dans le vide avec une constante cosmologique $\\Lambda=-\\frac{1}{\\ell^2}$. \n", "\n", "De manière équivalente, on peut dire que le couple $(\\mathscr{M}_{\\mathrm{BTZ}}, g)$ forme une _variété d'Einstein_, ce qui signifie que son tenseur de Ricci est proportionnel à la métrique $g$. On a plus précisment :\n", "\n", "$$R_{\\mu\\nu}=2\\Lambda g_{\\mu\\nu}=-\\frac{2}{\\ell^2}g_{\\mu\\nu}.$$\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\mathrm{True}\\)" ], "text/latex": [ "$\\displaystyle \\mathrm{True}$" ], "text/plain": [ "True" ] }, "execution_count": 21, "metadata": { }, "output_type": "execute_result" } ], "source": [ "Rc == -2*g/l^2" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Construction géométrique de $\\mathscr{M}_\\mathrm{BTZ}$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Comme toute solution des équations d'Einstein dans le vide en dimension $2+1$, $\\mathscr{M}_\\mathrm{BTZ}$ est un espace à courbure constante :\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{llcl} \\mathrm{r}\\left(g\\right):& \\mathscr{M}_\\mathrm{BTZ} & \\longrightarrow & \\mathbb{R} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & -\\frac{6}{{\\ell}^{2}} \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{llcl} \\mathrm{r}\\left(g\\right):& \\mathscr{M}_\\mathrm{BTZ} & \\longrightarrow & \\mathbb{R} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & -\\frac{6}{{\\ell}^{2}} \\end{array}$" ], "text/plain": [ "r(g): M_{BTZ} → ℝ\n", " (t, r, ph) ↦ -6/l^2" ] }, "execution_count": 22, "metadata": { }, "output_type": "execute_result" } ], "source": [ "R.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Cela implique que $\\mathscr{M}_\\mathrm{BTZ}$ est localement isométrique à $\\mathrm{AdS}_{2+1}$. Nous allons exhiber $\\mathscr{M}_\\mathrm{BTZ}$ comme un quotient de $\\widetilde{\\mathrm{AdS}}_{2+1}$ par l'action proprement discontinue d'un sous\\-groupe discret de son groupe d'isométries.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Comme souvent pour étudier un trou noir, il est commode de découper l'espaces en régions séparées par les horizons \\(e.g. Schwarzschild, Reissner\\-Nordström, Kerr, etc. \\). On introduit donc les parties $\\mathcal{R}_\\mathrm{I}$, $\\mathcal{R}_\\mathrm{II}$ et $\\mathcal{R}_{\\mathrm{III}}$ dans $\\widetilde{\\mathrm{AdS}}_{2+1}$ et $\\mathscr{M}_\\mathrm{BTZ}$ selon que $r_+rp})\n", "regII_UAdS = UAdS.open_subset('R_{IIUAdS}', latex_name=r'\\mathcal{R}_\\mathrm{II}^{(\\widetilde{\\mathrm{AdS}})}', coord_def={X_UAdS : rmrp})\n", "regII_BTZ = M.open_subset('R_{IIBTZ}', latex_name=r'\\mathcal{R}_\\mathrm{II}^{(\\mathrm{BTZ})}', coord_def={X_Sph_BTZ : rm\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n
ⓘ\n
\n
\n
Save as PNG
\n
Save as HTML
\n
Get camera
\n
Get viewpoint
\n
Close Menu
\n
\n\n\n\n\n\"\n width=\"100%\"\n height=\"400\"\n style=\"border: 0;\">\n\n", "text/plain": [ "Graphics3d Object" ] }, "execution_count": 25, "metadata": { }, "output_type": "execute_result" } ], "source": [ "graph_hyp_2 = X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:0}, \n", " ranges={t:(-pi,pi), r:(0,2)}, number_values=9, \n", " color={t:'grey', r:'grey'}, thickness=1, parameters={l:1}, \n", " label_axes=False)\n", "\n", "graph_hyp_2 += X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:pi}, \n", " ranges={t:(-pi,pi), r:(0,2)}, number_values=9, \n", " color={t:'grey', r:'grey'}, thickness=2, parameters={l:1}, \n", " label_axes=False)\n", "\n", "Phi_u_0, Phi_u_pi = Phi.coord_functions()[0](t,r,0).subs({l:1}), Phi.coord_functions()[0](t,r,pi).subs({l:1})\n", "Phi_v_0, Phi_v_pi = Phi.coord_functions()[1](t,r,0).subs({l:1}), Phi.coord_functions()[1](t,r,pi).subs({l:1})\n", "Phi_x_0, Phi_x_pi = Phi.coord_functions()[2](t,r,0).subs({l:1}), Phi.coord_functions()[2](t,r,pi).subs({l:1})\n", "\n", "hyperboloid_2 = parametric_plot3d([Phi_x_0, Phi_u_0, Phi_v_0], (t,-pi,pi), (r,0,.5), color=(.2,.2,.2))\n", "hyperboloid_2 += parametric_plot3d([Phi_x_pi, Phi_u_pi, Phi_v_pi], (t,-pi,pi), (r,0,.5), color=(.2,.2,.2))\n", "hyperboloid_2 += parametric_plot3d([Phi_x_0, Phi_u_0, Phi_v_0], (t,-pi,pi), (r,.5,1), color=(.2,.2,0.5))\n", "hyperboloid_2 += parametric_plot3d([Phi_x_pi, Phi_u_pi, Phi_v_pi], (t,-pi,pi), (r,.5,1), color=(.2,.2,.5))\n", "hyperboloid_2 += parametric_plot3d([Phi_x_0, Phi_u_0, Phi_v_0], (t,-pi,pi), (r,1,2), color=(.8,.8,0.9))\n", "hyperboloid_2 += parametric_plot3d([Phi_x_pi, Phi_u_pi, Phi_v_pi], (t,-pi,pi), (r,1,2), color=(.8,.8,0.9))\n", "\n", "graph_hyp_2 += hyperboloid_2\n", "\n", "show(graph_hyp_2, aspect_ratio=1, axes_labels=['x','u','v'])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On introduit de plus une projection naturelle de $\\widetilde{\\mathrm{AdS}}_{2+1}$ sur $\\mathscr{M}_\\mathrm{BTZ}$ :\n", "\n" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{llcl} \\pi_\\mathrm{BTZ}:& \\widetilde{\\mathrm{AdS}}_{2+1} & \\longrightarrow & \\mathscr{M}_\\mathrm{BTZ} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(t, r, {\\varphi}\\right) = \\left(t, r, {\\varphi}\\right) \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{llcl} \\pi_\\mathrm{BTZ}:& \\widetilde{\\mathrm{AdS}}_{2+1} & \\longrightarrow & \\mathscr{M}_\\mathrm{BTZ} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(t, r, {\\varphi}\\right) = \\left(t, r, {\\varphi}\\right) \\end{array}$" ], "text/plain": [ "pi_{BTZ}: UAdS → M_{BTZ}\n", " (t, r, ph) ↦ (t, r, ph) = (t, r, ph)" ] }, "execution_count": 26, "metadata": { }, "output_type": "execute_result" } ], "source": [ "piBTZ = UAdS.diff_map(M, [t,r,ph],name='pi_{BTZ}', latex_name=r'\\pi_\\mathrm{BTZ}')\n", "piBTZ.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Cette identification donne aussi naturellement un revêtement par $\\mathcal{R}_\\mathrm{I}^{(\\widetilde{\\mathrm{AdS}})}$ , $\\mathcal{R}_\\mathrm{II}^{(\\widetilde{\\mathrm{AdS}})}$, $\\mathcal{R}_\\mathrm{III}^{(\\widetilde{\\mathrm{AdS}})}$ des régions $\\mathcal{R}_\\mathrm{I}^{(\\mathrm{BTZ})}$, $\\mathcal{R}_\\mathrm{II}^{(\\mathrm{BTZ})}$, et $\\mathcal{R}_\\mathrm{III}^{(\\mathrm{BTZ})}$ de $\\mathscr{M}_\\mathrm{BTZ}$. \n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "On définit sur chaque région $\\mathcal{R}_\\mathrm{I}^{(\\widetilde{\\mathrm{AdS}})}$ , $\\mathcal{R}_\\mathrm{II}^{(\\widetilde{\\mathrm{AdS}})}$, $\\mathcal{R}_\\mathrm{III}^{(\\widetilde{\\mathrm{AdS}})}$ de $\\widetilde{\\mathrm{AdS}}_{2+1}$ un plongement $\\Psi_\\mathrm{I}$, $\\Psi_\\mathrm{II}$, $\\Psi_\\mathrm{III}$ vers la partie de $\\mathbb{R}^{2,2}$ correspondant à $\\mathrm{AdS}_{2+1}$ :\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "PsiI = regI_UAdS.diff_map(R22, \n", " [l*sqrt(alpha(r))*cosh(rp*ph/l-rm*t/l^2),\n", " l*sqrt(alpha(r)-1)*sinh(rp*t/l^2-rm*ph/l),\n", " l*sqrt(alpha(r))*sinh(rp*ph/l-rm*t/l^2),\n", " l*sqrt(alpha(r)-1)*cosh(rp*t/l^2-rm*ph/l)]\n", " ,name='Psi_I', latex_name=r'\\Psi_\\mathrm{I}')\n", "\n", "PsiII = regII_UAdS.diff_map(R22, \n", " [l*sqrt(alpha(r))*cosh(rp*ph/l-rm*t/l^2),\n", " -l*sqrt(1-alpha(r))*cosh(rp*t/l^2-rm*ph/l),\n", " l*sqrt(alpha(r))*sinh(rp*ph/l-rm*t/l^2),\n", " -l*sqrt(1-alpha(r))*sinh(rp*t/l^2-rm*ph/l)]\n", " ,name='Psi_II', latex_name=r'\\Psi_\\mathrm{II}')\n", "\n", "PsiIII = regIII_UAdS.diff_map(R22, \n", " [l*sqrt(-alpha(r))*sinh(rp*ph/l-rm*t/l^2),\n", " -l*sqrt(1-alpha(r))*cosh(rp*t/l^2-rm*ph/l),\n", " l*sqrt(-alpha(r))*cosh(rp*ph/l-rm*t/l^2),\n", " -l*sqrt(1-alpha(r))*sinh(rp*t/l^2-rm*ph/l)]\n", " ,name='Psi_III', latex_name=r'\\Psi_\\mathrm{III}')" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Par exemple, $\\Psi_\\mathrm{I}$ est donnée par :\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{llcl} \\Psi_\\mathrm{I}:& \\mathcal{R}_\\mathrm{I}^{(\\widetilde{\\mathrm{AdS}})} & \\longrightarrow & \\mathbb{R}^{2,2} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, x, y\\right) = \\left({\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}}} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}} - \\frac{{r_-} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}} - 1} \\sinh\\left(-\\frac{{\\varphi} {r_-}}{{\\ell}} + \\frac{{r_+} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}}} \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}} - \\frac{{r_-} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}} - 1} \\cosh\\left(-\\frac{{\\varphi} {r_-}}{{\\ell}} + \\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right) \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{llcl} \\Psi_\\mathrm{I}:& \\mathcal{R}_\\mathrm{I}^{(\\widetilde{\\mathrm{AdS}})} & \\longrightarrow & \\mathbb{R}^{2,2} \\\\ & \\left(t, r, {\\varphi}\\right) & \\longmapsto & \\left(u, v, x, y\\right) = \\left({\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}}} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}} - \\frac{{r_-} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}} - 1} \\sinh\\left(-\\frac{{\\varphi} {r_-}}{{\\ell}} + \\frac{{r_+} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}}} \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}} - \\frac{{r_-} t}{{\\ell}^{2}}\\right), {\\ell} \\sqrt{-\\frac{r^{2} - {r_-}^{2}}{{r_-}^{2} - {r_+}^{2}} - 1} \\cosh\\left(-\\frac{{\\varphi} {r_-}}{{\\ell}} + \\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right) \\end{array}$" ], "text/plain": [ "Psi_I: R_{IUAdS} → R22\n", " (t, r, ph) ↦ (u, v, x, y) = (l*sqrt(-(r^2 - rm^2)/(rm^2 - rp^2))*cosh(ph*rp/l - rm*t/l^2), l*sqrt(-(r^2 - rm^2)/(rm^2 - rp^2) - 1)*sinh(-ph*rm/l + rp*t/l^2), l*sqrt(-(r^2 - rm^2)/(rm^2 - rp^2))*sinh(ph*rp/l - rm*t/l^2), l*sqrt(-(r^2 - rm^2)/(rm^2 - rp^2) - 1)*cosh(-ph*rm/l + rp*t/l^2))" ] }, "execution_count": 28, "metadata": { }, "output_type": "execute_result" } ], "source": [ "PsiI.display(X_UAdS.restrict(regI_UAdS), X_Cart)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Par tiré\\-en\\-arrière de $\\eta$, on obtient alors sur chaque région $\\mathcal{R}_\\mathrm{I}^{(\\widetilde{\\mathrm{AdS}})}$ , $\\mathcal{R}_\\mathrm{II}^{(\\widetilde{\\mathrm{AdS}})}$, $\\mathcal{R}_\\mathrm{III}^{(\\widetilde{\\mathrm{AdS}})}$ de $\\widetilde{\\mathrm{AdS}}_{2+1}$ une métrique :\n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {\\Psi_\\mathrm{I}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle {\\Psi_\\mathrm{I}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "Psi_I^*(eta) = -(r^2 - rm^2 - rp^2)/l^2 dt⊗dt - rm*rp/l dt⊗dph + l^2*r^2/(r^4 - r^2*rm^2 - (r^2 - rm^2)*rp^2) dr⊗dr - rm*rp/l dph⊗dt + r^2 dph⊗dph" ] }, "execution_count": 29, "metadata": { }, "output_type": "execute_result" } ], "source": [ "PsiI.pullback(eta).display()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {\\Psi_\\mathrm{II}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle {\\Psi_\\mathrm{II}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "Psi_II^*(eta) = -(r^2 - rm^2 - rp^2)/l^2 dt⊗dt - rm*rp/l dt⊗dph + l^2*r^2/(r^4 - r^2*rm^2 - (r^2 - rm^2)*rp^2) dr⊗dr - rm*rp/l dph⊗dt + r^2 dph⊗dph" ] }, "execution_count": 30, "metadata": { }, "output_type": "execute_result" } ], "source": [ "PsiII.pullback(eta).display()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {\\Psi_\\mathrm{III}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle {\\Psi_\\mathrm{III}}^*\\eta = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "Psi_III^*(eta) = -(r^2 - rm^2 - rp^2)/l^2 dt⊗dt - rm*rp/l dt⊗dph + l^2*r^2/(r^4 - r^2*rm^2 - (r^2 - rm^2)*rp^2) dr⊗dr - rm*rp/l dph⊗dt + r^2 dph⊗dph" ] }, "execution_count": 31, "metadata": { }, "output_type": "execute_result" } ], "source": [ "PsiIII.pullback(eta).display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Ces métriques correspondent dans chaque région au tiré\\-en\\-arrière sur $\\widetilde{\\mathrm{AdS}}_{2+1}$ de la métrique $g$ de $\\mathscr{M}_\\mathrm{BTZ}$ par $\\pi_{\\mathrm{BTZ}}$ :\n", "\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {\\pi_\\mathrm{BTZ}}^*g = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle {\\pi_\\mathrm{BTZ}}^*g = \\left( -\\frac{r^{2} - {r_-}^{2} - {r_+}^{2}}{{\\ell}^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\varphi} + \\left( \\frac{{\\ell}^{2} r^{2}}{r^{4} - r^{2} {r_-}^{2} - {\\left(r^{2} - {r_-}^{2}\\right)} {r_+}^{2}} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( -\\frac{{r_-} {r_+}}{{\\ell}} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} t + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "pi_{BTZ}^*(g) = -(r^2 - rm^2 - rp^2)/l^2 dt⊗dt - rm*rp/l dt⊗dph + l^2*r^2/(r^4 - r^2*rm^2 - (r^2 - rm^2)*rp^2) dr⊗dr - rm*rp/l dph⊗dt + r^2 dph⊗dph" ] }, "execution_count": 32, "metadata": { }, "output_type": "execute_result" } ], "source": [ "piBTZ.pullback(g).display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Dans ces coordonnées, le passage de $\\widetilde{\\mathrm{AdS}}_{2+1}$ à $\\mathscr{M}_\\mathrm{BTZ}$ correspond à l'_enroulement_ selon $\\varphi$, i.e. au quotient par un groupe discret engendré par le vecteur $\\partial_\\varphi$ :\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{\\partial}{\\partial {\\varphi} }\\)" ], "text/latex": [ "$\\displaystyle \\frac{\\partial}{\\partial {\\varphi} }$" ], "text/plain": [ "Vector field ∂/∂ph on the Open subset R_{IUAdS} of the 3-dimensional Lorentzian manifold UAdS" ] }, "execution_count": 33, "metadata": { }, "output_type": "execute_result" } ], "source": [ "regI_UAdS.default_frame()[2]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Le poussé\\-en\\-avant de $\\partial_\\varphi$ dans $\\mathbb{R}^{2,2}$ est donné par $\\xi=\\Psi_*\\partial_\\varphi$ :\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {\\Psi_\\mathrm{I}}_* \\frac{\\partial}{\\partial {\\varphi} } = \\left( -\\frac{{\\left({r_+} \\cosh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right) \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) - {r_+} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_-}} \\sqrt{r - {r_-}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial u } + \\left( \\frac{{\\left({r_-} \\cosh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\cosh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right) - {r_-} \\sinh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_+}} \\sqrt{r - {r_+}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial v } + \\left( -\\frac{{\\left({r_+} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\cosh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right) - {r_+} \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_-}} \\sqrt{r - {r_-}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial x } + \\left( -\\frac{{\\left({r_-} \\cosh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right) \\sinh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) - {r_-} \\cosh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_+}} \\sqrt{r - {r_+}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial y }\\)" ], "text/latex": [ "$\\displaystyle {\\Psi_\\mathrm{I}}_* \\frac{\\partial}{\\partial {\\varphi} } = \\left( -\\frac{{\\left({r_+} \\cosh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right) \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) - {r_+} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_-}} \\sqrt{r - {r_-}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial u } + \\left( \\frac{{\\left({r_-} \\cosh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\cosh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right) - {r_-} \\sinh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_+}} \\sqrt{r - {r_+}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial v } + \\left( -\\frac{{\\left({r_+} \\cosh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\cosh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right) - {r_+} \\sinh\\left(\\frac{{\\varphi} {r_+}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_-} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_-}} \\sqrt{r - {r_-}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial x } + \\left( -\\frac{{\\left({r_-} \\cosh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right) \\sinh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) - {r_-} \\cosh\\left(\\frac{{\\varphi} {r_-}}{{\\ell}}\\right) \\sinh\\left(\\frac{{r_+} t}{{\\ell}^{2}}\\right)\\right)} \\sqrt{r + {r_+}} \\sqrt{r - {r_+}} \\sqrt{{r_-} + {r_+}} \\sqrt{-{r_-} + {r_+}}}{{r_-}^{2} - {r_+}^{2}} \\right) \\frac{\\partial}{\\partial y }$" ], "text/plain": [ "Psi_I_*(∂/∂ph) = -(rp*cosh(rm*t/l^2)*sinh(ph*rp/l) - rp*cosh(ph*rp/l)*sinh(rm*t/l^2))*sqrt(r + rm)*sqrt(r - rm)*sqrt(rm + rp)*sqrt(-rm + rp)/(rm^2 - rp^2) ∂/∂u + (rm*cosh(ph*rm/l)*cosh(rp*t/l^2) - rm*sinh(ph*rm/l)*sinh(rp*t/l^2))*sqrt(r + rp)*sqrt(r - rp)*sqrt(rm + rp)*sqrt(-rm + rp)/(rm^2 - rp^2) ∂/∂v - (rp*cosh(ph*rp/l)*cosh(rm*t/l^2) - rp*sinh(ph*rp/l)*sinh(rm*t/l^2))*sqrt(r + rm)*sqrt(r - rm)*sqrt(rm + rp)*sqrt(-rm + rp)/(rm^2 - rp^2) ∂/∂x - (rm*cosh(rp*t/l^2)*sinh(ph*rm/l) - rm*cosh(ph*rm/l)*sinh(rp*t/l^2))*sqrt(r + rp)*sqrt(r - rp)*sqrt(rm + rp)*sqrt(-rm + rp)/(rm^2 - rp^2) ∂/∂y" ] }, "execution_count": 34, "metadata": { }, "output_type": "execute_result" } ], "source": [ "xi = PsiI.pushforward(regI_UAdS.default_frame()[2])\n", "xi.display()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Ce vecteur correspond dans $\\mathbb{R}^{2,2}$ à :\n", "\n", "$$\n", "\\xi=\\frac{r_+}{\\ell}(x\\partial_u+u\\partial_x)-\\frac{r_-}{\\ell}(y\\partial_v+v\\partial_y).\n", "$$\n", "\n", "On reconnaît une combinaison linéaire d'éléments de $\\mathfrak{so}(2,2)$ — le groupe de symétries d'$\\mathrm{AdS}_{2+1}$ étant $\\mathrm{SO}(2,2)$ — qui génèrent les transformation spéciales de Lorentz dans les plans $(u,x)$ et $(v,y)$.\n", "\n" ] } ], "metadata": { "kernelspec": { "argv": [ "sage-10.1", "--python", "-m", "sage.repl.ipython_kernel", "--matplotlib=inline", "-f", "{connection_file}" ], "display_name": "SageMath 10.1", "env": { }, "language": "sagemath", "metadata": { "cocalc": { "description": "Open-source mathematical software system", "priority": 10, "url": "https://www.sagemath.org/" } }, "name": "sage-10.1", "resource_dir": "/ext/jupyter/kernels/sage-10.1" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.1" } }, "nbformat": 4, "nbformat_minor": 4 }