Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download
Project: BHLectures
Views: 613
Kernel: SageMath 10.1.beta2

Kruskal-Szekeres coordinates in Schwarzschild spacetime

This Jupyter/SageMath notebook is relative to the lectures Geometry and physics of black holes

The involved computations make use of tools developed through the SageManifolds project.

NB: a version of SageMath at least equal to 9.4 is required to run this notebook:

version()
'SageMath version 10.1.beta2, Release Date: 2023-06-03'

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

%display latex

Spacetime

We declare the spacetime manifold MM:

M = Manifold(4, 'M') print(M)
4-dimensional differentiable manifold M

The ingoing Eddington-Finkelstein domain

The domain of ingoing Eddington-Finkelstein coordinates (t~,r,θ,ϕ)(\tilde t, r, \theta, \phi):

M_EF = M.open_subset('M_EF', latex_name=r'M_{\rm EF}')

The Schwarzschild-Droste domain

The domain of Schwarzschild-Droste coordinates is MSD=MIMIIM_{\rm SD} = M_{\rm I} \cup M_{\rm II}:

M_SD = M_EF.open_subset('M_SD', latex_name=r'M_{\rm SD}') M_I = M_SD.open_subset('M_I', latex_name=r'M_{\rm I}') M_II = M_SD.open_subset('M_II', latex_name=r'M_{\rm II}') M_SD.declare_union(M_I, M_II)

The Schwarzschild-Droste coordinates (t,r,θ,ϕ)(t,r,\theta,\phi):

m = var('m') assume(m>=0) X_SD.<t,r,th,ph> = M_SD.chart(r't r:(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\varphi', coord_restrictions=lambda t,r,th,ph: r!=2*m) X_SD

(MSD,(t,r,θ,φ))\displaystyle \left(M_{\rm SD},(t, r, {\theta}, {\varphi})\right)

X_SD_I = X_SD.restrict(M_I, r>2*m) X_SD_I

(MI,(t,r,θ,φ))\displaystyle \left(M_{\rm I},(t, r, {\theta}, {\varphi})\right)

X_SD_II = X_SD.restrict(M_II, r<2*m) X_SD_II

(MII,(t,r,θ,φ))\displaystyle \left(M_{\rm II},(t, r, {\theta}, {\varphi})\right)

M.default_chart()

(MSD,(t,r,θ,φ))\displaystyle \left(M_{\rm SD},(t, r, {\theta}, {\varphi})\right)

Eddington-Finkelstein coordinates

The ingoing Eddington-Finkelstein chart:

X_EF.<te,r,th,ph> = M_EF.chart(r'te:\tilde{t} r:(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\varphi') X_EF

(MEF,(t~,r,θ,φ))\displaystyle \left(M_{\rm EF},({\tilde{t}}, r, {\theta}, {\varphi})\right)

SD_to_EF = X_SD.transition_map(X_EF, [t+2*m*ln(abs(r/(2*m)-1)), r, th, ph]) SD_to_EF.display()

{t~=2mlog(r2m1)+tr=rθ=θφ=φ\displaystyle \left\{\begin{array}{lcl} {\tilde{t}} & = & 2 \, m \log\left({\left| \frac{r}{2 \, m} - 1 \right|}\right) + t \\ r & = & r \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

SD_to_EF.inverse().display()

{t=2mlog(2)+2mlog(m)2mlog(2m+r)+t~r=rθ=θφ=φ\displaystyle \left\{\begin{array}{lcl} t & = & 2 \, m \log\left(2\right) + 2 \, m \log\left(m\right) - 2 \, m \log\left({\left| -2 \, m + r \right|}\right) + {\tilde{t}} \\ r & = & r \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

X_EF_I = X_EF.restrict(M_I, r>2*m) X_EF_I

(MI,(t~,r,θ,φ))\displaystyle \left(M_{\rm I},({\tilde{t}}, r, {\theta}, {\varphi})\right)

X_EF_II = X_EF.restrict(M_II, r<2*m) X_EF_II

(MII,(t~,r,θ,φ))\displaystyle \left(M_{\rm II},({\tilde{t}}, r, {\theta}, {\varphi})\right)

M.atlas()

[(MSD,(t,r,θ,φ)),(MI,(t,r,θ,φ)),(MII,(t,r,θ,φ)),(MEF,(t~,r,θ,φ)),(MSD,(t~,r,θ,φ)),(MI,(t~,r,θ,φ)),(MII,(t~,r,θ,φ))]\displaystyle \left[\left(M_{\rm SD},(t, r, {\theta}, {\varphi})\right), \left(M_{\rm I},(t, r, {\theta}, {\varphi})\right), \left(M_{\rm II},(t, r, {\theta}, {\varphi})\right), \left(M_{\rm EF},({\tilde{t}}, r, {\theta}, {\varphi})\right), \left(M_{\rm SD},({\tilde{t}}, r, {\theta}, {\varphi})\right), \left(M_{\rm I},({\tilde{t}}, r, {\theta}, {\varphi})\right), \left(M_{\rm II},({\tilde{t}}, r, {\theta}, {\varphi})\right)\right]

Kruskal-Szekeres coordinates

X_KS.<T,X,th,ph> = M.chart(r'T X th:(0,pi):\theta ph:(0,2*pi):\varphi', coord_restrictions=lambda T,X,th,ph: T^2 < 1 + X^2) X_KS

(M,(T,X,θ,φ))\displaystyle \left(M,(T, X, {\theta}, {\varphi})\right)

X_KS_I = X_KS.restrict(M_I, [X>0, T<X, T>-X]) X_KS_I

(MI,(T,X,θ,φ))\displaystyle \left(M_{\rm I},(T, X, {\theta}, {\varphi})\right)

X_KS_II = X_KS.restrict(M_II, [T>0, T>abs(X)]) X_KS_II

(MII,(T,X,θ,φ))\displaystyle \left(M_{\rm II},(T, X, {\theta}, {\varphi})\right)

X_KS_EF = X_KS.restrict(M_EF, X+T>0) X_KS_EF

(MEF,(T,X,θ,φ))\displaystyle \left(M_{\rm EF},(T, X, {\theta}, {\varphi})\right)

SD_I_to_KS = X_SD_I.transition_map(X_KS_I, [sqrt(r/(2*m)-1)*exp(r/(4*m))*sinh(t/(4*m)), sqrt(r/(2*m)-1)*exp(r/(4*m))*cosh(t/(4*m)), th, ph]) SD_I_to_KS.display()

{T=r2m1e(r4m)sinh(t4m)X=r2m1cosh(t4m)e(r4m)θ=θφ=φ\displaystyle \left\{\begin{array}{lcl} T & = & \sqrt{\frac{r}{2 \, m} - 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ X & = & \sqrt{\frac{r}{2 \, m} - 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

SD_II_to_KS = X_SD_II.transition_map(X_KS_II, [sqrt(1-r/(2*m))*exp(r/(4*m))*cosh(t/(4*m)), sqrt(1-r/(2*m))*exp(r/(4*m))*sinh(t/(4*m)), th, ph]) SD_II_to_KS.display()

{T=r2m+1cosh(t4m)e(r4m)X=r2m+1e(r4m)sinh(t4m)θ=θφ=φ\displaystyle \left\{\begin{array}{lcl} T & = & \sqrt{-\frac{r}{2 \, m} + 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ X & = & \sqrt{-\frac{r}{2 \, m} + 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

EF_to_KS = X_EF.transition_map(X_KS_EF, [exp(r/(4*m))*(cosh(te/(4*m))-r/(4*m)*exp(-te/(4*m))), exp(r/(4*m))*(sinh(te/(4*m))+r/(4*m)*exp(-te/(4*m))), th, ph]) EF_to_KS.display()

{T=14(re(t~4m)m4cosh(t~4m))e(r4m)X=14(re(t~4m)m+4sinh(t~4m))e(r4m)θ=θφ=φ\displaystyle \left\{\begin{array}{lcl} T & = & -\frac{1}{4} \, {\left(\frac{r e^{\left(-\frac{{\tilde{t}}}{4 \, m}\right)}}{m} - 4 \, \cosh\left(\frac{{\tilde{t}}}{4 \, m}\right)\right)} e^{\left(\frac{r}{4 \, m}\right)} \\ X & = & \frac{1}{4} \, {\left(\frac{r e^{\left(-\frac{{\tilde{t}}}{4 \, m}\right)}}{m} + 4 \, \sinh\left(\frac{{\tilde{t}}}{4 \, m}\right)\right)} e^{\left(\frac{r}{4 \, m}\right)} \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

Plot of the IEF grid in terms of KS coordinates:

graph = X_EF.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={te:(-16,6), r:(1e-6,5)}, steps={te:1, r:0.5}, style={te:'--', r:'-'}, parameters={m:1}) graph1 = copy(graph)
graph += text(r'$\tilde{t}=0$', (2.65, 0.25), fontsize=16, color='red', rotation=-24) graph += text(r'$\tilde{t}=2m$', (2.8, 1.6), fontsize=16, color='red') graph += text(r'$\tilde{t}=-2m$', (2.68, -0.9), fontsize=16, color='red', rotation=-35)
plot_options = {'xmin': -3, 'xmax': 3, 'ymin': -3, 'ymax': 3, 'figsize': 8} show(graph, **plot_options)
Image in a Jupyter notebook

Adding the Schwarzschild horizon to the plot:

hor = line([(0,0), (4,4)], color='black', thickness=2) \ + text(r'$\mathscr{H}$', (3, 2.7), fontsize=20, color='black') graph += hor

Adding the curvature singularity r=0r=0 to the plot:

sing = X_SD_II.plot(X_KS, fixed_coords={r:0, th:pi/2, ph:pi}, ambient_coords=(X,T), color='brown', thickness=4, style='--', parameters={m:1}) \ + text(r'$r=0$', (2.5, 3), rotation=45, fontsize=16, color='brown') graph += sing graph.save("max_IEF_KS.pdf", **plot_options) show(graph, **plot_options)
Image in a Jupyter notebook

Zoom showing the regular sclicing of the hypersurface r=0r=0 by the t~=const\tilde{t}=\mathrm{const} hypersurfaces:

graph1 += line([(0,0), (4,4)], color='black', thickness=2) graph1 += X_SD_II.plot(X_KS, fixed_coords={r:0, th:pi/2, ph:pi}, ambient_coords=(X,T), color='brown', thickness=4, style='--', parameters={m:1}) show(graph1, xmin=0, xmax=3, ymin=0.8, ymax=2.5)
Image in a Jupyter notebook

Plot of Schwarzschild-Droste grid on MIM_{\rm I} in terms of KS coordinates

graph = X_SD_I.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(2.001,5)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='blue', parameters={m:1})
hor2 = line([(0,0), (4,4)], color='black', thickness=2) \ + text(r'$\mathscr{H}$', (2.95, 3.2), fontsize=20, color='black') region_labels = text(r'$\mathscr{M}_{\rm I}$', (2.4, 0.4), fontsize=20, color='blue') graph2 = graph + hor2 + region_labels graph2.save("max_SD_I_KS.pdf", **plot_options) show(graph2, **plot_options)
Image in a Jupyter notebook
graph += X_SD_II.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(0.001,1.999)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='blue', parameters={m:1}) region_labels = text(r'$\mathscr{M}_{\rm I}$', (2.4, 0.4), fontsize=20, color='blue') + \ text(r'$\mathscr{M}_{\rm II}$', (0, 0.5), fontsize=20, color='blue') graph += hor + sing + region_labels graph.save("max_SD_KS.pdf", **plot_options) show(graph, **plot_options)
Image in a Jupyter notebook

Radial null geodesics

The outgoing family:

var('u') outgeod = M.curve({X_EF: [r + 4*m*ln(abs(r/(2*m)-1)) + u, r, pi/2, pi]}, (r, 0, +oo)) outgeod.display()

(0,+)Mr(t~,r,θ,φ)=(4mlog(r2m1)+r+u,r,12π,π)r(T,X,θ,φ)=((22m+rcosh(4mlog(2)+4mlog(m)4mlog(2m+r)ru4m)e(r4m+u4m)r)e(u4m)22m+r,(22m+re(r4m+u4m)sinh(4mlog(2)+4mlog(m)4mlog(2m+r)ru4m)+r)e(u4m)22m+r,12π,π)\displaystyle \begin{array}{llcl} & \left(0, +\infty\right) & \longrightarrow & M \\ & r & \longmapsto & \left({\tilde{t}}, r, {\theta}, {\varphi}\right) = \left(4 \, m \log\left({\left| \frac{r}{2 \, m} - 1 \right|}\right) + r + u, r, \frac{1}{2} \, \pi, \pi\right) \\ & r & \longmapsto & \left(T, X, {\theta}, {\varphi}\right) = \left(\frac{{\left(2 \, {\left| -2 \, m + r \right|} \cosh\left(-\frac{4 \, m \log\left(2\right) + 4 \, m \log\left(m\right) - 4 \, m \log\left({\left| -2 \, m + r \right|}\right) - r - u}{4 \, m}\right) e^{\left(\frac{r}{4 \, m} + \frac{u}{4 \, m}\right)} - r\right)} e^{\left(-\frac{u}{4 \, m}\right)}}{2 \, {\left| -2 \, m + r \right|}}, \frac{{\left(2 \, {\left| -2 \, m + r \right|} e^{\left(\frac{r}{4 \, m} + \frac{u}{4 \, m}\right)} \sinh\left(-\frac{4 \, m \log\left(2\right) + 4 \, m \log\left(m\right) - 4 \, m \log\left({\left| -2 \, m + r \right|}\right) - r - u}{4 \, m}\right) + r\right)} e^{\left(-\frac{u}{4 \, m}\right)}}{2 \, {\left| -2 \, m + r \right|}}, \frac{1}{2} \, \pi, \pi\right) \end{array}

The ingoing family:

var('v') ingeod = M.curve({X_EF: [-r + v, r, pi/2, pi]}, (r, 0, +oo)) ingeod.display()

(0,+)Mr(t~,r,θ,φ)=(r+v,r,12π,π)r(T,X,θ,φ)=((4mcosh(rv4m)e(r4m+v4m)re(r2m))e(v4m)4m,(4me(r4m+v4m)sinh(rv4m)+re(r2m))e(v4m)4m,12π,π)\displaystyle \begin{array}{llcl} & \left(0, +\infty\right) & \longrightarrow & M \\ & r & \longmapsto & \left({\tilde{t}}, r, {\theta}, {\varphi}\right) = \left(-r + v, r, \frac{1}{2} \, \pi, \pi\right) \\ & r & \longmapsto & \left(T, X, {\theta}, {\varphi}\right) = \left(\frac{{\left(4 \, m \cosh\left(-\frac{r - v}{4 \, m}\right) e^{\left(\frac{r}{4 \, m} + \frac{v}{4 \, m}\right)} - r e^{\left(\frac{r}{2 \, m}\right)}\right)} e^{\left(-\frac{v}{4 \, m}\right)}}{4 \, m}, \frac{{\left(4 \, m e^{\left(\frac{r}{4 \, m} + \frac{v}{4 \, m}\right)} \sinh\left(-\frac{r - v}{4 \, m}\right) + r e^{\left(\frac{r}{2 \, m}\right)}\right)} e^{\left(-\frac{v}{4 \, m}\right)}}{4 \, m}, \frac{1}{2} \, \pi, \pi\right) \end{array}

graph = Graphics() for u0 in range(-10, 10, 2): graph += outgeod.plot(chart=X_KS, ambient_coords=(X,T), prange=(0.01, 1.99), parameters={m: 1, u: u0}, color='green', style='-') graph += outgeod.plot(chart=X_KS, ambient_coords=(X,T), prange=(2.01, 5), parameters={m: 1, u: u0}, color='green', style='-') graph += ingeod.plot(chart=X_KS, ambient_coords=(X,T), prange=(0.01, 5), parameters={m: 1, v: u0}, color='green', style='--') graph += hor graph += sing graph.save("max_rad_null_geod_KS.pdf", **plot_options) show(graph, **plot_options)
Image in a Jupyter notebook

Extension to MIIIM_{\rm III} and MIVM_{\rm IV}

The second Schwarzschild-Droste domain:

M_SD2 = M.open_subset('M_SD2', latex_name=r"{M'}_{\rm SD}", coord_def={X_KS: T<-X}) X_SD2.<t,r,th,ph> = M_SD2.chart(r't r:(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\varphi')

Definition of regions MIIIM_{\rm III} and MIVM_{\rm IV}:

M_III = M_SD2.open_subset('M_III', latex_name=r'M_{\rm III}', coord_def={X_KS.restrict(M_SD2): [X<0, X<T]}) M_IV = M_SD2.open_subset('M_IV', latex_name=r'M_{\rm IV}', coord_def={X_KS.restrict(M_SD2): [T<0, T<X]}) M_SD2.declare_union(M_III, M_IV)
X_KS_III = X_KS.restrict(M_III) X_KS_III

(MIII,(T,X,θ,φ))\displaystyle \left(M_{\rm III},(T, X, {\theta}, {\varphi})\right)

X_KS_IV = X_KS.restrict(M_IV) X_KS_IV

(MIV,(T,X,θ,φ))\displaystyle \left(M_{\rm IV},(T, X, {\theta}, {\varphi})\right)

Schwarzschild-Droste coordinates in MIIIM_{\rm III} and MIVM_{\rm IV}:

X_SD_III = X_SD2.restrict(M_III, r>2*m) X_SD_III

(MIII,(t,r,θ,φ))\displaystyle \left(M_{\rm III},(t, r, {\theta}, {\varphi})\right)

SD_III_to_KS = X_SD_III.transition_map(X_KS_III, [-sqrt(r/(2*m)-1)*exp(r/(4*m))*sinh(t/(4*m)), - sqrt(r/(2*m)-1)*exp(r/(4*m))*cosh(t/(4*m)), th, ph]) SD_III_to_KS.display()

{T=r2m1e(r4m)sinh(t4m)X=r2m1cosh(t4m)e(r4m)θ=θφ=φ\displaystyle \left\{\begin{array}{lcl} T & = & -\sqrt{\frac{r}{2 \, m} - 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ X & = & -\sqrt{\frac{r}{2 \, m} - 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

X_SD_IV = X_SD2.restrict(M_IV, r<2*m) X_SD_IV

(MIV,(t,r,θ,φ))\displaystyle \left(M_{\rm IV},(t, r, {\theta}, {\varphi})\right)

SD_IV_to_KS = X_SD_IV.transition_map(X_KS_IV, [-sqrt(1-r/(2*m))*exp(r/(4*m))*cosh(t/(4*m)), -sqrt(1-r/(2*m))*exp(r/(4*m))*sinh(t/(4*m)), th, ph]) SD_IV_to_KS.display()

{T=r2m+1cosh(t4m)e(r4m)X=r2m+1e(r4m)sinh(t4m)θ=θφ=φ\displaystyle \left\{\begin{array}{lcl} T & = & -\sqrt{-\frac{r}{2 \, m} + 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ X & = & -\sqrt{-\frac{r}{2 \, m} + 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

Plot of the maximal extension

graph = X_SD_I.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(2.001,5)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='blue', parameters={m:1}) graph += X_SD_II.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(0.001,1.999)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='steelblue', parameters={m:1}) graph += X_SD_III.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(2.001,5)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='chocolate', parameters={m:1}) graph += X_SD_IV.plot(X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, ranges={t:(-10,10), r:(0.001,1.999)}, steps={t:1, r:0.5}, style={t:'--', r:'-'}, color='gold', parameters={m:1})
bifhor = line([(-4,-4), (4,4)], color='black', thickness=3) + \ line([(-4,4), (4,-4)], color='black', thickness=3) + \ text(r'$\mathscr{H}$', (3, 2.7), fontsize=20, color='black') sing2 = X_SD_IV.plot(X_KS, fixed_coords={r:0, th:pi/2, ph:pi}, ambient_coords=(X,T), color='brown', thickness=4, style='--', parameters={m:1}) \ + text(r"$r'=0$", (2.5, -3), rotation=-45, fontsize=16, color='brown') region_labels = text(r'$\mathscr{M}_{\rm I}$', (2.4, 0.4), fontsize=20, color='blue') + \ text(r'$\mathscr{M}_{\rm II}$', (0, 0.5), fontsize=20, color='steelblue') + \ text(r'$\mathscr{M}_{\rm III}$', (-2.4, 0.4), fontsize=20, color='chocolate') + \ text(r'$\mathscr{M}_{\rm IV}$', (0, -0.5), fontsize=20, color='gold') graph += bifhor + sing + sing2 + region_labels graph.save("max_kruskal_diag.pdf", **plot_options) show(graph, **plot_options)
Image in a Jupyter notebook

Plot of the Killing vector field ξ\xi

xi = M.vector_field(name='xi', latex_name=r'\xi') xi[X_KS.frame(), 0, X_KS] = X/(4*m) xi[X_KS.frame(), 1, X_KS] = T/(4*m) xi.display(X_KS.frame(), X_KS)

ξ=X4mT+T4mX\displaystyle \xi = \frac{X}{4 \, m} \frac{\partial}{\partial T } + \frac{T}{4 \, m} \frac{\partial}{\partial X }

xi.display(X_KS_I.frame(), X_SD_I)

ξ=(22m+rcosh(t4m)e(r4m)8m32)T+(22m+re(r4m)sinh(t4m)8m32)X\displaystyle \xi = \left( \frac{\sqrt{2} \sqrt{-2 \, m + r} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)}}{8 \, m^{\frac{3}{2}}} \right) \frac{\partial}{\partial T } + \left( \frac{\sqrt{2} \sqrt{-2 \, m + r} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)}{8 \, m^{\frac{3}{2}}} \right) \frac{\partial}{\partial X }

xi.display(X_SD_I.frame())

ξ=t\displaystyle \xi = \frac{\partial}{\partial t }

graph_xi = xi.plot(X_KS, chart_domain=X_KS, ambient_coords=(X,T), fixed_coords={th:pi/2,ph:pi}, max_range=4, number_values=19, color='red', parameters={m: 1}) graph = bifhor + graph_xi + sing + sing2 graph.save("max_xi_extend.pdf", **plot_options) show(graph, **plot_options)
Image in a Jupyter notebook