{ "cells": [ { "cell_type": "markdown", "id": "8b315f4d", "metadata": {}, "source": [ "# Wedge Product and Antisymmetrization\n", "\n", "Differential forms multiply with the alternating wedge product.\n", "For one-forms $a$ and $b$,\n", "\n", "$$(a\\wedge b)_{ij}=\\frac12(a_i b_j-a_j b_i),$$\n", "\n", "so $a\\wedge b=-b\\wedge a$ and $a\\wedge a=0$. Egison first\n", "constructs an indexed tensor product and then exposes the alternating\n", "differential-form representative through `dfNormalize`.\n" ] }, { "cell_type": "markdown", "id": "9c777e4a", "metadata": {}, "source": [ "## Coordinate one-forms in $\\mathbb R^3$\n", "\n", "In the ordered basis $(dx,dy,dz)$, each basis one-form is represented\n", "by a vector. The ambient dimension and coordinates are included to\n", "make the geometric setting explicit.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "f0bc9356", "metadata": {}, "outputs": [], "source": [ "declare symbol x, y, z : MathValue\n", "\n", "def N : Integer := 3\n", "def params : Vector MathValue := [| x, y, z |]\n", "\n", "def dx : DiffForm Integer := [| 1, 0, 0 |]\n", "def dy : DiffForm Integer := [| 0, 1, 0 |]\n", "def dz : DiffForm Integer := [| 0, 0, 1 |]\n" ] }, { "cell_type": "markdown", "id": "5a872c8c", "metadata": {}, "source": [ "## Raw indexed product\n", "\n", "The raw wedge expression retains the ordered component generated by\n", "the tensor operation. Looking at it before normalization makes the\n", "representation convention visible.\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "5d3cef2e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 & 1 & 0 \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dx ∧ dy\n" ] }, { "cell_type": "markdown", "id": "92429ee5", "metadata": {}, "source": [ "## Alternating two-form\n", "\n", "Normalization distributes that component over the antisymmetric\n", "matrix. The entries at $(1,2)$ and $(2,1)$ have opposite signs and\n", "carry the conventional factor $1/2$.\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "3eba21e0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 & \\frac{1}{2} & 0 \\\\ \\frac{-1}{2} & 0 & 0 \\\\ 0 & 0 & 0 \\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfNormalize (dx ∧ dy)\n" ] }, { "cell_type": "markdown", "id": "bf2b9fb6", "metadata": {}, "source": [ "Antisymmetrization also removes a repeated basis direction. Although\n", "the intermediate indexed product $dz\\wedge dz$ has a diagonal entry,\n", "its differential-form normalization is zero.\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "3b03c11a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{pmatrix} 0 & 0 & 0 \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \\\\ \\end{pmatrix}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfNormalize (dz ∧ dz)\n" ] }, { "cell_type": "markdown", "id": "c0e171c2", "metadata": {}, "source": [ "Thus `dfNormalize` is not cosmetic: it projects an indexed tensor onto\n", "its alternating part. Once normalized, the displayed tensors obey the\n", "geometric identities $dx\\wedge dy=-dy\\wedge dx$ and $dz\\wedge dz=0$.\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 }