{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hyperbolic plane $\\mathbb{H}^2$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Jupyter notebook illustrates some differential geometry capabilities of SageMath on the example of the hyperbolic plane. The corresponding tools have been developed within\n", "the [SageManifolds](https://sagemanifolds.obspm.fr) project." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A version of SageMath at least equal to 9.4 is required to run this notebook:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'SageMath version 9.4.rc2, Release Date: 2021-08-12'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we set up the notebook to display mathematical objects using LaTeX formatting:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also tell Maxima, which is used by SageMath for simplifications of symbolic expressions, that all computations involve real variables:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\verb|real|\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\verb|real|$$" ], "text/plain": [ "'real'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "maxima_calculus.eval(\"domain: real;\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We declare $\\mathbb{H}^2$ as a 2-dimensional differentiable manifold:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2-dimensional differentiable manifold H2\n" ] }, { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathbb{H}^2\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathbb{H}^2$$" ], "text/plain": [ "2-dimensional differentiable manifold H2" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H2 = Manifold(2, 'H2', latex_name=r'\\mathbb{H}^2', start_index=1)\n", "print(H2)\n", "H2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We shall introduce charts on $\\mathbb{H}^2$ that are related to various models of the hyperbolic plane as submanifolds of $\\mathbb{R}^3$. Therefore, we start by declaring $\\mathbb{R}^3$ as a 3-dimensional manifold equiped with a global chart: the chart of Cartesian coordinates $(X,Y,Z)$:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{R}^3,(X, Y, Z)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{R}^3,(X, Y, Z)\\right)$$" ], "text/plain": [ "Chart (R3, (X, Y, Z))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R3 = Manifold(3, 'R3', latex_name=r'\\mathbb{R}^3', start_index=1)\n", "X3. = R3.chart()\n", "X3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hyperboloid model\n", "\n", "The first chart we introduce is related to the **hyperboloid model of $\\mathbb{H}^2$**, namely to the representation of $\\mathbb{H}^2$ as the upper sheet ($Z>0$) of the hyperboloid of two sheets defined in $\\mathbb{R}^3$ by the equation $X^2 + Y^2 - Z^2 = -1$:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(X, Y)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(X, Y)\\right)$$" ], "text/plain": [ "Chart (H2, (X, Y))" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_hyp. = H2.chart()\n", "X_hyp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The corresponding embedding of $\\mathbb{H}^2$ in $\\mathbb{R}^3$ is" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_1:& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(X, Y\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right) \\end{array}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_1:& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(X, Y\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right) \\end{array}$$" ], "text/plain": [ "Phi_1: H2 → R3\n", " (X, Y) ↦ (X, Y, Z) = (X, Y, sqrt(X^2 + Y^2 + 1))" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Phi1 = H2.diff_map(R3, [X, Y, sqrt(1+X^2+Y^2)], name='Phi_1', latex_name=r'\\Phi_1')\n", "Phi1.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By plotting the chart $\\left(\\mathbb{H}^2,(X,Y)\\right)$ in terms of the Cartesian coordinates of $\\mathbb{R}^3$, we get a graphical view of $\\Phi_1(\\mathbb{H}^2)$:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(X_hyp.plot(X3, mapping=Phi1, number_values=15, color='blue'), \n", " aspect_ratio=1, figsize=7)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "A second chart is obtained from the polar coordinates $(r,\\varphi)$ associated with $(X,Y)$. Contrary to $(X,Y)$, the polar chart is not defined on the whole $\\mathbb{H}^2$, but on the complement $U$ of the segment $\\{Y=0, x\\geq 0\\}$: " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Open subset U of the 2-dimensional differentiable manifold H2\n" ] } ], "source": [ "U = H2.open_subset('U', coord_def={X_hyp: (Y!=0, X<0)})\n", "print(U)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that (y!=0, x<0) stands for $y\\not=0$ OR $x<0$; the condition $y\\not=0$ AND $x<0$ would have been written [y!=0, x<0] instead." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right)$$" ], "text/plain": [ "Chart (U, (r, ph))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_pol. = U.chart(r'r:(0,+oo) ph:(0,2*pi):\\varphi')\n", "X_pol" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}r :\\ \\left( 0 , +\\infty \\right) ;\\quad {\\varphi} :\\ \\left( 0 , 2 \\, \\pi \\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}r :\\ \\left( 0 , +\\infty \\right) ;\\quad {\\varphi} :\\ \\left( 0 , 2 \\, \\pi \\right)$$" ], "text/plain": [ "r: (0, +oo); ph: (0, 2*pi)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_pol.coord_range()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We specify the transition map between the charts $\\left(U,(r,\\varphi)\\right)$ and $\\left(\\mathbb{H}^2,(X,Y)\\right)$ as $X=r\\cos\\varphi$, $Y=r\\sin\\varphi$:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(X, Y)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(X, Y)\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (U, (r, ph)) to Chart (U, (X, Y))" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_hyp = X_pol.transition_map(X_hyp, [r*cos(ph), r*sin(ph)])\n", "pol_to_hyp" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} X & = & r \\cos\\left({\\varphi}\\right) \\\\ Y & = & r \\sin\\left({\\varphi}\\right) \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} X & = & r \\cos\\left({\\varphi}\\right) \\\\ Y & = & r \\sin\\left({\\varphi}\\right) \\end{array}\\right.$$" ], "text/plain": [ "X = r*cos(ph)\n", "Y = r*sin(ph)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_hyp.display()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Check of the inverse coordinate transformation:\n", " r == r *passed*\n", " ph == arctan2(r*sin(ph), r*cos(ph)) **failed**\n", " X == X *passed*\n", " Y == Y *passed*\n", "NB: a failed report can reflect a mere lack of simplification.\n" ] } ], "source": [ "pol_to_hyp.set_inverse(sqrt(X^2+Y^2), atan2(Y, X)) " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} r & = & \\sqrt{X^{2} + Y^{2}} \\\\ {\\varphi} & = & \\arctan\\left(Y, X\\right) \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} r & = & \\sqrt{X^{2} + Y^{2}} \\\\ {\\varphi} & = & \\arctan\\left(Y, X\\right) \\end{array}\\right.$$" ], "text/plain": [ "r = sqrt(X^2 + Y^2)\n", "ph = arctan2(Y, X)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_hyp.inverse().display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The restriction of the embedding $\\Phi_1$ to $U$ has then two coordinate expressions:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_1:& U & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(X, Y\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right) \\\\ & \\left(r, {\\varphi}\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(r \\cos\\left({\\varphi}\\right), r \\sin\\left({\\varphi}\\right), \\sqrt{r^{2} + 1}\\right) \\end{array}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_1:& U & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(X, Y\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right) \\\\ & \\left(r, {\\varphi}\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(r \\cos\\left({\\varphi}\\right), r \\sin\\left({\\varphi}\\right), \\sqrt{r^{2} + 1}\\right) \\end{array}$$" ], "text/plain": [ "Phi_1: U → R3\n", " (X, Y) ↦ (X, Y, Z) = (X, Y, sqrt(X^2 + Y^2 + 1))\n", " (r, ph) ↦ (X, Y, Z) = (r*cos(ph), r*sin(ph), sqrt(r^2 + 1))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Phi1.restrict(U).display()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph_hyp = X_pol.plot(X3, mapping=Phi1.restrict(U), number_values=15, ranges={r: (0,3)}, \n", " color='blue')\n", "show(graph_hyp, aspect_ratio=1, figsize=7)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\left(\\left(\\mathbb{H}^2,(X, Y)\\right), \\left(\\mathbb{R}^3,(X, Y, Z)\\right)\\right) : \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right)\\right\\}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\left(\\left(\\mathbb{H}^2,(X, Y)\\right), \\left(\\mathbb{R}^3,(X, Y, Z)\\right)\\right) : \\left(X, Y, \\sqrt{X^{2} + Y^{2} + 1}\\right)\\right\\}$$" ], "text/plain": [ "{(Chart (H2, (X, Y)),\n", " Chart (R3, (X, Y, Z))): Coordinate functions (X, Y, sqrt(X^2 + Y^2 + 1)) on the Chart (H2, (X, Y))}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Phi1._coord_expression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Metric and curvature\n", "\n", "The metric on $\\mathbb{H}^2$ is that induced by the Minkowksy metric on $\\mathbb{R}^3$: \n", "$$\\eta = \\mathrm{d}X\\otimes\\mathrm{d}X + \\mathrm{d}Y\\otimes\\mathrm{d}Y - \\mathrm{d}Z\\otimes\\mathrm{d}Z$$" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\eta = \\mathrm{d} X\\otimes \\mathrm{d} X+\\mathrm{d} Y\\otimes \\mathrm{d} Y-\\mathrm{d} Z\\otimes \\mathrm{d} Z\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\eta = \\mathrm{d} X\\otimes \\mathrm{d} X+\\mathrm{d} Y\\otimes \\mathrm{d} Y-\\mathrm{d} Z\\otimes \\mathrm{d} Z$$" ], "text/plain": [ "eta = dX⊗dX + dY⊗dY - dZ⊗dZ" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eta = R3.lorentzian_metric('eta', latex_name=r'\\eta')\n", "eta[1,1] = 1 ; eta[2,2] = 1 ; eta[3,3] = -1\n", "eta.display()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{Y^{2} + 1}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} X + \\left( -\\frac{X Y}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} Y + \\left( -\\frac{X Y}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} X + \\left( \\frac{X^{2} + 1}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} Y\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{Y^{2} + 1}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} X + \\left( -\\frac{X Y}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} Y + \\left( -\\frac{X Y}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} X + \\left( \\frac{X^{2} + 1}{X^{2} + Y^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} Y$$" ], "text/plain": [ "g = (Y^2 + 1)/(X^2 + Y^2 + 1) dX⊗dX - X*Y/(X^2 + Y^2 + 1) dX⊗dY - X*Y/(X^2 + Y^2 + 1) dY⊗dX + (X^2 + 1)/(X^2 + Y^2 + 1) dY⊗dY" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = H2.metric('g')\n", "g.set( Phi1.pullback(eta) )\n", "g.display() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The expression of the metric tensor in terms of the polar coordinates is" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{1}{r^{2} + 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{1}{r^{2} + 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$$" ], "text/plain": [ "g = 1/(r^2 + 1) dr⊗dr + r^2 dph⊗dph" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display(X_pol.frame(), X_pol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Riemann curvature tensor associated with $g$ is" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field Riem(g) of type (1,3) on the 2-dimensional differentiable manifold H2\n" ] } ], "source": [ "Riem = g.riemann()\n", "print(Riem)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{Riem}\\left(g\\right) = -r^{2} \\frac{\\partial}{\\partial r }\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi} + r^{2} \\frac{\\partial}{\\partial r }\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r + \\left( \\frac{1}{r^{2} + 1} \\right) \\frac{\\partial}{\\partial {\\varphi} }\\otimes \\mathrm{d} r\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi} + \\left( -\\frac{1}{r^{2} + 1} \\right) \\frac{\\partial}{\\partial {\\varphi} }\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{Riem}\\left(g\\right) = -r^{2} \\frac{\\partial}{\\partial r }\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi} + r^{2} \\frac{\\partial}{\\partial r }\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r + \\left( \\frac{1}{r^{2} + 1} \\right) \\frac{\\partial}{\\partial {\\varphi} }\\otimes \\mathrm{d} r\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi} + \\left( -\\frac{1}{r^{2} + 1} \\right) \\frac{\\partial}{\\partial {\\varphi} }\\otimes \\mathrm{d} r\\otimes \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} r$$" ], "text/plain": [ "Riem(g) = -r^2 ∂/∂r⊗dph⊗dr⊗dph + r^2 ∂/∂r⊗dph⊗dph⊗dr + 1/(r^2 + 1) ∂/∂ph⊗dr⊗dr⊗dph - 1/(r^2 + 1) ∂/∂ph⊗dr⊗dph⊗dr" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Riem.display(X_pol.frame(), X_pol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Ricci tensor and the Ricci scalar:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field of symmetric bilinear forms Ric(g) on the 2-dimensional differentiable manifold H2\n" ] } ], "source": [ "Ric = g.ricci()\n", "print(Ric)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{Ric}\\left(g\\right) = \\left( -\\frac{1}{r^{2} + 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r -r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{Ric}\\left(g\\right) = \\left( -\\frac{1}{r^{2} + 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r -r^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$$" ], "text/plain": [ "Ric(g) = -1/(r^2 + 1) dr⊗dr - r^2 dph⊗dph" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric.display(X_pol.frame(), X_pol)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field r(g) on the 2-dimensional differentiable manifold H2\n" ] } ], "source": [ "Rscal = g.ricci_scalar()\n", "print(Rscal)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\mathrm{r}\\left(g\\right):& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R} \\\\ & \\left(X, Y\\right) & \\longmapsto & -2 \\\\ \\mbox{on}\\ U : & \\left(r, {\\varphi}\\right) & \\longmapsto & -2 \\end{array}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\mathrm{r}\\left(g\\right):& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R} \\\\ & \\left(X, Y\\right) & \\longmapsto & -2 \\\\ \\mbox{on}\\ U : & \\left(r, {\\varphi}\\right) & \\longmapsto & -2 \\end{array}$$" ], "text/plain": [ "r(g): H2 → ℝ\n", " (X, Y) ↦ -2\n", "on U: (r, ph) ↦ -2" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Rscal.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hence we recover the fact that $(\\mathbb{H}^2,g)$ is a space of **constant negative curvature**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In dimension 2, the Riemann curvature tensor is entirely determined by the Ricci scalar $R$ according to\n", "\n", "$$R^i_{\\ \\, jlk} = \\frac{R}{2} \\left( \\delta^i_{\\ \\, k} g_{jl} - \\delta^i_{\\ \\, l} g_{jk} \\right)$$\n", "\n", "Let us check this formula here, under the form $R^i_{\\ \\, jlk} = -R g_{j[k} \\delta^i_{\\ \\, l]}$:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{True}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{True}$$" ], "text/plain": [ "True" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta = H2.tangent_identity_field()\n", "Riem == - Rscal*(g*delta).antisymmetrize(2,3) # 2,3 = last positions of the type-(1,3) tensor g*delta " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly the relation $\\mathrm{Ric} = (R/2)\\; g$ must hold:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{True}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{True}$$" ], "text/plain": [ "True" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ric == (Rscal/2)*g" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Poincaré disk model\n", "\n", "The Poincaré disk model of $\\mathbb{H}^2$ is obtained by stereographic projection from the point $S=(0,0,-1)$ of the hyperboloid model to the plane $Z=0$. The radial coordinate $R$ of the image of a point of polar coordinate $(r,\\varphi)$ is\n", "$$R = \\frac{r}{1+\\sqrt{1+r^2}}.$$\n", "Hence we define the Poincaré disk chart on $\\mathbb{H}^2$ by" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(R, {\\varphi})\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(R, {\\varphi})\\right)$$" ], "text/plain": [ "Chart (U, (R, ph))" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_Pdisk. = U.chart(r'R:(0,1) ph:(0,2*pi):\\varphi')\n", "X_Pdisk" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}R :\\ \\left( 0 , 1 \\right) ;\\quad {\\varphi} :\\ \\left( 0 , 2 \\, \\pi \\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}R :\\ \\left( 0 , 1 \\right) ;\\quad {\\varphi} :\\ \\left( 0 , 2 \\, \\pi \\right)$$" ], "text/plain": [ "R: (0, 1); ph: (0, 2*pi)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_Pdisk.coord_range()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and relate it to the hyperboloid polar chart by" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(R, {\\varphi})\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(R, {\\varphi})\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (U, (r, ph)) to Chart (U, (R, ph))" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_Pdisk = X_pol.transition_map(X_Pdisk, [r/(1+sqrt(1+r^2)), ph])\n", "pol_to_Pdisk" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} R & = & \\frac{r}{\\sqrt{r^{2} + 1} + 1} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} R & = & \\frac{r}{\\sqrt{r^{2} + 1} + 1} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.$$" ], "text/plain": [ "R = r/(sqrt(r^2 + 1) + 1)\n", "ph = ph" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_Pdisk.display()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} r & = & -\\frac{2 \\, R}{R^{2} - 1} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} r & = & -\\frac{2 \\, R}{R^{2} - 1} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.$$" ], "text/plain": [ "r = -2*R/(R^2 - 1)\n", "ph = ph" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_Pdisk.set_inverse(2*R/(1-R^2), ph)\n", "pol_to_Pdisk.inverse().display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A view of the Poincaré disk chart via the embedding $\\Phi_1$:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(X_Pdisk.plot(X3, mapping=Phi1.restrict(U), ranges={R: (0,0.9)}, color='blue',\n", " number_values=15), \n", " aspect_ratio=1, figsize=7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The expression of the metric tensor in terms of coordinates $(R,\\varphi)$:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{4}{R^{4} - 2 \\, R^{2} + 1} \\right) \\mathrm{d} R\\otimes \\mathrm{d} R + \\left( \\frac{4 \\, R^{2}}{R^{4} - 2 \\, R^{2} + 1} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{4}{R^{4} - 2 \\, R^{2} + 1} \\right) \\mathrm{d} R\\otimes \\mathrm{d} R + \\left( \\frac{4 \\, R^{2}}{R^{4} - 2 \\, R^{2} + 1} \\right) \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$$" ], "text/plain": [ "g = 4/(R^4 - 2*R^2 + 1) dR⊗dR + 4*R^2/(R^4 - 2*R^2 + 1) dph⊗dph" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display(X_Pdisk.frame(), X_Pdisk)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may factorize each metric component:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\frac{4}{{\\left(R + 1\\right)}^{2} {\\left(R - 1\\right)}^{2}} \\mathrm{d} R\\otimes \\mathrm{d} R + \\frac{4 \\, R^{2}}{{\\left(R + 1\\right)}^{2} {\\left(R - 1\\right)}^{2}} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\frac{4}{{\\left(R + 1\\right)}^{2} {\\left(R - 1\\right)}^{2}} \\mathrm{d} R\\otimes \\mathrm{d} R + \\frac{4 \\, R^{2}}{{\\left(R + 1\\right)}^{2} {\\left(R - 1\\right)}^{2}} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$$" ], "text/plain": [ "g = 4/((R + 1)^2*(R - 1)^2) dR⊗dR + 4*R^2/((R + 1)^2*(R - 1)^2) dph⊗dph" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "for i in [1,2]:\n", " g[X_Pdisk.frame(), i, i, X_Pdisk].factor()\n", "g.display(X_Pdisk.frame(), X_Pdisk)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cartesian coordinates on the Poincaré disk\n", "\n", "Let us introduce Cartesian coordinates $(u,v)$ on the Poincaré disk; since the latter has a unit radius, this amounts to defining the following chart on $\\mathbb{H}^2$:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(u, v)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(u, v)\\right)$$" ], "text/plain": [ "Chart (H2, (u, v))" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_Pdisk_cart. = H2.chart('u:(-1,1) v:(-1,1)', coord_restrictions=lambda u,v: u^2+v^2 < 1)\n", "X_Pdisk_cart" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On $U$, the Cartesian coordinates $(u,v)$ are related to the polar coordinates $(R,\\varphi)$ by the standard formulas:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(R, {\\varphi})\\right) \\rightarrow \\left(U,(u, v)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(R, {\\varphi})\\right) \\rightarrow \\left(U,(u, v)\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (U, (R, ph)) to Chart (U, (u, v))" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Pdisk_to_Pdisk_cart = X_Pdisk.transition_map(X_Pdisk_cart, [R*cos(ph), R*sin(ph)])\n", "Pdisk_to_Pdisk_cart" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & R \\cos\\left({\\varphi}\\right) \\\\ v & = & R \\sin\\left({\\varphi}\\right) \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & R \\cos\\left({\\varphi}\\right) \\\\ v & = & R \\sin\\left({\\varphi}\\right) \\end{array}\\right.$$" ], "text/plain": [ "u = R*cos(ph)\n", "v = R*sin(ph)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Pdisk_to_Pdisk_cart.display()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Check of the inverse coordinate transformation:\n", " R == R *passed*\n", " ph == arctan2(R*sin(ph), R*cos(ph)) **failed**\n", " u == u *passed*\n", " v == v *passed*\n", "NB: a failed report can reflect a mere lack of simplification.\n" ] }, { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} R & = & \\sqrt{u^{2} + v^{2}} \\\\ {\\varphi} & = & \\arctan\\left(v, u\\right) \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} R & = & \\sqrt{u^{2} + v^{2}} \\\\ {\\varphi} & = & \\arctan\\left(v, u\\right) \\end{array}\\right.$$" ], "text/plain": [ "R = sqrt(u^2 + v^2)\n", "ph = arctan2(v, u)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Pdisk_to_Pdisk_cart.set_inverse(sqrt(u^2+v^2), atan2(v, u)) \n", "Pdisk_to_Pdisk_cart.inverse().display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The embedding of $\\mathbb{H}^2$ in $\\mathbb{R}^3$ associated with the Poincaré disk model is naturally defined as" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_2:& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(u, v\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(u, v, 0\\right) \\end{array}\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\Phi_2:& \\mathbb{H}^2 & \\longrightarrow & \\mathbb{R}^3 \\\\ & \\left(u, v\\right) & \\longmapsto & \\left(X, Y, Z\\right) = \\left(u, v, 0\\right) \\end{array}$$" ], "text/plain": [ "Phi_2: H2 → R3\n", " (u, v) ↦ (X, Y, Z) = (u, v, 0)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Phi2 = H2.diff_map(R3, {(X_Pdisk_cart, X3): [u, v, 0]},\n", " name='Phi_2', latex_name=r'\\Phi_2')\n", "Phi2.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us use it to draw the Poincaré disk in $\\mathbb{R}^3$:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph_disk_uv = X_Pdisk_cart.plot(X3, mapping=Phi2, number_values=15)\n", "show(graph_disk_uv, figsize=7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On $U$, the change of coordinates $(r,\\varphi) \\rightarrow (u,v)$ is obtained by combining the changes $(r,\\varphi) \\rightarrow (R,\\varphi)$ and $(R,\\varphi) \\rightarrow (u,v)$:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(u, v)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(r, {\\varphi})\\right) \\rightarrow \\left(U,(u, v)\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (U, (r, ph)) to Chart (U, (u, v))" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_Pdisk_cart = Pdisk_to_Pdisk_cart * pol_to_Pdisk\n", "pol_to_Pdisk_cart" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{r \\cos\\left({\\varphi}\\right)}{\\sqrt{r^{2} + 1} + 1} \\\\ v & = & \\frac{r \\sin\\left({\\varphi}\\right)}{\\sqrt{r^{2} + 1} + 1} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{r \\cos\\left({\\varphi}\\right)}{\\sqrt{r^{2} + 1} + 1} \\\\ v & = & \\frac{r \\sin\\left({\\varphi}\\right)}{\\sqrt{r^{2} + 1} + 1} \\end{array}\\right.$$" ], "text/plain": [ "u = r*cos(ph)/(sqrt(r^2 + 1) + 1)\n", "v = r*sin(ph)/(sqrt(r^2 + 1) + 1)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pol_to_Pdisk_cart.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Still on $U$, the change of coordinates $(X,Y) \\rightarrow (u,v)$ is obtained by combining the changes $(X,Y) \\rightarrow (r,\\varphi)$ with $(r,\\varphi) \\rightarrow (u,v)$:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(X, Y)\\right) \\rightarrow \\left(U,(u, v)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(U,(X, Y)\\right) \\rightarrow \\left(U,(u, v)\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (U, (X, Y)) to Chart (U, (u, v))" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hyp_to_Pdisk_cart_U = pol_to_Pdisk_cart * pol_to_hyp.inverse()\n", "hyp_to_Pdisk_cart_U" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{X}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\\\ v & = & \\frac{Y}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{X}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\\\ v & = & \\frac{Y}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\end{array}\\right.$$" ], "text/plain": [ "u = X/(sqrt(X^2 + Y^2 + 1) + 1)\n", "v = Y/(sqrt(X^2 + Y^2 + 1) + 1)" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hyp_to_Pdisk_cart_U.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the above expression to extend the change of coordinates $(X,Y) \\rightarrow (u,v)$ from $U$ to the whole manifold $\\mathbb{H}^2$:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(X, Y)\\right) \\rightarrow \\left(\\mathbb{H}^2,(u, v)\\right)\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\mathbb{H}^2,(X, Y)\\right) \\rightarrow \\left(\\mathbb{H}^2,(u, v)\\right)$$" ], "text/plain": [ "Change of coordinates from Chart (H2, (X, Y)) to Chart (H2, (u, v))" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hyp_to_Pdisk_cart = X_hyp.transition_map(X_Pdisk_cart, hyp_to_Pdisk_cart_U(X,Y))\n", "hyp_to_Pdisk_cart" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{X}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\\\ v & = & \\frac{Y}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} u & = & \\frac{X}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\\\ v & = & \\frac{Y}{\\sqrt{X^{2} + Y^{2} + 1} + 1} \\end{array}\\right.$$" ], "text/plain": [ "u = X/(sqrt(X^2 + Y^2 + 1) + 1)\n", "v = Y/(sqrt(X^2 + Y^2 + 1) + 1)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hyp_to_Pdisk_cart.display()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Check of the inverse coordinate transformation:\n", " X == X *passed*\n", " Y == Y *passed*\n", " u == -2*u*abs(u^2 + v^2 - 1)/(u^4 + 2*u^2*v^2 + v^4 + (u^2 + v^2 - 1)*abs(u^2 + v^2 - 1) - 1) **failed**\n", " v == -2*v*abs(u^2 + v^2 - 1)/(u^4 + 2*u^2*v^2 + v^4 + (u^2 + v^2 - 1)*abs(u^2 + v^2 - 1) - 1) **failed**\n", "NB: a failed report can reflect a mere lack of simplification.\n" ] }, { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} X & = & -\\frac{2 \\, u}{u^{2} + v^{2} - 1} \\\\ Y & = & -\\frac{2 \\, v}{u^{2} + v^{2} - 1} \\end{array}\\right.\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left\\{\\begin{array}{lcl} X & = & -\\frac{2 \\, u}{u^{2} + v^{2} - 1} \\\\ Y & = & -\\frac{2 \\, v}{u^{2} + v^{2} - 1} \\end{array}\\right.$$" ], "text/plain": [ "X = -2*u/(u^2 + v^2 - 1)\n", "Y = -2*v/(u^2 + v^2 - 1)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hyp_to_Pdisk_cart.set_inverse(2*u/(1-u^2-v^2), 2*v/(1-u^2-v^2))\n", "hyp_to_Pdisk_cart.inverse().display()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph_Pdisk = X_pol.plot(X3, mapping=Phi2.restrict(U), ranges={r: (0, 20)}, number_values=15, \n", " label_axes=False)\n", "show(graph_hyp + graph_Pdisk, aspect_ratio=1, figsize=7)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 30 graphics primitives" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_pol.plot(X_Pdisk_cart, ranges={r: (0, 20)}, number_values=15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Metric tensor in Poincaré disk coordinates $(u,v)$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From now on, we are using the Poincaré disk chart $(\\mathbb{H}^2,(u,v))$ as the default one on $\\mathbb{H}^2$:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "H2.set_default_chart(X_Pdisk_cart)\n", "H2.set_default_frame(X_Pdisk_cart.frame())" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} - 2 \\, u^{2} + 1}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} X + \\left( -\\frac{4 \\, u v}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} Y + \\left( -\\frac{4 \\, u v}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} X + \\left( \\frac{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} + 2 \\, u^{2} + 1}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} Y\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} - 2 \\, u^{2} + 1}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} X + \\left( -\\frac{4 \\, u v}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} X\\otimes \\mathrm{d} Y + \\left( -\\frac{4 \\, u v}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} X + \\left( \\frac{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} + 2 \\, u^{2} + 1}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} + 1\\right)} v^{2} + 2 \\, u^{2} + 1} \\right) \\mathrm{d} Y\\otimes \\mathrm{d} Y$$" ], "text/plain": [ "g = (u^4 + v^4 + 2*(u^2 + 1)*v^2 - 2*u^2 + 1)/(u^4 + v^4 + 2*(u^2 + 1)*v^2 + 2*u^2 + 1) dX⊗dX - 4*u*v/(u^4 + v^4 + 2*(u^2 + 1)*v^2 + 2*u^2 + 1) dX⊗dY - 4*u*v/(u^4 + v^4 + 2*(u^2 + 1)*v^2 + 2*u^2 + 1) dY⊗dX + (u^4 + v^4 + 2*(u^2 - 1)*v^2 + 2*u^2 + 1)/(u^4 + v^4 + 2*(u^2 + 1)*v^2 + 2*u^2 + 1) dY⊗dY" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display(X_hyp.frame())" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{4}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} - 2 \\, u^{2} + 1} \\right) \\mathrm{d} u\\otimes \\mathrm{d} u + \\left( \\frac{4}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} - 2 \\, u^{2} + 1} \\right) \\mathrm{d} v\\otimes \\mathrm{d} v\$" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( \\frac{4}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} - 2 \\, u^{2} + 1} \\right) \\mathrm{d} u\\otimes \\mathrm{d} u + \\left( \\frac{4}{u^{4} + v^{4} + 2 \\, {\\left(u^{2} - 1\\right)} v^{2} - 2 \\, u^{2} + 1} \\right) \\mathrm{d} v\\otimes \\mathrm{d} v$$" ], "text/plain": [ "g = 4/(u^4 + v^4 + 2*(u^2 - 1)*v^2 - 2*u^2 + 1) du⊗du + 4/(u^4 + v^4 + 2*(u^2 - 1)*v^2 - 2*u^2 + 1) dv⊗dv" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display()" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\[\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\frac{4}{{\\left(u^{2} + v^{2} - 1\\right)}^{2}} \\mathrm{d} u\\otimes \\math