{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{equation*} phi = \\phi ^{t} \\boldsymbol{e}_{t} + \\phi ^{x} \\boldsymbol{e}_{x} + \\phi ^{y} \\boldsymbol{e}_{y} + \\phi ^{z} \\boldsymbol{e}_{z} \\end{equation*}" ], "text/plain": [ "\\phi ^{t} \\boldsymbol{e}_{t} + \\phi ^{x} \\boldsymbol{e}_{x} + \\phi ^{y} \\boldsymbol{e}_{y} + \\phi ^{z} \\boldsymbol{e}_{z}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from galgebra.ga import Ga\n", "from sympy import symbols\n", "from galgebra.printer import Format\n", "\n", "Format()\n", "coords = (et,ex,ey,ez) = symbols('t,x,y,z',real=True)\n", "base=Ga('e*t|x|y|z',g=[1,-1,-1,-1],coords=symbols('t,x,y,z',real=True),wedge=False)\n", "\n", "potential=base.mv('phi','vector',f=True)\n", "potential" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{equation*} \\left ( \\partial_{t} \\phi ^{t} + \\partial_{x} \\phi ^{x} + \\partial_{y} \\phi ^{y} + \\partial_{z} \\phi ^{z} \\right ) + \\left ( \\partial_{x} \\phi ^{t} + \\partial_{t} \\phi ^{x} \\right ) \\boldsymbol{e}_{tx} + \\left ( \\partial_{y} \\phi ^{t} + \\partial_{t} \\phi ^{y} \\right ) \\boldsymbol{e}_{ty} + \\left ( \\partial_{z} \\phi ^{t} + \\partial_{t} \\phi ^{z} \\right ) \\boldsymbol{e}_{tz} + \\left ( \\partial_{y} \\phi ^{x} - \\partial_{x} \\phi ^{y} \\right ) \\boldsymbol{e}_{xy} + \\left ( \\partial_{z} \\phi ^{x} - \\partial_{x} \\phi ^{z} \\right ) \\boldsymbol{e}_{xz} + \\left ( \\partial_{z} \\phi ^{y} - \\partial_{y} \\phi ^{z} \\right ) \\boldsymbol{e}_{yz} \\end{equation*}" ], "text/plain": [ "\\left ( \\partial_{t} \\phi ^{t} + \\partial_{x} \\phi ^{x} + \\partial_{y} \\phi ^{y} + \\partial_{z} \\phi ^{z} \\right ) + \\left ( \\partial_{x} \\phi ^{t} + \\partial_{t} \\phi ^{x} \\right ) \\boldsymbol{e}_{tx} + \\left ( \\partial_{y} \\phi ^{t} + \\partial_{t} \\phi ^{y} \\right ) \\boldsymbol{e}_{ty} + \\left ( \\partial_{z} \\phi ^{t} + \\partial_{t} \\phi ^{z} \\right ) \\boldsymbol{e}_{tz} + \\left ( \\partial_{y} \\phi ^{x} - \\partial_{x} \\phi ^{y} \\right ) \\boldsymbol{e}_{xy} + \\left ( \\partial_{z} \\phi ^{x} - \\partial_{x} \\phi ^{z} \\right ) \\boldsymbol{e}_{xz} + \\left ( \\partial_{z} \\phi ^{y} - \\partial_{y} \\phi ^{z} \\right ) \\boldsymbol{e}_{yz}" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "field=base.grad*potential\n", "field" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{equation*} \\left ( \\partial^{2}_{t} \\phi ^{t} - \\partial^{2}_{x} \\phi ^{t} - \\partial^{2}_{y} \\phi ^{t} - \\partial^{2}_{z} \\phi ^{t} \\right ) \\boldsymbol{e}_{t} + \\left ( \\partial^{2}_{t} \\phi ^{x} - \\partial^{2}_{x} \\phi ^{x} - \\partial^{2}_{y} \\phi ^{x} - \\partial^{2}_{z} \\phi ^{x} \\right ) \\boldsymbol{e}_{x} + \\left ( \\partial^{2}_{t} \\phi ^{y} - \\partial^{2}_{x} \\phi ^{y} - \\partial^{2}_{y} \\phi ^{y} - \\partial^{2}_{z} \\phi ^{y} \\right ) \\boldsymbol{e}_{y} + \\left ( \\partial^{2}_{t} \\phi ^{z} - \\partial^{2}_{x} \\phi ^{z} - \\partial^{2}_{y} \\phi ^{z} - \\partial^{2}_{z} \\phi ^{z} \\right ) \\boldsymbol{e}_{z} \\end{equation*}" ], "text/plain": [ "\\left ( \\partial^{2}_{t} \\phi ^{t} - \\partial^{2}_{x} \\phi ^{t} - \\partial^{2}_{y} \\phi ^{t} - \\partial^{2}_{z} \\phi ^{t} \\right ) \\boldsymbol{e}_{t} + \\left ( \\partial^{2}_{t} \\phi ^{x} - \\partial^{2}_{x} \\phi ^{x} - \\partial^{2}_{y} \\phi ^{x} - \\partial^{2}_{z} \\phi ^{x} \\right ) \\boldsymbol{e}_{x} + \\left ( \\partial^{2}_{t} \\phi ^{y} - \\partial^{2}_{x} \\phi ^{y} - \\partial^{2}_{y} \\phi ^{y} - \\partial^{2}_{z} \\phi ^{y} \\right ) \\boldsymbol{e}_{y} + \\left ( \\partial^{2}_{t} \\phi ^{z} - \\partial^{2}_{x} \\phi ^{z} - \\partial^{2}_{y} \\phi ^{z} - \\partial^{2}_{z} \\phi ^{z} \\right ) \\boldsymbol{e}_{z}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad_field = base.grad*field\n", "grad_field" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{equation*} \\left ( \\partial_{x} \\phi ^{t} + \\partial_{t} \\phi ^{x} \\right ) \\boldsymbol{e}_{tx} \\end{equation*}" ], "text/plain": [ "\\left ( \\partial_{x} \\phi ^{t} + \\partial_{t} \\phi ^{x} \\right ) \\boldsymbol{e}_{tx}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "part=field.proj([base.mv()[0]^base.mv()[1]])\n", "part" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\begin{equation*} \\left ( - \\partial^{2}_{x} \\phi ^{t} - \\partial_{t}\\partial_{x} \\phi ^{x} \\right ) \\boldsymbol{e}_{t} + \\left ( \\partial^{2}_{t} \\phi ^{x} + \\partial_{t}\\partial_{x} \\phi ^{t} \\right ) \\boldsymbol{e}_{x} + \\left ( - \\partial_{x}\\partial_{y} \\phi ^{t} - \\partial_{t}\\partial_{y} \\phi ^{x} \\right ) \\boldsymbol{e}_{txy} + \\left ( - \\partial_{x}\\partial_{z} \\phi ^{t} - \\partial_{t}\\partial_{z} \\phi ^{x} \\right ) \\boldsymbol{e}_{txz} \\end{equation*}" ], "text/plain": [ "\\left ( - \\partial^{2}_{x} \\phi ^{t} - \\partial_{t}\\partial_{x} \\phi ^{x} \\right ) \\boldsymbol{e}_{t} + \\left ( \\partial^{2}_{t} \\phi ^{x} + \\partial_{t}\\partial_{x} \\phi ^{t} \\right ) \\boldsymbol{e}_{x} + \\left ( - \\partial_{x}\\partial_{y} \\phi ^{t} - \\partial_{t}\\partial_{y} \\phi ^{x} \\right ) \\boldsymbol{e}_{txy} + \\left ( - \\partial_{x}\\partial_{z} \\phi ^{t} - \\partial_{t}\\partial_{z} \\phi ^{x} \\right ) \\boldsymbol{e}_{txz}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dpart = base.grad*part\n", "dpart" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }