CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

| Download

Etude du trou noir BTZ et de l'espace-temps anti-de Sitter en dimension 2+1.

Path: BTZ.ipynb
Views: 121
Visibility: Unlisted (only visible to those who know the link)
Image: ubuntu2204
Kernel: SageMath 10.1
%display latex Parallelism().set(nproc=8)

This notebook was written under the supervision of Éric Gourgoulhon (LUTH) as part of my physics internship in July 2023.

Author : Nicolas Seroux

Gravitation en 2+12+1 dimensions et trou noir BTZ

Espace-temps anti-de Sitter

Définitions préliminaires

On commence par définir l'espace temps anti-de Sitter à trois dimensions comme une sous variété R2,2\mathbb{R}^{2,2}.

On distinguera l'espace-temps AdS2+1SL2(R)S1×R2\mathrm{AdS}_{2+1}\approx\mathrm{SL}_2(\mathbb{R})\approx\mathbb{S}^1\times\mathbb{R}^2 de son recouvrement universel Ads~2+1R3\widetilde{\mathrm{Ads}}_{2+1}\approx\mathbb{R}^3.

AdS = Manifold(3, 'AdS', latex_name=r'\mathrm{AdS}_{2+1}', structure='Lorentzian') UAdS = Manifold(3, 'UAdS', latex_name=r'\widetilde{\mathrm{AdS}}_{2+1}', structure='Lorentzian')

Les symétries des espaces anti-de Sitter permettent de considérer des coordonnées de type sphérique :

X_AdS.<t,r,ph> = AdS.chart(r't r:(0,+oo) ph:(-pi,pi):\varphi:periodic') X_UAdS.<t,r,ph> = UAdS.chart(r't r:(0,+oo) ph:\varphi')

On introduit l'espace vectoriel R2,2\mathbb{R}^{2,2} comme une variété pseudo-riemannienne munie de coordonnées cartésiennes et sphériques :

R22 = Manifold(4, 'R22', r'\mathbb{R}^{2,2}', structure='pseudo-Riemannian', signature=0, metric_name='eta', metric_latex_name=r'\eta') X_Cart.<u,v,x,y> = R22.chart() F_Cart = X_Cart.frame() X_Sph.<u,v,r,ph> = R22.chart(r'u v r:(0,+oo) ph:(-pi,pi):\varphi:periodic') F_Sph = X_Sph.frame() trans_Sph_to_Cart = X_Sph.transition_map(X_Cart, [u, v, r*cos(ph),r*sin(ph)], restrictions2=(x^2+y^2!=0)) trans_Sph_to_Cart.set_inverse(u, v, sqrt(x^2+y^2),2*arctan(y/(sqrt(x^2+y^2)+x)), check=False) trans_Cart_to_Sph = trans_Sph_to_Cart.inverse()

La métrique η\eta sur R2,2\mathbb{R}^{2,2} est plate :

eta = R22.metric() eta[0,0], eta[1,1], eta[2,2], eta[3,3] = -1, -1, 1, 1 eta.display(X_Sph)

η=dududvdv+drdr+r2dφdφ\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}

Plongement de AdS2+1\mathrm{AdS}_{2+1} dans R2,2\mathbb{R}^{2,2}

L'espace AdS2+1\mathrm{AdS}_{2+1} se plonge dans R2,2\mathbb{R}^{2,2} sur la sous-variété {(u,v,x,y)R2,2u2v2+x2+y2=2}\{(u,v,x,y)\in\mathbb{R}^{2,2}\,|\,-u^2-v^2+x^2+y^2=-\ell^2\}, i.e. {XR2,2η(X,X)=2}\{\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 AdS2+1\mathrm{AdS}_{2+1}.

l = var('l', latex_name=r'\ell') assume(l>0)

Le plongement est fourni par l'application Φ\Phi :

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') Phi.display()

Φ:AdS2+1R2,2(t,r,φ)(u,v,x,y)=(2+r2cos(t),2+r2sin(t),rcos(φ),rsin(φ))(t,r,φ)(u,v,r,φ)=(2+r2cos(t),2+r2sin(t),r,φ)\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}

On identifie AdS2+1\mathrm{AdS}_{2+1} à l'image de Φ\Phi dans R2,2\mathbb{R}^{2,2}. On affiche ici la section de Φ(AdS2+1)\Phi(\mathrm{AdS}_{2+1}) dans le plan y=0y=0, qui correspond à l'image des points φ=0\varphi=0 et φ=π\varphi=\pi.

graph_hyp = X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:0}, ranges={t:(-pi,pi), r:(0,2)}, number_values=9, color={t:'grey', r:'grey'}, thickness=1, parameters={l:1}, label_axes=False) graph_hyp += X_AdS.plot(X_Cart, mapping=Phi, ambient_coords=(x,u,v), fixed_coords={ph:pi}, ranges={t:(-pi,pi), r:(0,2)}, number_values=9, color={t:'grey', r:'grey'}, thickness=1, parameters={l:1}, label_axes=False) 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}) 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}) 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}) hyperboloid = parametric_plot3d([Phi_x_0, Phi_u_0, Phi_v_0], (t,-pi,pi), (r,0,2), color=(.8,.8,0.9)) hyperboloid += parametric_plot3d([Phi_x_pi, Phi_u_pi, Phi_v_pi], (t,-pi,pi), (r,0,2), color=(.8,.8,0.9)) graph_hyp += hyperboloid show(graph_hyp, aspect_ratio=1, axes_labels=['x','u','v'])