{ "cells": [ { "cell_type": "markdown", "id": "19ade685", "metadata": {}, "source": [ "# Euler Form of the Two-Sphere\n", "\n", "The Euler class of an oriented rank-two tangent bundle is represented\n", "by a curvature two-form. For the round sphere,\n", "\n", "$$\\int_{S^2} e(TS^2)=\\chi(S^2)=2.$$\n", "\n", "We compute the metric from the embedding, transform the connection to\n", "an orthonormal frame, and apply Cartan's curvature equation.\n" ] }, { "cell_type": "markdown", "id": "cb1398a8", "metadata": {}, "source": [ "## Embedding and induced metric\n", "\n", "The radius-$r$ sphere is parametrized by $(\\theta,\\phi)$. Dot products\n", "of its coordinate tangent vectors produce the metric rather than taking\n", "it as an input.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "61d9b620", "metadata": {}, "outputs": [], "source": [ "declare symbol r, θ, φ : MathValue\n", "\n", "def x : Vector MathValue := [| θ, φ |]\n", "def X : Vector MathValue :=\n", " [| r * sin θ * cos φ\n", " , r * sin θ * sin φ\n", " , r * cos θ |]\n", "\n", "def e_i_j : Matrix MathValue := ∂/∂ X_j x~i\n", "def g_i_j : Matrix MathValue :=\n", " generateTensor (\\[a, b] -> V.* e_a_# e_b_#) [2, 2]\n", "def g~i~j : Matrix MathValue := M.inverse g_#_#\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "cf446863", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} r^{2} & 0 \\\\ 0 & \\sin(θ)^{2} r^{2} \\\\ \\end{pmatrix}_{\\#\\#}^{\\;\\;}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g_#_#\n" ] }, { "cell_type": "markdown", "id": "47571e36", "metadata": {}, "source": [ "## Levi-Civita connection and orthonormal frame\n", "\n", "The diagonal vielbein rescales the coordinate basis by $r$ and\n", "$r\\sin\\theta$. Under a frame change $A$, the connection transforms as\n", "\n", "$$\\omega=A^{-1}\\omega_0A+A^{-1}dA.$$\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "f85393f5", "metadata": {}, "outputs": [], "source": [ "def Γ_i_j_k : Tensor MathValue :=\n", " (1 / 2) *\n", " (∂/∂ g_i_k x~j + ∂/∂ g_i_j x~k - ∂/∂ g_j_k x~i)\n", "\n", "def Γ~i_j_k : Tensor MathValue := withSymbols [m]\n", " g~i~m . Γ_m_j_k\n", "\n", "def A : Matrix MathValue :=\n", " [| [| 1 / r, 0 |], [| 0, 1 / (r * sin θ) |] |]\n", "\n", "def d (t : Tensor MathValue) : Tensor MathValue :=\n", " !(flip ∂/∂) x t\n", "\n", "def ω0~i_j : Matrix MathValue := Γ~i_j_#\n", "def ω~i_j : Tensor MathValue := withSymbols [a, b]\n", " (M.inverse A)~i_a . ω0~a_b . A~b_j\n", " + (M.inverse A)~i_a . d A~a_j\n" ] }, { "cell_type": "markdown", "id": "9dcaffe7", "metadata": {}, "source": [ "## Curvature and Euler form\n", "\n", "Cartan's second equation gives $\\Omega$. In two dimensions the\n", "Pfaffian reduces to the difference of the two off-diagonal curvature\n", "components.\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "5da2150b", "metadata": {}, "outputs": [], "source": [ "def Ω~i_j : Tensor MathValue := withSymbols [k]\n", " antisymmetrize (d ω~i_j + ω~i_k ∧ ω~k_j)\n", "\n", "def eulerForm : Tensor MathValue :=\n", " (1 / (4 * π)) * withSymbols [t1, t2]\n", " (Ω~1_2_t1_t2 - Ω~2_1_t1_t2)\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "33080a0d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 & \\frac{1}{4} \\sin(θ) π^{-1} \\\\ \\frac{-1}{4} \\sin(θ) π^{-1} & 0 \\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "eulerForm\n" ] }, { "cell_type": "markdown", "id": "74af171b", "metadata": {}, "source": [ "The upper tensor component is\n", "\n", "$$e_{12}=\\frac{\\sin\\theta}{4\\pi}.$$\n", "\n", "A full antisymmetric tensor stores both $e_{12}$ and $e_{21}$, so\n", "the corresponding oriented differential-form density is\n", "\n", "$$e(TS^2)=\\frac{\\sin\\theta}{2\\pi}\\,d\\theta\\wedge d\\phi.$$\n", "\n", "Therefore\n", "\n", "$$\\int_0^{2\\pi}\\!\\int_0^\\pi\n", " \\frac{\\sin\\theta}{2\\pi}\\,d\\theta\\,d\\phi=2,$$\n", "\n", "recovering the Euler characteristic of the sphere. The radius cancels,\n", "illustrating that the Euler number is topological rather than metric-size\n", "dependent.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Egison", "language": "egison", "name": "egison" }, "language_info": { "codemirror_mode": "egison", "file_extension": ".egi", "mimetype": "text/x-egison", "name": "egison" } }, "nbformat": 4, "nbformat_minor": 5 }