{ "cells": [ { "cell_type": "markdown", "id": "597d65fd", "metadata": {}, "source": [ "# $S^2\\times S^3$ 上のアインシュタイン計量\n", "\n", "「$S^2\\times S^3$ のリーマン曲率テンソル」という名前で公開されてきた\n", "Egisonのデモは、2つの丸い計量の単純なブロック直積ではなく、非対角な\n", "5次元計量を扱います。その目標は、次のアインシュタイン条件を確かめる\n", "ことです。\n", "\n", "$$\n", "\\operatorname{Ric}_{ij}=4g_{ij},\\qquad \\mathcal R=20.\n", "$$\n", "\n", "このNotebookでは、その計量を引き継ぎつつ、記号計算に必要な計算量を\n", "明示します。計量や接続の小さな成分は対話的な出力に適していますが、\n", "アインシュタイン条件の残差全体は、必要に応じて明示的に評価できるよう\n", "定義だけを用意します。\n" ] }, { "cell_type": "markdown", "id": "3b2a5c7e", "metadata": {}, "source": [ "## 座標と略記\n", "\n", "座標の順序を $x=(\\phi,\\theta,\\psi,y,\\alpha)$ とし、次の略記を導入します。\n", "\n", "$$\n", "p=1-y,\\quad u=a-y^2,\\quad\n", "v=a-3y^2+2y^3,\\quad q=a-2y+y^2.\n", "$$\n", "\n", "これらの因子によって、元の計量に繰り返し現れる構造が見やすくなり、\n", "座標領域の制約($p u v\\ne0$)も明確になります。\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "eb17d249", "metadata": {}, "outputs": [], "source": [ "declare symbol φ, θ, ψ, y, α, a: MathValue\n", "\n", "def x : Vector MathValue := [| φ, θ, ψ, y, α |]\n", "\n", "def p : MathValue := `(1 - y)\n", "def u : MathValue := `(a - y^2)\n", "def v : MathValue := `(a - 3 * y^2 + 2 * y^3)\n", "def q : MathValue := `(a - 2 * y + y^2)\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "a1cae8df", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$((-y + 1), (-y^{2} + a), (2 y^{3} - 3 y^{2} + a), (y^{2} - 2 y + a))$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(p, u, v, q)\n" ] }, { "cell_type": "markdown", "id": "40c363a8", "metadata": {}, "source": [ "## 局所フレームと誘導計量\n", "\n", "$f=q/(6u)$とおきます。計量は、正規直交フレームを用いて次のように\n", "分解できます。\n", "\n", "$$\n", "\\begin{split}\n", "ds^2={}&\\frac p6(d\\theta^2+\\sin^2\\theta\\,d\\phi^2)\n", " +\\frac{p}{2v}dy^2\n", " +\\frac{v}{9u}(d\\psi-\\cos\\theta\\,d\\phi)^2\\\\\n", " &+\\frac{2u}{p}\n", " \\bigl(d\\alpha+f(d\\psi-\\cos\\theta\\,d\\phi)\\bigr)^2.\n", "\\end{split}\n", "$$\n", "\n", "下の`e_i_j`の各行は、座標接ベクトル$e_i$をこの正規直交フレームで\n", "表したものです。丸い球面のNotebookと同じように、Egisonは接ベクトルの\n", "内積$g_{ij}=e_i\\mathbin{\\cdot}e_j$からすべての計量成分を構成します。\n", "$(1,3,5)$ブロックの結合は、$d\\psi-\\cos\\theta\\,d\\phi$が2か所に現れる\n", "ことから生成されます。\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "b7f8fffe", "metadata": {}, "outputs": [], "source": [ "def f : MathValue := q / (6 * u)\n", "\n", "def e_i_j : Matrix MathValue :=\n", " [| [| sqrt (p / 6) * sin θ\n", " , 0\n", " , -(sqrt (v / u) / 3) * cos θ\n", " , 0\n", " , -sqrt (2 * u / p) * f * cos θ |]\n", " , [| 0, sqrt (p / 6), 0, 0, 0 |]\n", " , [| 0, 0, sqrt (v / u) / 3, 0, sqrt (2 * u / p) * f |]\n", " , [| 0, 0, 0, sqrt (p / (2 * v)), 0 |]\n", " , [| 0, 0, 0, 0, sqrt (2 * u / p) |]\n", " |]_i_j\n", "\n", "def g_i_j : Matrix MathValue :=\n", " generateTensor (\\[i, j] -> V.* e_i_# e_j_#) [5, 5]\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "97c43a04", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{1}{6} (-y + 1)$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g_2_2\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "c3b4ad22", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{1}{2} (-y + 1) (2 y^{3} - 3 y^{2} + a)^{-1}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g_4_4\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "34a97d65", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$(\\frac{-1}{9} \\cos(θ) (-y^{2} + a)^{-1} (2 y^{3} - 3 y^{2} + a) + \\frac{-1}{18} \\cos(θ) (-y + 1)^{-1} (-y^{2} + a)^{-1} (y^{2} - 2 y + a)^{2}, \\frac{-1}{9} \\cos(θ) (-y^{2} + a)^{-1} (2 y^{3} - 3 y^{2} + a) + \\frac{-1}{18} \\cos(θ) (-y + 1)^{-1} (-y^{2} + a)^{-1} (y^{2} - 2 y + a)^{2}, \\frac{-1}{3} \\cos(θ) (-y + 1)^{-1} (y^{2} - 2 y + a), \\frac{-1}{3} \\cos(θ) (-y + 1)^{-1} (y^{2} - 2 y + a))$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(g_1_3, g_3_1, g_1_5, g_5_1)\n" ] }, { "cell_type": "markdown", "id": "2a675a89", "metadata": {}, "source": [ "## 接続と曲率の計算手順\n", "\n", "第一種クリストッフェル記号には、上で示した計量の微分だけが必要です。\n", "添字を上げる段階で、結合したブロックの逆行列が現れます。それでも、\n", "リーマンテンソルとリッチテンソルの定義は低次元の例と同じです。\n", "\n", "$$\n", "R^i{}_{jkl}=\\partial_k\\Gamma^i{}_{jl}-\\partial_l\\Gamma^i{}_{jk}\n", " +\\Gamma^m{}_{jl}\\Gamma^i{}_{mk}-\\Gamma^m{}_{jk}\\Gamma^i{}_{ml},\n", "\\qquad\n", "\\operatorname{Ric}_{ij}=R^m{}_{imj}.\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "a5dfe69c", "metadata": {}, "outputs": [], "source": [ "def g~i~j : Matrix MathValue := M.inverse g_#_#\n", "\n", "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", "\n", "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", "\n", "def Ric_i_j : Matrix MathValue := withSymbols [m]\n", " sum (contract R~m_i_m_j)\n", "\n", "def einsteinResidual_i_j : Matrix MathValue := withSymbols [i, j]\n", " expandAll' (Ric_i_j -' 4 *' g_i_j)\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "5f547b8f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{-1}{12}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Γ_2_2_4\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "f5b5e2a0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{-1}{12}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Γ_2_4_2\n" ] }, { "cell_type": "markdown", "id": "6ac949ef", "metadata": {}, "source": [ "## 結果の解釈と評価方針\n", "\n", "例として取り出した2つの第一種クリストッフェル記号は、単純な成分\n", "$g_{22}=p/6$ から得られ、期待される対称性\n", "$\\Gamma_{ijk}=\\Gamma_{ikj}$ を示します。完全な検証を表すのが\n", "`einsteinResidual_#_#` です。数学的にはこれは零行列となるため、\n", "スカラー曲率は $5\\cdot4=20$ です。\n", "\n", "残差の25成分をすべて展開すると、結合ブロックの逆行列と多数の有理式の\n", "簡約が必要になります。そのため、意図的に自動実行される出力セルには\n", "していません。この恒等式を対話的に調べるときは、\n", "`einsteinResidual_2_2` のような個々の成分を評価してください。\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 }