{ "cells": [ { "cell_type": "markdown", "id": "b663557d", "metadata": {}, "source": [ "# 3次元ユークリッド空間のホッジスター\n", "\n", "計量と向きを定めると、$k$ 形式を $(3-k)$ 形式と対応付けられます。\n", "向き付けられたユークリッド座標では、\n", "\n", "$$\\star dx=dy\\wedge dz,\\qquad\n", " \\star(dx\\wedge dy)=dz.$$\n", "\n", "となります。ホッジスターは、微分形式の計算に計量が現れる箇所です。\n" ] }, { "cell_type": "markdown", "id": "3d40de1d", "metadata": {}, "source": [ "## ユークリッド計量と基底形式\n", "\n", "$(x,y,z)$ 上の単位行列による計量と標準的な向きを用います。\n", "計量を記号的な数式値の行列として型付けすることで、同じ定義パターンを\n", "成分が定数でない計量にも適用できます。\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "414d7009", "metadata": {}, "outputs": [], "source": [ "declare symbol x, y, z : MathValue\n", "\n", "def N : Integer := 3\n", "def params : Vector MathValue := [| x, y, z |]\n", "def g : Matrix MathValue :=\n", " [| [| 1, 0, 0 |], [| 0, 1, 0 |], [| 0, 0, 1 |] |]\n", "\n", "def dx : DiffForm MathValue := [| 1, 0, 0 |]\n", "def dy : DiffForm MathValue := [| 0, 1, 0 |]\n", "def dz : DiffForm MathValue := [| 0, 0, 1 |]\n" ] }, { "cell_type": "markdown", "id": "d349f99b", "metadata": {}, "source": [ "## ホッジスターの定義\n", "\n", "$k$ 形式 $A$ に対し、レヴィ・チヴィタテンソルが相補的な添字を与え、\n", "逆計量が縮約する添字を上げ、$\\sqrt{|\\det g|}$ が体積密度を与えます。\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "644e647b", "metadata": {}, "outputs": [], "source": [ "def hodge (A : DiffForm MathValue) : DiffForm MathValue :=\n", " let k := dfOrder A\n", " in withSymbols [i, j]\n", " sqrt (abs (M.det g_#_#)) *\n", " foldl\n", " (.)\n", " ((ε' N k)_(i_1)..._(i_N) . A..._(j_1)..._(j_k))\n", " (map (\\n -> g~(i_n)~(j_n)) [1..k])\n" ] }, { "cell_type": "markdown", "id": "76653814", "metadata": {}, "source": [ "1形式は、向き付けられた相補平面上の2形式へ写ります。\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "5118d224", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 & 0 & 0 \\\\ 0 & 0 & 1 \\\\ 0 & 0 & 0 \\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hodge dx\n" ] }, { "cell_type": "markdown", "id": "566cca28", "metadata": {}, "source": [ "逆に、$xy$ 平面の向き付けられた面積形式は、その平面に垂直な1形式へ写ります。\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "adfb44f9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 \\\\ 0 \\\\ 1\\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hodge (wedge dx dy)\n" ] }, { "cell_type": "markdown", "id": "23226d48", "metadata": {}, "source": [ "二つの出力は、$\\star dx=dy\\wedge dz$ と\n", "$\\star(dx\\wedge dy)=dz$ を成分で表したものです。3次元ユークリッド計量では、\n", "1形式または2形式に $\\star$ を2回適用すると正符号で元に戻ります。\n", "計量の符号を変えるとこの符号も変化することを、ミンコフスキー空間のNotebookで確認します。\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 }