{ "cells": [ { "cell_type": "markdown", "id": "bf752426", "metadata": {}, "source": [ "# 7次元超球面 $S^7$ のリーマン曲率テンソル\n", "\n", "半径 $r$ の丸い7次元超球面は、一定の断面曲率 $1/r^2$ をもちます。\n", "このNotebookでは、添字付きのEgison記法を使って、その計量、\n", "レヴィ・チヴィタ接続、リーマンテンソル、リッチテンソル、スカラー曲率を\n", "順に構成します。\n", "\n", "ここでは次の符号規約を採用します。\n", "\n", "$$\n", "R^i{}_{jkl}\n", " = \\partial_k\\Gamma^i{}_{jl}\n", " - \\partial_l\\Gamma^i{}_{jk}\n", " + \\Gamma^m{}_{jl}\\Gamma^i{}_{mk}\n", " - \\Gamma^m{}_{jk}\\Gamma^i{}_{ml}.\n", "$$\n" ] }, { "cell_type": "markdown", "id": "e69d2760", "metadata": {}, "source": [ "## 超球面座標チャート\n", "\n", "座標を $x=(\\alpha, \\beta, \\gamma, \\delta, \\xi, \\zeta, \\eta)$ とします。\n", "標準埋め込み $X:S^7\\hookrightarrow\\mathbb{R}^8$ は、\n", "$X_1=r\\cos \\alpha$、$X_2=r\\sin \\alpha\\cos \\beta$、……のように、\n", "正弦を順次掛け合わせる形で構成されます。これにより\n", "$X\\mathbin{\\cdot}X=r^2$ が明らかになります。\n", "\n", "このチャートは通常の座標極を含みません。そこで現れる特異性は\n", "超球面座標に由来するものであり、丸い超球面の幾何そのものの\n", "特異性ではありません。\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "671fc0e8", "metadata": {}, "outputs": [], "source": [ "declare symbol r, α, β, γ, δ, ξ, ζ, η: MathValue\n", "\n", "def x : Vector MathValue := [| α, β, γ, δ, ξ, ζ, η |]\n", "\n", "def X : Vector MathValue := [| r * cos α, r * sin α * cos β, r * sin α * sin β * cos γ, r * sin α * sin β * sin γ * cos δ, r * sin α * sin β * sin γ * sin δ * cos ξ, r * sin α * sin β * sin γ * sin δ * sin ξ * cos ζ, r * sin α * sin β * sin γ * sin δ * sin ξ * sin ζ * cos η, r * sin α * sin β * sin γ * sin δ * sin ξ * sin ζ * sin η |]\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "d4a87097", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} \\cos(α) r \\\\ \\cos(β) \\sin(α) r \\\\ \\cos(γ) \\sin(α) \\sin(β) r \\\\ \\cos(δ) \\sin(α) \\sin(β) \\sin(γ) r \\\\ \\cos(ξ) \\sin(α) \\sin(β) \\sin(γ) \\sin(δ) r \\\\ \\cos(ζ) \\sin(α) \\sin(β) \\sin(γ) \\sin(δ) \\sin(ξ) r \\\\ \\cos(η) \\sin(α) \\sin(β) \\sin(γ) \\sin(δ) \\sin(ζ) \\sin(ξ) r \\\\ \\sin(α) \\sin(β) \\sin(γ) \\sin(δ) \\sin(ζ) \\sin(η) \\sin(ξ) r\\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X\n" ] }, { "cell_type": "markdown", "id": "2d70bfb3", "metadata": {}, "source": [ "## 計量と逆計量\n", "\n", "埋め込みを微分すると、直交する座標基底が得られます。その線素は\n", "\n", "$$\n", "ds^2=r^2\\left(d\\alpha^2 + \\sin^2 \\alpha d\\beta^2 + \\sin^2 \\alpha \\sin^2 \\beta d\\gamma^2 + \\sin^2 \\alpha \\sin^2 \\beta \\sin^2 \\gamma d\\delta^2 + \\sin^2 \\alpha \\sin^2 \\beta \\sin^2 \\gamma \\sin^2 \\delta d\\xi^2 + \\sin^2 \\alpha \\sin^2 \\beta \\sin^2 \\gamma \\sin^2 \\delta \\sin^2 \\xi d\\zeta^2 + \\sin^2 \\alpha \\sin^2 \\beta \\sin^2 \\gamma \\sin^2 \\delta \\sin^2 \\xi \\sin^2 \\zeta d\\eta^2\\right).\n", "$$\n", "\n", "Egisonは埋め込みを微分して座標接ベクトルを求め、それらの内積として\n", "各成分 $g_{ij}=\\partial_iX\\mathbin{\\cdot}\\partial_jX$ を構成します。\n", "逆計量は、この誘導計量から計算します。\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "f8225816", "metadata": {}, "outputs": [], "source": [ "def e_i_j : Matrix MathValue := ∂/∂ X_j x~i\n", "\n", "def g_i_j : Matrix MathValue :=\n", " generateTensor (\\[a, b] -> V.* e_a_# e_b_#) [7, 7]\n", "\n", "def g~i~j : Matrix MathValue := M.inverse g_#_#\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "12a3ad6f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} r^{2} \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0\\\\ \\end{pmatrix}_{\\#}^{\\;}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g_1_#\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "b9594cf0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ \\sin(α)^{2} \\sin(β)^{2} \\sin(γ)^{2} \\sin(δ)^{2} \\sin(ζ)^{2} \\sin(ξ)^{2} r^{2}\\\\ \\end{pmatrix}_{\\#}^{\\;}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g_7_#\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "fcb34e54", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} r^{-2} \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0 \\\\ 0\\\\ \\end{pmatrix}_{\\;}^{\\#}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g~1~#\n" ] }, { "cell_type": "markdown", "id": "c1ba9dd2", "metadata": {}, "source": [ "## レヴィ・チヴィタ接続\n", "\n", "第一種および第二種クリストッフェル記号は\n", "\n", "$$\n", "\\Gamma_{ijk}=\\frac12\n", "(\\partial_jg_{ik}+\\partial_kg_{ij}-\\partial_ig_{jk}),\n", "\\qquad\n", "\\Gamma^i{}_{jk}=g^{im}\\Gamma_{mjk}.\n", "$$\n", "\n", "重複する記号添字は `.` によって縮約されます。`withSymbols` ブロックは、\n", "ダミー添字のスコープを定義の内部に限定します。\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "c3dc5287", "metadata": {}, "outputs": [], "source": [ "def Γ_i_j_k : Tensor MathValue :=\n", " (1 / 2) * (∂/∂ 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" ] }, { "cell_type": "code", "execution_count": 8, "id": "c48046bb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$-\\cos(α) \\sin(α)$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Γ~1_2_2\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "fa8e668a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\cos(α) \\sin(α)^{-1}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Γ~2_1_2\n" ] }, { "cell_type": "markdown", "id": "217655ad", "metadata": {}, "source": [ "## リーマンテンソル\n", "\n", "以下の定義は、冒頭で示した符号規約をそのまま転記したものです。\n", "2つの出力セルは、テンソルの最初の2つのスロットを入れ替えながら、\n", "同じ座標2平面上の成分を取り出しています。両者に異なる座標因子が\n", "現れるのは、座標基底が正規直交基底ではないことから予想される通りです。\n" ] }, { "cell_type": "code", "execution_count": 10, "id": "d0ceed4d", "metadata": {}, "outputs": [], "source": [ "def R~i_j_k_l : Tensor MathValue := withSymbols [m]\n", " ∂/∂ Γ~i_j_l x~k - ∂/∂ Γ~i_j_k x~l\n", " + Γ~m_j_l . Γ~i_m_k - Γ~m_j_k . Γ~i_m_l\n" ] }, { "cell_type": "code", "execution_count": 11, "id": "6126b228", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\sin(α)^{2}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R~1_2_1_2\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "edc02b6b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$-1$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R~2_1_1_2\n" ] }, { "cell_type": "markdown", "id": "bb792202", "metadata": {}, "source": [ "## リッチ曲率とスカラー曲率\n", "\n", "リーマンテンソルの第1添字と第3添字を縮約すると\n", "\n", "$$\n", "\\operatorname{Ric}_{ij}=R^m{}_{imj},\n", "\\qquad\n", "\\mathcal{R}=g^{ij}\\operatorname{Ric}_{ij}.\n", "$$\n", "\n", "丸い $S^7$ に対して、座標に依存しない形では\n", "\n", "$$\n", "\\operatorname{Ric}=\\frac{6}{r^2}g,\n", "\\qquad\n", "\\mathcal{R}=\\frac{42}{r^2}.\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "91ed80f2", "metadata": {}, "outputs": [], "source": [ "def Ric_i_j : Matrix MathValue := withSymbols [m]\n", " sum (contract R~m_i_m_j)\n", "\n", "def scalarCurvature : MathValue := withSymbols [i, j]\n", " g~i~j . Ric_i_j\n" ] }, { "cell_type": "markdown", "id": "9ae135a3", "metadata": {}, "source": [ "## 結果の解釈\n", "\n", "取り出した各成分は座標に依存しますが、それらを縮約すると不変な主張が\n", "得られます。すなわち、すべての接2平面の断面曲率は $1/r^2$、計量は\n", "アインシュタイン計量、スカラー曲率は $42/r^2$ です。\n", "$\\sin \\alpha$ のような因子がチャートの極で消えるのは、そこで座標枠が\n", "退化するためです。曲率そのものは滑らかなままです。リッチ曲率と\n", "スカラー曲率の定義は含まれていますが、それらの完全な縮約は意図的に\n", "出力セルにしていません。選んだリーマンテンソルの成分だけで、巨大な\n", "記号式展開を実行せずに一定曲率のパターンを確認できます。\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 }