import os
from galgebra_ipython_helpers import check as check_latex, run
os.chdir('../Old Format')
run('bad_example')
3*e_x + 4*e_y 5 25 3*e_x/5 + 4*e_y/5 3*e_x/25 + 4*e_y/25 1 3*e_x/25 + 4*e_y/25
bad_example.py:4: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV
run('eval_check')
Frame = (ex + ey, ex - ey) Reciprocal Frame = (ex/2 + ey/2, ex/2 - ey/2) eu.eu_r = 1 eu.ev_r = 0 ev.eu_r = 0 ev.ev_r = 1 Frame = (ex + ey + ez, ex - ey) Reciprocal Frame = (ex/3 + ey/3 + ez/3, ex/2 - ey/2) eu.eu_r = 1 eu.ev_r = 0 ev.eu_r = 0 ev.ev_r = 1 eu = ex + ey + ez ev = ex - ey eu^ev|ex (eu^(ev|ex)) ex + ey + ez eu^ev|ex*eu ((eu^(ev|ex))*eu) 3
eval_check.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV,ReciprocalFrame eval_check.py:19: DeprecationWarning: The `galgebra.deprecated.ReciprocalFrame` function is deprecated in favor of the `ReciprocalFrame` method of `Ga` objects. (eu_r,ev_r) = ReciprocalFrame([eu,ev]) eval_check.py:31: DeprecationWarning: The `galgebra.deprecated.ReciprocalFrame` function is deprecated in favor of the `ReciprocalFrame` method of `Ga` objects. (eu_r,ev_r) = ReciprocalFrame([eu,ev])
run('exp_check')
u__x*e_x + u__y*e_y + u__z*e_z v__x*e_x + v__y*e_y + v__z*e_z (u__x*v__y - u__y*v__x)*e_x^e_y + (u__x*v__z - u__z*v__x)*e_x^e_z + (u__y*v__z - u__z*v__y)*e_y^e_z True
exp_check.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV exp_check.py:12: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. u = MV('u','vector') exp_check.py:13: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v','vector') exp_check.py:14: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. w = MV('w','vector')
check_latex('latex_check')
latex_check.py:7: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV latex_check.py:32: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','mv') latex_check.py:41: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') latex_check.py:42: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. Y = MV('Y','vector') latex_check.py:60: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') latex_check.py:61: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','spinor') latex_check.py:77: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') latex_check.py:78: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','spinor') latex_check.py:115: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) latex_check.py:116: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) latex_check.py:117: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) latex_check.py:118: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. C = MV('C','mv') latex_check.py:142: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) latex_check.py:143: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) latex_check.py:144: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) latex_check.py:24: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. a = MV(sym_lst,'vector')
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def basic_multivector_operations_3D(): Print_Function() (ex,ey,ez) = MV.setup('e*x|y|z') A = MV('A','mv') A.Fmt(1,'A') A.Fmt(2,'A') A.Fmt(3,'A') A.even().Fmt(1,'%A_{+}') A.odd().Fmt(1,'%A_{-}') X = MV('X','vector') Y = MV('Y','vector') print('g_{ij} = ',MV.metric) X.Fmt(1,'X') Y.Fmt(1,'Y') (X*Y).Fmt(2,'X*Y') (X^Y).Fmt(2,'X^Y') (X|Y).Fmt(2,'X|Y') return \end{lstlisting} Code Output: \begin{equation*} A = A + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} A = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} A = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} \\ & + A^{y} \boldsymbol{e}_{y} \\ & + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \\ & + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} \\ & + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} g_{ij} = \left[\begin{array}{ccc}\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{x}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{z}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{z}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{z}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{z}\right ) & \left (\boldsymbol{e}_{z}\cdot \boldsymbol{e}_{z}\right ) \end{array}\right] \end{equation*} \begin{equation*} X = X^{x} \boldsymbol{e}_{x} + X^{y} \boldsymbol{e}_{y} + X^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} Y = Y^{x} \boldsymbol{e}_{x} + Y^{y} \boldsymbol{e}_{y} + Y^{z} \boldsymbol{e}_{z} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def basic_multivector_operations_2D(): Print_Function() (ex,ey) = MV.setup('e*x|y') print('g_{ij} =',MV.metric) X = MV('X','vector') A = MV('A','spinor') X.Fmt(1,'X') A.Fmt(1,'A') (X|A).Fmt(2,'X|A') (X<A).Fmt(2,'X<A') (A>X).Fmt(2,'A>X') return \end{lstlisting} Code Output: \begin{equation*} g_{ij} = \left[\begin{array}{cc}\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{x}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{y}\right ) \end{array}\right] \end{equation*} \begin{equation*} X = X^{x} \boldsymbol{e}_{x} + X^{y} \boldsymbol{e}_{y} \end{equation*} \begin{equation*} A = A + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def basic_multivector_operations_2D_orthogonal(): Print_Function() (ex,ey) = MV.setup('e*x|y',metric='[1,1]') print('g_{ii} =',MV.metric) X = MV('X','vector') A = MV('A','spinor') X.Fmt(1,'X') A.Fmt(1,'A') (X*A).Fmt(2,'X*A') (X|A).Fmt(2,'X|A') (X<A).Fmt(2,'X<A') (X>A).Fmt(2,'X>A') (A*X).Fmt(2,'A*X') (A|X).Fmt(2,'A|X') (A<X).Fmt(2,'A<X') (A>X).Fmt(2,'A>X') return \end{lstlisting} Code Output: \begin{equation*} g_{ii} = \left[\begin{array}{cc}1 & 0\\0 & 1\end{array}\right] \end{equation*} \begin{equation*} X = X^{x} \boldsymbol{e}_{x} + X^{y} \boldsymbol{e}_{y} \end{equation*} \begin{equation*} A = A + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def check_generalized_BAC_CAB_formulas(): Print_Function() (a,b,c,d) = MV.setup('a b c d') print('g_{ij} =',MV.metric) print('\\bm{a|(b*c)} =',a|(b*c)) print('\\bm{a|(b^c)} =',a|(b^c)) print('\\bm{a|(b^c^d)} =',a|(b^c^d)) print('\\bm{a|(b^c)+c|(a^b)+b|(c^a)} =',(a|(b^c))+(c|(a^b))+(b|(c^a))) print('\\bm{a*(b^c)-b*(a^c)+c*(a^b)} =',a*(b^c)-b*(a^c)+c*(a^b)) print('\\bm{a*(b^c^d)-b*(a^c^d)+c*(a^b^d)-d*(a^b^c)} =',a*(b^c^d)-b*(a^c^d)+c*(a^b^d)-d*(a^b^c)) print('\\bm{(a^b)|(c^d)} =',(a^b)|(c^d)) print('\\bm{((a^b)|c)|d} =',((a^b)|c)|d) print('\\bm{(a^b)\\times (c^d)} =',Ga.com(a^b,c^d)) return \end{lstlisting} Code Output: \begin{equation*} g_{ij} = \left[\begin{array}{cccc}\left (\boldsymbol{a}\cdot \boldsymbol{a}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{d}\cdot \boldsymbol{d}\right ) \end{array}\right] \end{equation*} \begin{equation*} \bm{a\cdot (b c)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c\W d)} = \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \boldsymbol{b}\wedge \boldsymbol{c} - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b}\wedge \boldsymbol{d} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c}\wedge \boldsymbol{d} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c)+c\cdot (a\W b)+b\cdot (c\W a)} = 0 \end{equation*} \begin{equation*} \bm{a (b\W c)-b (a\W c)+c (a\W b)} = 3 \boldsymbol{a}\wedge \boldsymbol{b}\wedge \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a (b\W c\W d)-b (a\W c\W d)+c (a\W b\W d)-d (a\W b\W c)} = 4 \boldsymbol{a}\wedge \boldsymbol{b}\wedge \boldsymbol{c}\wedge \boldsymbol{d} \end{equation*} \begin{equation*} \bm{(a\W b)\cdot (c\W d)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \end{equation*} \begin{equation*} \bm{((a\W b)\cdot c)\cdot d} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \end{equation*} \begin{equation*} \bm{(a\W b)\times (c\W d)} = - \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) \boldsymbol{a}\wedge \boldsymbol{c} + \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \boldsymbol{a}\wedge \boldsymbol{d} + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \boldsymbol{b}\wedge \boldsymbol{c} - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b}\wedge \boldsymbol{d} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def rounding_numerical_components(): Print_Function() (ex,ey,ez) = MV.setup('e_x e_y e_z',metric='[1,1,1]') X = 1.2*ex+2.34*ey+0.555*ez Y = 0.333*ex+4*ey+5.3*ez print('X =',X) print('Nga(X,2) =',Nga(X,2)) print('X*Y =',X*Y) print('Nga(X*Y,2) =',Nga(X*Y,2)) return \end{lstlisting} Code Output: \begin{equation*} X = 1.2 \boldsymbol{e}_{x} + 2.34 \boldsymbol{e}_{y} + 0.555 \boldsymbol{e}_{z} \end{equation*} \begin{equation*} Nga(X,2) = 1.2 \boldsymbol{e}_{x} + 2.3 \boldsymbol{e}_{y} + 0.55 \boldsymbol{e}_{z} \end{equation*} \begin{equation*} X Y = 12.7011 + 4.02078 \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + 6.175185 \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + 10.182 \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} Nga(X Y,2) = 13.0 + 4.0 \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + 6.2 \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + 10.0 \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def derivatives_in_rectangular_coordinates(): Print_Function() X = (x,y,z) = symbols('x y z') (ex,ey,ez,grad) = MV.setup('e_x e_y e_z',metric='[1,1,1]',coords=X) f = MV('f','scalar',fct=True) A = MV('A','vector',fct=True) B = MV('B','grade2',fct=True) C = MV('C','mv') print('f =',f) print('A =',A) print('B =',B) print('C =',C) print('grad*f =',grad*f) print('grad|A =',grad|A) print('grad*A =',grad*A) print(-MV.I) print('-I*(grad^A) =',-MV.I*(grad^A)) print('grad*B =',grad*B) print('grad^B =',grad^B) print('grad|B =',grad|B) return \end{lstlisting} Code Output: \begin{equation*} f = f \end{equation*} \begin{equation*} A = A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} B = B^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + B^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + B^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} C = C + C^{x} \boldsymbol{e}_{x} + C^{y} \boldsymbol{e}_{y} + C^{z} \boldsymbol{e}_{z} + C^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + C^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + C^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} + C^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} f = \partial_{x} f \boldsymbol{e}_{x} + \partial_{y} f \boldsymbol{e}_{y} + \partial_{z} f \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot A = \partial_{x} A^{x} + \partial_{y} A^{y} + \partial_{z} A^{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} A = \left ( \partial_{x} A^{x} + \partial_{y} A^{y} + \partial_{z} A^{z} \right ) + \left ( - \partial_{y} A^{x} + \partial_{x} A^{y} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + \left ( - \partial_{z} A^{x} + \partial_{x} A^{z} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + \left ( - \partial_{z} A^{y} + \partial_{y} A^{z} \right ) \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} - \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} -I (\boldsymbol{\nabla} \W A) = \left ( - \partial_{z} A^{y} + \partial_{y} A^{z} \right ) \boldsymbol{e}_{x} + \left ( \partial_{z} A^{x} - \partial_{x} A^{z} \right ) \boldsymbol{e}_{y} + \left ( - \partial_{y} A^{x} + \partial_{x} A^{y} \right ) \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} B = \left ( - \partial_{y} B^{xy} - \partial_{z} B^{xz} \right ) \boldsymbol{e}_{x} + \left ( \partial_{x} B^{xy} - \partial_{z} B^{yz} \right ) \boldsymbol{e}_{y} + \left ( \partial_{x} B^{xz} + \partial_{y} B^{yz} \right ) \boldsymbol{e}_{z} + \left ( \partial_{z} B^{xy} - \partial_{y} B^{xz} + \partial_{x} B^{yz} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \W B = \left ( \partial_{z} B^{xy} - \partial_{y} B^{xz} + \partial_{x} B^{yz} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot B = \left ( - \partial_{y} B^{xy} - \partial_{z} B^{xz} \right ) \boldsymbol{e}_{x} + \left ( \partial_{x} B^{xy} - \partial_{z} B^{yz} \right ) \boldsymbol{e}_{y} + \left ( \partial_{x} B^{xz} + \partial_{y} B^{yz} \right ) \boldsymbol{e}_{z} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def derivatives_in_spherical_coordinates(): Print_Function() X = (r,th,phi) = symbols('r theta phi') curv = [[r*cos(phi)*sin(th),r*sin(phi)*sin(th),r*cos(th)],[1,r,r*sin(th)]] (er,eth,ephi,grad) = MV.setup('e_r e_theta e_phi',metric='[1,1,1]',coords=X,curv=curv) f = MV('f','scalar',fct=True) A = MV('A','vector',fct=True) B = MV('B','grade2',fct=True) print('f =',f) print('A =',A) print('B =',B) print('grad*f =',grad*f) print('grad|A =',grad|A) print('-I*(grad^A) =',(-MV.I*(grad^A)).simplify()) print('grad^B =',grad^B) \end{lstlisting} Code Output: \begin{equation*} f = f \end{equation*} \begin{equation*} A = A^{r} \boldsymbol{e}_{r} + A^{\theta } \boldsymbol{e}_{\theta } + A^{\phi } \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} B = B^{r\theta } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta } + B^{r\phi } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\phi } + B^{\theta \phi } \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} f = \partial_{r} f \boldsymbol{e}_{r} + \frac{\partial_{\theta } f }{r^{2}} \boldsymbol{e}_{\theta } + \frac{\partial_{\phi } f }{r^{2} {\sin{\left (\theta \right )}}^{2}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot A = \frac{A^{\theta } }{\tan{\left (\theta \right )}} + \partial_{\phi } A^{\phi } + \partial_{r} A^{r} + \partial_{\theta } A^{\theta } + \frac{2 A^{r} }{r} \end{equation*} \begin{equation*} -I (\boldsymbol{\nabla} \W A) = \frac{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}} \cdot \left(\frac{2 A^{\phi } }{\tan{\left (\theta \right )}} + \partial_{\theta } A^{\phi } - \frac{\partial_{\phi } A^{\theta } }{{\sin{\left (\theta \right )}}^{2}}\right)}{r^{2}} \boldsymbol{e}_{r} + \frac{- r^{2} {\sin{\left (\theta \right )}}^{2} \partial_{r} A^{\phi } - 2 r A^{\phi } {\sin{\left (\theta \right )}}^{2} + \partial_{\phi } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\theta } + \frac{r^{2} \partial_{r} A^{\theta } + 2 r A^{\theta } - \partial_{\theta } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \W B = \frac{r^{2} \partial_{r} B^{\theta \phi } + 4 r B^{\theta \phi } - \frac{2 B^{r\phi } }{\tan{\left (\theta \right )}} - \partial_{\theta } B^{r\phi } + \frac{\partial_{\phi } B^{r\theta } }{{\sin{\left (\theta \right )}}^{2}}}{r^{2}} \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def conformal_representations_of_circles_lines_spheres_and_planes(): Print_Function() global n,nbar metric = '1 0 0 0 0,0 1 0 0 0,0 0 1 0 0,0 0 0 0 2,0 0 0 2 0' (e1,e2,e3,n,nbar) = MV.setup('e_1 e_2 e_3 n \\bar{n}',metric) print('g_{ij} =',MV.metric) e = n+nbar #conformal representation of points A = make_vector(e1) # point a = (1,0,0) A = F(a) B = make_vector(e2) # point b = (0,1,0) B = F(b) C = make_vector(-e1) # point c = (-1,0,0) C = F(c) D = make_vector(e3) # point d = (0,0,1) D = F(d) X = make_vector('x',3) print('F(a) =',A) print('F(b) =',B) print('F(c) =',C) print('F(d) =',D) print('F(x) =',X) print('#a = e1, b = e2, c = -e1, and d = e3') print('#A = F(a) = 1/2*(a*a*n+2*a-nbar), etc.') print('#Circle through a, b, and c') print('Circle: A^B^C^X = 0 =',(A^B^C^X)) print('#Line through a and b') print('Line : A^B^n^X = 0 =',(A^B^n^X)) print('#Sphere through a, b, c, and d') print('Sphere: A^B^C^D^X = 0 =',(((A^B)^C)^D)^X) print('#Plane through a, b, and d') print('Plane : A^B^n^D^X = 0 =',(A^B^n^D^X)) L = (A^B^e)^X L.Fmt(3,'Hyperbolic\\;\\; Circle: (A^B^e)^X = 0') return \end{lstlisting} Code Output: \begin{equation*} g_{ij} = \left[\begin{array}{ccccc}1 & 0 & 0 & 0 & 0\\0 & 1 & 0 & 0 & 0\\0 & 0 & 1 & 0 & 0\\0 & 0 & 0 & 0 & 2\\0 & 0 & 0 & 2 & 0\end{array}\right] \end{equation*} \begin{equation*} F(a) = \boldsymbol{e}_{1} + \frac{1}{2} \boldsymbol{n} - \frac{1}{2} \boldsymbol{\bar{n}} \end{equation*} \begin{equation*} F(b) = \boldsymbol{e}_{2} + \frac{1}{2} \boldsymbol{n} - \frac{1}{2} \boldsymbol{\bar{n}} \end{equation*} \begin{equation*} F(c) = - \boldsymbol{e}_{1} + \frac{1}{2} \boldsymbol{n} - \frac{1}{2} \boldsymbol{\bar{n}} \end{equation*} \begin{equation*} F(d) = \boldsymbol{e}_{3} + \frac{1}{2} \boldsymbol{n} - \frac{1}{2} \boldsymbol{\bar{n}} \end{equation*} \begin{equation*} F(x) = x_{1} \boldsymbol{e}_{1} + x_{2} \boldsymbol{e}_{2} + x_{3} \boldsymbol{e}_{3} + \left ( \frac{{\left ( x_{1} \right )}^{2}}{2} + \frac{{\left ( x_{2} \right )}^{2}}{2} + \frac{{\left ( x_{3} \right )}^{2}}{2}\right ) \boldsymbol{n} - \frac{1}{2} \boldsymbol{\bar{n}} \end{equation*} a = e1, b = e2, c = -e1, and d = e3 A = F(a) = 1/2*(a*a*n+2*a-nbar), etc. Circle through a, b, and c \begin{equation*} Circle: A\W B\W C\W X = 0 = - x_{3} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n} + x_{3} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{\bar{n}} + \left ( \frac{{\left ( x_{1} \right )}^{2}}{2} + \frac{{\left ( x_{2} \right )}^{2}}{2} + \frac{{\left ( x_{3} \right )}^{2}}{2} - \frac{1}{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} \end{equation*} Line through a and b \begin{equation*} Line : A\W B\W n\W X = 0 = - x_{3} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n} + \left ( \frac{x_{1}}{2} + \frac{x_{2}}{2} - \frac{1}{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} + \frac{x_{3}}{2} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} - \frac{x_{3}}{2} \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} \end{equation*} Sphere through a, b, c, and d \begin{equation*} Sphere: A\W B\W C\W D\W X = 0 = \left ( - \frac{{\left ( x_{1} \right )}^{2}}{2} - \frac{{\left ( x_{2} \right )}^{2}}{2} - \frac{{\left ( x_{3} \right )}^{2}}{2} + \frac{1}{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} \end{equation*} Plane through a, b, and d \begin{equation*} Plane : A\W B\W n\W D\W X = 0 = \left ( - \frac{x_{1}}{2} - \frac{x_{2}}{2} - \frac{x_{3}}{2} + \frac{1}{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{n}\wedge \boldsymbol{\bar{n}} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def properties_of_geometric_objects(): global n,nbar Print_Function() metric = '# # # 0 0,'+ \ '# # # 0 0,'+ \ '# # # 0 0,'+ \ '0 0 0 0 2,'+ \ '0 0 0 2 0' (p1,p2,p3,n,nbar) = MV.setup('p1 p2 p3 n \\bar{n}',metric) print('g_{ij} =',MV.metric) P1 = F(p1) P2 = F(p2) P3 = F(p3) print('#%\\text{Extracting direction of line from }L = P1\\W P2\\W n') L = P1^P2^n delta = (L|n)|nbar print('(L|n)|\\bar{n} =',delta) print('#%\\text{Extracting plane of circle from }C = P1\\W P2\\W P3') C = P1^P2^P3 delta = ((C^n)|n)|nbar print('((C^n)|n)|\\bar{n}=',delta) print('(p2-p1)^(p3-p1)=',(p2-p1)^(p3-p1)) return \end{lstlisting} Code Output: \begin{equation*} g_{ij} = \left[\begin{array}{ccccc}\left (\boldsymbol{p}_{1}\cdot \boldsymbol{p}_{1}\right ) & \left (\boldsymbol{p}_{1}\cdot \boldsymbol{p}_{2}\right ) & \left (\boldsymbol{p}_{1}\cdot \boldsymbol{p}_{3}\right ) & 0 & 0\\\left (\boldsymbol{p}_{1}\cdot \boldsymbol{p}_{2}\right ) & \left (\boldsymbol{p}_{2}\cdot \boldsymbol{p}_{2}\right ) & \left (\boldsymbol{p}_{2}\cdot \boldsymbol{p}_{3}\right ) & 0 & 0\\\left (\boldsymbol{p}_{1}\cdot \boldsymbol{p}_{3}\right ) & \left (\boldsymbol{p}_{2}\cdot \boldsymbol{p}_{3}\right ) & \left (\boldsymbol{p}_{3}\cdot \boldsymbol{p}_{3}\right ) & 0 & 0\\0 & 0 & 0 & 0 & 2\\0 & 0 & 0 & 2 & 0\end{array}\right] \end{equation*} \begin{equation*} \text{Extracting direction of line from }L = P1\W P2\W n \end{equation*} \begin{equation*} (L\cdot n)\cdot \bar{n} = 2 \boldsymbol{p}_{1} -2 \boldsymbol{p}_{2} \end{equation*} \begin{equation*} \text{Extracting plane of circle from }C = P1\W P2\W P3 \end{equation*} \begin{equation*} ((C\W n)\cdot n)\cdot \bar{n}= 2 \boldsymbol{p}_{1}\wedge \boldsymbol{p}_{2} -2 \boldsymbol{p}_{1}\wedge \boldsymbol{p}_{3} + 2 \boldsymbol{p}_{2}\wedge \boldsymbol{p}_{3} \end{equation*} \begin{equation*} (p2-p1)\W (p3-p1)= \boldsymbol{p}_{1}\wedge \boldsymbol{p}_{2} - \boldsymbol{p}_{1}\wedge \boldsymbol{p}_{3} + \boldsymbol{p}_{2}\wedge \boldsymbol{p}_{3} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def extracting_vectors_from_conformal_2_blade(): Print_Function() print(r'B = P1\W P2') metric = '0 -1 #,'+ \ '-1 0 #,'+ \ '# # #' (P1,P2,a) = MV.setup('P1 P2 a',metric) print('g_{ij} =',MV.metric) B = P1^P2 Bsq = B*B print('%B^{2} =',Bsq) ap = a-(a^B)*B print("a' = a-(a^B)*B =",ap) Ap = ap+ap*B Am = ap-ap*B print("A+ = a'+a'*B =",Ap) print("A- = a'-a'*B =",Am) print('%(A+)^{2} =',Ap*Ap) print('%(A-)^{2} =',Am*Am) aB = a|B print('a|B =',aB) return \end{lstlisting} Code Output: \begin{equation*} B = P1\W P2 \end{equation*} \begin{equation*} g_{ij} = \left[\begin{array}{ccc}0 & -1 & \left (\boldsymbol{P}_{1}\cdot \boldsymbol{a}\right ) \\-1 & 0 & \left (\boldsymbol{P}_{2}\cdot \boldsymbol{a}\right ) \\\left (\boldsymbol{P}_{1}\cdot \boldsymbol{a}\right ) & \left (\boldsymbol{P}_{2}\cdot \boldsymbol{a}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{a}\right ) \end{array}\right] \end{equation*} \begin{equation*} B^{2} = 1 \end{equation*} \begin{equation*} a' = a-(a\W B) B = - \left (\boldsymbol{P}_{2}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{1} - \left (\boldsymbol{P}_{1}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{2} \end{equation*} \begin{equation*} A+ = a'+a' B = - 2 \left (\boldsymbol{P}_{2}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{1} \end{equation*} \begin{equation*} A- = a'-a' B = - 2 \left (\boldsymbol{P}_{1}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{2} \end{equation*} \begin{equation*} (A+)^{2} = 0 \end{equation*} \begin{equation*} (A-)^{2} = 0 \end{equation*} \begin{equation*} a\cdot B = - \left (\boldsymbol{P}_{2}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{1} + \left (\boldsymbol{P}_{1}\cdot \boldsymbol{a}\right ) \boldsymbol{P}_{2} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def reciprocal_frame_test(): Print_Function() metric = '1 # #,'+ \ '# 1 #,'+ \ '# # 1' (e1,e2,e3) = MV.setup('e1 e2 e3',metric) print('g_{ij} =',MV.metric) E = e1^e2^e3 Esq = (E*E).scalar() print('E =',E) print('%E^{2} =',Esq) Esq_inv = 1/Esq E1 = (e2^e3)*E E2 = (-1)*(e1^e3)*E E3 = (e1^e2)*E print('E1 = (e2^e3)*E =',E1) print('E2 =-(e1^e3)*E =',E2) print('E3 = (e1^e2)*E =',E3) w = (E1|e2) w = w.expand() print('E1|e2 =',w) w = (E1|e3) w = w.expand() print('E1|e3 =',w) w = (E2|e1) w = w.expand() print('E2|e1 =',w) w = (E2|e3) w = w.expand() print('E2|e3 =',w) w = (E3|e1) w = w.expand() print('E3|e1 =',w) w = (E3|e2) w = w.expand() print('E3|e2 =',w) w = (E1|e1) w = (w.expand()).scalar() Esq = expand(Esq) print('%(E1\\cdot e1)/E^{2} =',simplify(w/Esq)) w = (E2|e2) w = (w.expand()).scalar() print('%(E2\\cdot e2)/E^{2} =',simplify(w/Esq)) w = (E3|e3) w = (w.expand()).scalar() print('%(E3\\cdot e3)/E^{2} =',simplify(w/Esq)) return \end{lstlisting} Code Output: \begin{equation*} g_{ij} = \left[\begin{array}{ccc}1 & \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) & \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \\\left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) & 1 & \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \\\left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) & \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) & 1\end{array}\right] \end{equation*} \begin{equation*} E = \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E^{2} = \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) ^{2} - 2 \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) ^{2} + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1 \end{equation*} \begin{equation*} E1 = (e2\W e3) E = \left ( \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1\right ) \boldsymbol{e}_{1} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{2} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E2 =-(e1\W e3) E = \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{1} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1\right ) \boldsymbol{e}_{2} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E3 = (e1\W e2) E = \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{1} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{2} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) ^{2} - 1\right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E1\cdot e2 = 0 \end{equation*} \begin{equation*} E1\cdot e3 = 0 \end{equation*} \begin{equation*} E2\cdot e1 = 0 \end{equation*} \begin{equation*} E2\cdot e3 = 0 \end{equation*} \begin{equation*} E3\cdot e1 = 0 \end{equation*} \begin{equation*} E3\cdot e2 = 0 \end{equation*} \begin{equation*} (E1\cdot e1)/E^{2} = 1 \end{equation*} \begin{equation*} (E2\cdot e2)/E^{2} = 1 \end{equation*} \begin{equation*} (E3\cdot e3)/E^{2} = 1 \end{equation*} \end{document}
check_latex('matrix_latex')
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{equation*} \left[\begin{array}{cc}1 & 2\\3 & 4\end{array}\right] \left[\begin{array}{c}5\\6\end{array}\right] = \left[\begin{array}{c}17\\39\end{array}\right] \end{equation*} \begin{equation*} \left[\begin{array}{cc}x^{3} & y^{3}\end{array}\right] \left[\begin{array}{cc}x^{2} & 2 x y\\2 x y & y^{2}\end{array}\right] = \left[\begin{array}{cc}x^{5} + 2 x y^{4} & 2 x^{4} y + y^{5}\end{array}\right] \end{equation*} \end{document}
run('mv_setup_options')
v__1*e_1 + v__2*e_2 + v__3*e_3 v__1*e_1 + v__2*e_2 + v__3*e_3 v__x*e_x + v__y*e_y + v__z*e_z v__x*e_x + v__y*e_y + v__z*e_z
mv_setup_options.py:3: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV mv_setup_options.py:8: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v', 'vector') mv_setup_options.py:12: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v', 'vector') mv_setup_options.py:16: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v', 'vector') mv_setup_options.py:21: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v', 'vector')
check_latex('physics_check_latex')
physics_check_latex.py:6: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV physics_check_latex.py:14: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','vector',fct=True) physics_check_latex.py:15: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. E = MV('E','vector',fct=True) physics_check_latex.py:20: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. J = MV('J','vector',fct=True) physics_check_latex.py:48: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. psi = MV('psi','spinor',fct=True) physics_check_latex.py:49: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True)
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def Maxwells_Equations_in_Geometric_Calculus(): Print_Function() X = symbols('t x y z') (g0,g1,g2,g3,grad) = MV.setup('gamma*t|x|y|z',metric='[1,-1,-1,-1]',coords=X) I = MV.I B = MV('B','vector',fct=True) E = MV('E','vector',fct=True) B.set_coef(1,0,0) E.set_coef(1,0,0) B *= g0 E *= g0 J = MV('J','vector',fct=True) F = E+I*B print(r'\text{Pseudo Scalar\;\;}I =',I) print('\\text{Magnetic Field Bi-Vector\\;\\;} B = \\bm{B\\gamma_{t}} =',B) print('\\text{Electric Field Bi-Vector\\;\\;} E = \\bm{E\\gamma_{t}} =',E) print('\\text{Electromagnetic Field Bi-Vector\\;\\;} F = E+IB =',F) print('%\\text{Four Current Density\\;\\;} J =',J) gradF = grad*F print('#Geometric Derivative of Electomagnetic Field Bi-Vector') gradF.Fmt(3,'grad*F') print('#Maxwell Equations') print('grad*F = J') print('#Div $E$ and Curl $H$ Equations') (gradF.grade(1)-J).Fmt(3,'%\\grade{\\nabla F}_{1} -J = 0') print('#Curl $E$ and Div $B$ equations') (gradF.grade(3)).Fmt(3,'%\\grade{\\nabla F}_{3} = 0') return \end{lstlisting} Code Output: \begin{equation*} \text{Pseudo Scalar\;\;}I = \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \text{Magnetic Field Bi-Vector\;\;} B = \bm{B\gamma_{t}} = - B^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - B^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - B^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \text{Electric Field Bi-Vector\;\;} E = \bm{E\gamma_{t}} = - E^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - E^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - E^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \text{Electromagnetic Field Bi-Vector\;\;} F = E+IB = - E^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - E^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - E^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} - B^{z} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y} + B^{y} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{z} - B^{x} \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \text{Four Current Density\;\;} J = J^{t} \boldsymbol{\gamma }_{t} + J^{x} \boldsymbol{\gamma }_{x} + J^{y} \boldsymbol{\gamma }_{y} + J^{z} \boldsymbol{\gamma }_{z} \end{equation*} Geometric Derivative of Electomagnetic Field Bi-Vector Maxwell Equations \begin{equation*} \boldsymbol{\nabla} F = J \end{equation*} Div $E$ and Curl $H$ Equations Curl $E$ and Div $B$ equations \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def Dirac_Equation_in_Geometric_Calculus(): Print_Function() vars = symbols('t x y z') (g0,g1,g2,g3,grad) = MV.setup('gamma*t|x|y|z',metric='[1,-1,-1,-1]',coords=vars) I = MV.I (m,e) = symbols('m e') psi = MV('psi','spinor',fct=True) A = MV('A','vector',fct=True) sig_z = g3*g0 print('\\text{4-Vector Potential\\;\\;}\\bm{A} =',A) print('\\text{8-component real spinor\\;\\;}\\bm{\\psi} =',psi) dirac_eq = (grad*psi)*I*sig_z-e*A*psi-m*psi*g0 dirac_eq.simplify() dirac_eq.Fmt(3,r'%\text{Dirac Equation\;\;}\nabla \bm{\psi} I \sigma_{z}-e\bm{A}\bm{\psi}-m\bm{\psi}\gamma_{t} = 0') return \end{lstlisting} Code Output: \begin{equation*} \text{4-Vector Potential\;\;}\bm{A} = A^{t} \boldsymbol{\gamma }_{t} + A^{x} \boldsymbol{\gamma }_{x} + A^{y} \boldsymbol{\gamma }_{y} + A^{z} \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \text{8-component real spinor\;\;}\bm{\psi} = \psi + \psi ^{tx} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} + \psi ^{ty} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} + \psi ^{tz} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} + \psi ^{xy} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y} + \psi ^{xz} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{z} + \psi ^{yz} \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} + \psi ^{txyz} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def Lorentz_Tranformation_in_Geometric_Algebra(): Print_Function() (alpha,beta,gamma) = symbols('alpha beta gamma') (x,t,xp,tp) = symbols("x t x' t'") (g0,g1) = MV.setup('gamma*t|x',metric='[1,-1]') from sympy import sinh,cosh R = cosh(alpha/2)+sinh(alpha/2)*(g0^g1) X = t*g0+x*g1 Xp = tp*g0+xp*g1 print('R =',R) print(r"#%t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = t'\bm{\gamma'_{t}}+x'\bm{\gamma'_{x}} = R\lp t'\bm{\gamma_{t}}+x'\bm{\gamma_{x}}\rp R^{\dagger}") Xpp = R*Xp*R.rev() Xpp = Xpp.collect() Xpp = Xpp.subs({2*sinh(alpha/2)*cosh(alpha/2):sinh(alpha),sinh(alpha/2)**2+cosh(alpha/2)**2:cosh(alpha)}) print(r"%t\bm{\gamma_{t}}+x\bm{\gamma_{x}} =",Xpp) Xpp = Xpp.subs({sinh(alpha):gamma*beta,cosh(alpha):gamma}) print(r'%\f{\sinh}{\alpha} = \gamma\beta') print(r'%\f{\cosh}{\alpha} = \gamma') print(r"%t\bm{\gamma_{t}}+x\bm{\gamma_{x}} =",Xpp.collect()) return \end{lstlisting} Code Output: \begin{equation*} R = \cosh{\left (\frac{\alpha }{2} \right )} + \sinh{\left (\frac{\alpha }{2} \right )} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = t'\bm{\gamma'_{t}}+x'\bm{\gamma'_{x}} = R\lp t'\bm{\gamma_{t}}+x'\bm{\gamma_{x}}\rp R^{\dagger} \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = \left ( 2 t' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + t' - x' \sinh{\left (\alpha \right )}\right ) \boldsymbol{\gamma }_{t} + \left ( - t' \sinh{\left (\alpha \right )} + 2 x' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + x'\right ) \boldsymbol{\gamma }_{x} \end{equation*} \begin{equation*} \f{\sinh}{\alpha} = \gamma\beta \end{equation*} \begin{equation*} \f{\cosh}{\alpha} = \gamma \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = \left ( - \beta \gamma x' + 2 t' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + t'\right ) \boldsymbol{\gamma }_{t} + \left ( - \beta \gamma t' + 2 x' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + x'\right ) \boldsymbol{\gamma }_{x} \end{equation*} \end{document}
check_latex('print_check_latex')
print_check_latex.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV print_check_latex.py:11: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','mv') print_check_latex.py:19: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) print_check_latex.py:20: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) print_check_latex.py:21: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) print_check_latex.py:88: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) print_check_latex.py:89: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) print_check_latex.py:90: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) print_check_latex.py:104: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','vector',fct=True) print_check_latex.py:105: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. E = MV('E','vector',fct=True) print_check_latex.py:110: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. J = MV('J','vector',fct=True) print_check_latex.py:152: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. psi = MV('psi','spinor',fct=True) print_check_latex.py:153: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True)
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{equation*} \bm{A} = A + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \bm{A} = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} \bm{A} = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} \\ & + A^{y} \boldsymbol{e}_{y} \\ & + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \\ & + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} \\ & + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} \bm{A} = A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \bm{B} = B^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + B^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + B^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} f = \partial_{x} f \boldsymbol{e}_{x} + \partial_{y} f \boldsymbol{e}_{y} + \partial_{z} f \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot \bm{A} = \partial_{x} A^{x} + \partial_{y} A^{y} + \partial_{z} A^{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \bm{A} = \left ( \partial_{x} A^{x} + \partial_{y} A^{y} + \partial_{z} A^{z} \right ) + \left ( - \partial_{y} A^{x} + \partial_{x} A^{y} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + \left ( - \partial_{z} A^{x} + \partial_{x} A^{z} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + \left ( - \partial_{z} A^{y} + \partial_{y} A^{z} \right ) \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} -I (\boldsymbol{\nabla} \W \bm{A}) = \left ( - \partial_{z} A^{y} + \partial_{y} A^{z} \right ) \boldsymbol{e}_{x} + \left ( \partial_{z} A^{x} - \partial_{x} A^{z} \right ) \boldsymbol{e}_{y} + \left ( - \partial_{y} A^{x} + \partial_{x} A^{y} \right ) \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \bm{B} = \left ( - \partial_{y} B^{xy} - \partial_{z} B^{xz} \right ) \boldsymbol{e}_{x} + \left ( \partial_{x} B^{xy} - \partial_{z} B^{yz} \right ) \boldsymbol{e}_{y} + \left ( \partial_{x} B^{xz} + \partial_{y} B^{yz} \right ) \boldsymbol{e}_{z} + \left ( \partial_{z} B^{xy} - \partial_{y} B^{xz} + \partial_{x} B^{yz} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \W \bm{B} = \left ( \partial_{z} B^{xy} - \partial_{y} B^{xz} + \partial_{x} B^{yz} \right ) \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot \bm{B} = \left ( - \partial_{y} B^{xy} - \partial_{z} B^{xz} \right ) \boldsymbol{e}_{x} + \left ( \partial_{x} B^{xy} - \partial_{z} B^{yz} \right ) \boldsymbol{e}_{y} + \left ( \partial_{x} B^{xz} + \partial_{y} B^{yz} \right ) \boldsymbol{e}_{z} \end{equation*} \begin{equation*} g_{ij} = \left[\begin{array}{cccc}\left (\boldsymbol{a}\cdot \boldsymbol{a}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{b}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{c}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{d}\right ) \\\left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{c}\cdot \boldsymbol{d}\right ) & \left (\boldsymbol{d}\cdot \boldsymbol{d}\right ) \end{array}\right] \end{equation*} \begin{equation*} \bm{a\cdot (b c)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c\W d)} = \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \boldsymbol{b}\wedge \boldsymbol{c} - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b}\wedge \boldsymbol{d} + \left (\boldsymbol{a}\cdot \boldsymbol{b}\right ) \boldsymbol{c}\wedge \boldsymbol{d} \end{equation*} \begin{equation*} \bm{a\cdot (b\W c)+c\cdot (a\W b)+b\cdot (c\W a)} = 0 \end{equation*} \begin{equation*} \bm{a (b\W c)-b (a\W c)+c (a\W b)} = 3 \boldsymbol{a}\wedge \boldsymbol{b}\wedge \boldsymbol{c} \end{equation*} \begin{equation*} \bm{a (b\W c\W d)-b (a\W c\W d)+c (a\W b\W d)-d (a\W b\W c)} = 4 \boldsymbol{a}\wedge \boldsymbol{b}\wedge \boldsymbol{c}\wedge \boldsymbol{d} \end{equation*} \begin{equation*} \bm{(a\W b)\cdot (c\W d)} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \end{equation*} \begin{equation*} \bm{((a\W b)\cdot c)\cdot d} = - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \end{equation*} \begin{equation*} \bm{(a\W b)\times (c\W d)} = - \left (\boldsymbol{b}\cdot \boldsymbol{d}\right ) \boldsymbol{a}\wedge \boldsymbol{c} + \left (\boldsymbol{b}\cdot \boldsymbol{c}\right ) \boldsymbol{a}\wedge \boldsymbol{d} + \left (\boldsymbol{a}\cdot \boldsymbol{d}\right ) \boldsymbol{b}\wedge \boldsymbol{c} - \left (\boldsymbol{a}\cdot \boldsymbol{c}\right ) \boldsymbol{b}\wedge \boldsymbol{d} \end{equation*} \begin{equation*} E = \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E^{2} = \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) ^{2} - 2 \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) ^{2} + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1 \end{equation*} \begin{equation*} E1 = (e2\W e3) E = \left ( \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1\right ) \boldsymbol{e}_{1} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{2} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E2 =-(e1\W e3) E = \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{1} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) ^{2} - 1\right ) \boldsymbol{e}_{2} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E3 = (e1\W e2) E = \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{1} + \left ( - \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{3}\right ) + \left (\boldsymbol{e}_{2}\cdot \boldsymbol{e}_{3}\right ) \right ) \boldsymbol{e}_{2} + \left ( \left (\boldsymbol{e}_{1}\cdot \boldsymbol{e}_{2}\right ) ^{2} - 1\right ) \boldsymbol{e}_{3} \end{equation*} \begin{equation*} E1\cdot e2 = 0 \end{equation*} \begin{equation*} E1\cdot e3 = 0 \end{equation*} \begin{equation*} E2\cdot e1 = 0 \end{equation*} \begin{equation*} E2\cdot e3 = 0 \end{equation*} \begin{equation*} E3\cdot e1 = 0 \end{equation*} \begin{equation*} E3\cdot e2 = 0 \end{equation*} \begin{equation*} (E1\cdot e1)/E^{2} = 1 \end{equation*} \begin{equation*} (E2\cdot e2)/E^{2} = 1 \end{equation*} \begin{equation*} (E3\cdot e3)/E^{2} = 1 \end{equation*} \begin{equation*} A = A^{r} \boldsymbol{e}_{r} + A^{\theta } \boldsymbol{e}_{\theta } + A^{\phi } \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} B = B^{r\theta } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta } + B^{r\phi } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\phi } + B^{\theta \phi } \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} f = \partial_{r} f \boldsymbol{e}_{r} + \frac{\partial_{\theta } f }{r^{2}} \boldsymbol{e}_{\theta } + \frac{\partial_{\phi } f }{r^{2} {\sin{\left (\theta \right )}}^{2}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot A = \frac{A^{\theta } }{\tan{\left (\theta \right )}} + \partial_{\phi } A^{\phi } + \partial_{r} A^{r} + \partial_{\theta } A^{\theta } + \frac{2 A^{r} }{r} \end{equation*} \begin{equation*} -I (\boldsymbol{\nabla} \W A) = \frac{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}} \cdot \left(\frac{2 A^{\phi } }{\tan{\left (\theta \right )}} + \partial_{\theta } A^{\phi } - \frac{\partial_{\phi } A^{\theta } }{{\sin{\left (\theta \right )}}^{2}}\right)}{r^{2}} \boldsymbol{e}_{r} + \frac{- r^{2} {\sin{\left (\theta \right )}}^{2} \partial_{r} A^{\phi } - 2 r A^{\phi } {\sin{\left (\theta \right )}}^{2} + \partial_{\phi } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\theta } + \frac{r^{2} \partial_{r} A^{\theta } + 2 r A^{\theta } - \partial_{\theta } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \W B = \frac{r^{2} \partial_{r} B^{\theta \phi } + 4 r B^{\theta \phi } - \frac{2 B^{r\phi } }{\tan{\left (\theta \right )}} - \partial_{\theta } B^{r\phi } + \frac{\partial_{\phi } B^{r\theta } }{{\sin{\left (\theta \right )}}^{2}}}{r^{2}} \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} B = \bm{B\gamma_{t}} = - B^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - B^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - B^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} E = \bm{E\gamma_{t}} = - E^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - E^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - E^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} F = E+IB = - E^{x} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} - E^{y} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} - E^{z} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} - B^{z} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y} + B^{y} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{z} - B^{x} \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} J = J^{t} \boldsymbol{\gamma }_{t} + J^{x} \boldsymbol{\gamma }_{x} + J^{y} \boldsymbol{\gamma }_{y} + J^{z} \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \boldsymbol{\nabla} F = J \end{equation*} \begin{equation*} R = \cosh{\left (\frac{\alpha }{2} \right )} + \sinh{\left (\frac{\alpha }{2} \right )} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = t'\bm{\gamma'_{t}}+x'\bm{\gamma'_{x}} = R\lp t'\bm{\gamma_{t}}+x'\bm{\gamma_{x}}\rp R^{\dagger} \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = \left ( 2 t' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + t' - x' \sinh{\left (\alpha \right )}\right ) \boldsymbol{\gamma }_{t} + \left ( - t' \sinh{\left (\alpha \right )} + 2 x' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + x'\right ) \boldsymbol{\gamma }_{x} \end{equation*} \begin{equation*} \f{\sinh}{\alpha} = \gamma\beta \end{equation*} \begin{equation*} \f{\cosh}{\alpha} = \gamma \end{equation*} \begin{equation*} t\bm{\gamma_{t}}+x\bm{\gamma_{x}} = \left ( - \beta \gamma x' + 2 t' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + t'\right ) \boldsymbol{\gamma }_{t} + \left ( - \beta \gamma t' + 2 x' {\sinh{\left (\frac{\alpha }{2} \right )}}^{2} + x'\right ) \boldsymbol{\gamma }_{x} \end{equation*} \begin{equation*} \bm{A} = A^{t} \boldsymbol{\gamma }_{t} + A^{x} \boldsymbol{\gamma }_{x} + A^{y} \boldsymbol{\gamma }_{y} + A^{z} \boldsymbol{\gamma }_{z} \end{equation*} \begin{equation*} \bm{\psi} = \psi + \psi ^{tx} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x} + \psi ^{ty} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{y} + \psi ^{tz} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{z} + \psi ^{xy} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y} + \psi ^{xz} \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{z} + \psi ^{yz} \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} + \psi ^{txyz} \boldsymbol{\gamma }_{t}\wedge \boldsymbol{\gamma }_{x}\wedge \boldsymbol{\gamma }_{y}\wedge \boldsymbol{\gamma }_{z} \end{equation*} \end{document}
run('prob_not_solenoidal')
A = z*e_x^e_y - y*e_x^e_z + x*e_y^e_z grad^A = 3*e_x^e_y^e_z f = (x**2 + y**2 + z**2)**(-1.5) grad*f = -3.0*x*e_x/(x**2 + y**2 + z**2)**2.5 - 3.0*y*e_y/(x**2 + y**2 + z**2)**2.5 - 3.0*z*e_z/(x**2 + y**2 + z**2)**2.5 B = z*e_x^e_y/(x**2 + y**2 + z**2)**1.5 - y*e_x^e_z/(x**2 + y**2 + z**2)**1.5 + x*e_y^e_z/(x**2 + y**2 + z**2)**1.5 grad^B = 0 0
prob_not_solenoidal.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV prob_not_solenoidal.py:18: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True)
run('products_latex')
#3D Orthogonal Metric\newline #Multvectors: s = s v = v__x*e_x + v__y*e_y + v__z*e_z b = b__xy*e_x^e_y + b__xz*e_x^e_z + b__yz*e_y^e_z #Products: s*s = s**2 s^s = s**2 s<s = s**2 s>s = s**2 s*v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s^v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s<v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s>v = 0 s*b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s^b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s<b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s>b = 0 v*s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v^s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v<s = 0 v>s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v*v = v__x**2 + v__y**2 + v__z**2 v^v = 0 v|v = v__x**2 + v__y**2 + v__z**2 v<v = v__x**2 + v__y**2 + v__z**2 v>v = v__x**2 + v__y**2 + v__z**2 v*b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z + (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z v^b = (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z v|b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z v<b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z v>b = 0 b*s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b^s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b<s = 0 b>s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b*v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z + (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z b^v = (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z b|v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z b<v = 0 b>v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z b*b = -b__xy**2 - b__xz**2 - b__yz**2 b^b = 0 b|b = -b__xy**2 - b__xz**2 - b__yz**2 b<b = -b__xy**2 - b__xz**2 - b__yz**2 b>b = -b__xy**2 - b__xz**2 - b__yz**2 #Multivector Functions: s(X) = s v(X) = v__x*e_x + v__y*e_y + v__z*e_z b(X) = b__xy*e_x^e_y + b__xz*e_x^e_z + b__yz*e_y^e_z #Products: grad*s = D{x}s*e_x + D{y}s*e_y + D{z}s*e_z grad^s = D{x}s*e_x + D{y}s*e_y + D{z}s*e_z grad<s = 0 grad>s = D{x}s*e_x + D{y}s*e_y + D{z}s*e_z grad*v = D{x}v__x + D{y}v__y + D{z}v__z + (-D{y}v__x + D{x}v__y)*e_x^e_y + (-D{z}v__x + D{x}v__z)*e_x^e_z + (-D{z}v__y + D{y}v__z)*e_y^e_z grad^v = (-D{y}v__x + D{x}v__y)*e_x^e_y + (-D{z}v__x + D{x}v__z)*e_x^e_z + (-D{z}v__y + D{y}v__z)*e_y^e_z grad|v = D{x}v__x + D{y}v__y + D{z}v__z grad<v = D{x}v__x + D{y}v__y + D{z}v__z grad>v = D{x}v__x + D{y}v__y + D{z}v__z grad*b = (-D{y}b__xy - D{z}b__xz)*e_x + (D{x}b__xy - D{z}b__yz)*e_y + (D{x}b__xz + D{y}b__yz)*e_z + (D{z}b__xy - D{y}b__xz + D{x}b__yz)*e_x^e_y^e_z grad^b = (D{z}b__xy - D{y}b__xz + D{x}b__yz)*e_x^e_y^e_z grad|b = (-D{y}b__xy - D{z}b__xz)*e_x + (D{x}b__xy - D{z}b__yz)*e_y + (D{x}b__xz + D{y}b__yz)*e_z grad<b = (-D{y}b__xy - D{z}b__xz)*e_x + (D{x}b__xy - D{z}b__yz)*e_y + (D{x}b__xz + D{y}b__yz)*e_z grad>b = 0 s*grad = e_x*s*D{x} + e_y*s*D{y} + e_z*s*D{z} s^grad = e_x*s*D{x} + e_y*s*D{y} + e_z*s*D{z} s<grad = e_x*s*D{x} + e_y*s*D{y} + e_z*s*D{z} s>grad = 0 s*s = s**2 s^s = s**2 s<s = s**2 s>s = s**2 s*v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s^v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s<v = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z s>v = 0 s*b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s^b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s<b = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z s>b = 0 v*grad = v__x*D{x} + v__y*D{y} + v__z*D{z} + e_x^e_y*(-v__y*D{x} + v__x*D{y}) + e_x^e_z*(-v__z*D{x} + v__x*D{z}) + e_y^e_z*(-v__z*D{y} + v__y*D{z}) v^grad = e_x^e_y*(-v__y*D{x} + v__x*D{y}) + e_x^e_z*(-v__z*D{x} + v__x*D{z}) + e_y^e_z*(-v__z*D{y} + v__y*D{z}) v|grad = v__x*D{x} + v__y*D{y} + v__z*D{z} v<grad = v__x*D{x} + v__y*D{y} + v__z*D{z} v>grad = v__x*D{x} + v__y*D{y} + v__z*D{z} v*s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v^s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v<s = 0 v>s = s*v__x*e_x + s*v__y*e_y + s*v__z*e_z v*v = v__x**2 + v__y**2 + v__z**2 v^v = 0 v|v = v__x**2 + v__y**2 + v__z**2 v<v = v__x**2 + v__y**2 + v__z**2 v>v = v__x**2 + v__y**2 + v__z**2 v*b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z + (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z v^b = (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z v|b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z v<b = (-b__xy*v__y - b__xz*v__z)*e_x + (b__xy*v__x - b__yz*v__z)*e_y + (b__xz*v__x + b__yz*v__y)*e_z v>b = 0 b*grad = e_x*(b__xy*D{y} + b__xz*D{z}) + e_y*(-b__xy*D{x} + b__yz*D{z}) + e_z*(-b__xz*D{x} - b__yz*D{y}) + e_x^e_y^e_z*(b__yz*D{x} - b__xz*D{y} + b__xy*D{z}) b^grad = e_x^e_y^e_z*(b__yz*D{x} - b__xz*D{y} + b__xy*D{z}) b|grad = e_x*(b__xy*D{y} + b__xz*D{z}) + e_y*(-b__xy*D{x} + b__yz*D{z}) + e_z*(-b__xz*D{x} - b__yz*D{y}) b<grad = 0 b>grad = e_x*(b__xy*D{y} + b__xz*D{z}) + e_y*(-b__xy*D{x} + b__yz*D{z}) + e_z*(-b__xz*D{x} - b__yz*D{y}) b*s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b^s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b<s = 0 b>s = b__xy*s*e_x^e_y + b__xz*s*e_x^e_z + b__yz*s*e_y^e_z b*v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z + (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z b^v = (b__xy*v__z - b__xz*v__y + b__yz*v__x)*e_x^e_y^e_z b|v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z b<v = 0 b>v = (b__xy*v__y + b__xz*v__z)*e_x + (-b__xy*v__x + b__yz*v__z)*e_y + (-b__xz*v__x - b__yz*v__y)*e_z b*b = -b__xy**2 - b__xz**2 - b__yz**2 b^b = 0 b|b = -b__xy**2 - b__xz**2 - b__yz**2 b<b = -b__xy**2 - b__xz**2 - b__yz**2 b>b = -b__xy**2 - b__xz**2 - b__yz**2 #General 2D Metric\newline #Multivector Functions: s(X) = s v(X) = v__x*e_x + v__y*e_y b(X) = v__xy*e_x^e_y #Products: grad*s = (-(e_x.e_y)*D{y}s + (e_y.e_y)*D{x}s)*e_x/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) + ((e_x.e_x)*D{y}s - (e_x.e_y)*D{x}s)*e_y/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) grad^s = (-(e_x.e_y)*D{y}s + (e_y.e_y)*D{x}s)*e_x/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) + ((e_x.e_x)*D{y}s - (e_x.e_y)*D{x}s)*e_y/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) grad<s = 0 grad>s = (-(e_x.e_y)*D{y}s + (e_y.e_y)*D{x}s)*e_x/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) + ((e_x.e_x)*D{y}s - (e_x.e_y)*D{x}s)*e_y/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) grad*v = D{x}v__x + D{y}v__y + (-(e_x.e_x)*D{y}v__x + (e_x.e_y)*D{x}v__x - (e_x.e_y)*D{y}v__y + (e_y.e_y)*D{x}v__y)*e_x^e_y/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) grad^v = (-(e_x.e_x)*D{y}v__x + (e_x.e_y)*D{x}v__x - (e_x.e_y)*D{y}v__y + (e_y.e_y)*D{x}v__y)*e_x^e_y/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2) grad|v = D{x}v__x + D{y}v__y grad<v = D{x}v__x + D{y}v__y grad>v = D{x}v__x + D{y}v__y s*grad = e_x*((e_y.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} - (e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) + e_y*(-(e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} + (e_x.e_x)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) s^grad = e_x*((e_y.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} - (e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) + e_y*(-(e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} + (e_x.e_x)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) s<grad = e_x*((e_y.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} - (e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) + e_y*(-(e_x.e_y)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} + (e_x.e_x)*s/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) s>grad = 0 s*s = s**2 s^s = s**2 s<s = s**2 s>s = s**2 s*v = s*v__x*e_x + s*v__y*e_y s^v = s*v__x*e_x + s*v__y*e_y s<v = s*v__x*e_x + s*v__y*e_y s>v = 0 v*grad = v__x*D{x} + v__y*D{y} + e_x^e_y*((-(e_x.e_y)*v__x - (e_y.e_y)*v__y)/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} + ((e_x.e_x)*v__x + (e_x.e_y)*v__y)/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) v^grad = e_x^e_y*((-(e_x.e_y)*v__x - (e_y.e_y)*v__y)/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{x} + ((e_x.e_x)*v__x + (e_x.e_y)*v__y)/((e_x.e_x)*(e_y.e_y) - (e_x.e_y)**2)*D{y}) v|grad = v__x*D{x} + v__y*D{y} v<grad = v__x*D{x} + v__y*D{y} v>grad = v__x*D{x} + v__y*D{y} v*s = s*v__x*e_x + s*v__y*e_y v^s = s*v__x*e_x + s*v__y*e_y v<s = 0 v>s = s*v__x*e_x + s*v__y*e_y v*v = (e_x.e_x)*v__x**2 + 2*(e_x.e_y)*v__x*v__y + (e_y.e_y)*v__y**2 v^v = 0 v|v = (e_x.e_x)*v__x**2 + 2*(e_x.e_y)*v__x*v__y + (e_y.e_y)*v__y**2 v<v = (e_x.e_x)*v__x**2 + 2*(e_x.e_y)*v__x*v__y + (e_y.e_y)*v__y**2 v>v = (e_x.e_x)*v__x**2 + 2*(e_x.e_y)*v__x*v__y + (e_y.e_y)*v__y**2
products_latex.py:3: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV products_latex.py:13: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. s = MV('s','scalar') products_latex.py:14: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v','vector') products_latex.py:15: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. b = MV('b','bivector') products_latex.py:38: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. fs = MV('s','scalar',fct=True) products_latex.py:39: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. fv = MV('v','vector',fct=True) products_latex.py:40: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. fb = MV('b','bivector',fct=True) products_latex.py:71: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. s = MV('s','scalar',fct=True) products_latex.py:72: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v','vector',fct=True) products_latex.py:73: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. b = MV('v','bivector',fct=True)
check_latex('reflect_test')
reflect_test.py:4: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV reflect_test.py:10: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. a = MV('a','vector') reflect_test.py:13: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. c = MV('c','vector')
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{equation*} a = a^{x} \boldsymbol{e}_{x} + a^{y} \boldsymbol{e}_{y} + a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} b = \boldsymbol{e}_{x} + \boldsymbol{e}_{y} + \boldsymbol{e}_{z} \end{equation*} \begin{equation*} c = c^{w} \boldsymbol{e}_{w} + c^{x} \boldsymbol{e}_{x} + c^{y} \boldsymbol{e}_{y} + c^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} a\mbox{ reflect in }xy = a^{x} \boldsymbol{e}_{x} + a^{y} \boldsymbol{e}_{y} - a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} a\mbox{ reflect in }yz = - a^{x} \boldsymbol{e}_{x} + a^{y} \boldsymbol{e}_{y} + a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} a\mbox{ reflect in }zx = a^{x} \boldsymbol{e}_{x} - a^{y} \boldsymbol{e}_{y} + a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} a\mbox{ reflect in plane }(x=y) = a^{y} \boldsymbol{e}_{x} + a^{x} \boldsymbol{e}_{y} + a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} b\mbox{ reflect in plane }(x+y+z=0) = - \boldsymbol{e}_{x} - \boldsymbol{e}_{y} - \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \mbox{Reflect in }\bm{e}_{x} = a^{x} \boldsymbol{e}_{x} - a^{y} \boldsymbol{e}_{y} - a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \mbox{Reflect in }\bm{e}_{y} = - a^{x} \boldsymbol{e}_{x} + a^{y} \boldsymbol{e}_{y} - a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} \mbox{Reflect in }\bm{e}_{z} = - a^{x} \boldsymbol{e}_{x} - a^{y} \boldsymbol{e}_{y} + a^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} c\mbox{ reflect in }xy = - c^{w} \boldsymbol{e}_{w} + c^{x} \boldsymbol{e}_{x} + c^{y} \boldsymbol{e}_{y} - c^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} c\mbox{ reflect in }xyz = - c^{w} \boldsymbol{e}_{w} + c^{x} \boldsymbol{e}_{x} + c^{y} \boldsymbol{e}_{y} + c^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} wx\mbox{ reflect in }yz = \boldsymbol{e}_{w}\wedge \boldsymbol{e}_{x} \end{equation*} \begin{equation*} wx\mbox{ reflect in }xy = - \boldsymbol{e}_{w}\wedge \boldsymbol{e}_{x} \end{equation*} \end{document}
check_latex('simple_check_latex')
simple_check_latex.py:3: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV simple_check_latex.py:10: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','mv') simple_check_latex.py:19: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') simple_check_latex.py:20: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. Y = MV('Y','vector') simple_check_latex.py:35: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') simple_check_latex.py:36: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','spinor')
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{equation*} g_{ij} = \left[\begin{array}{ccc}\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{x}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{z}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{z}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{z}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{z}\right ) & \left (\boldsymbol{e}_{z}\cdot \boldsymbol{e}_{z}\right ) \end{array}\right] \end{equation*} \begin{equation*} A = A + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{equation*} \begin{equation*} A = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} + A^{y} \boldsymbol{e}_{y} + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} A = \begin{aligned}[t] & A \\ & + A^{x} \boldsymbol{e}_{x} \\ & + A^{y} \boldsymbol{e}_{y} \\ & + A^{z} \boldsymbol{e}_{z} \\ & + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \\ & + A^{xz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z} \\ & + A^{yz} \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \\ & + A^{xyz} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z} \end{aligned} \end{equation*} \begin{equation*} X = X^{x} \boldsymbol{e}_{x} + X^{y} \boldsymbol{e}_{y} + X^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} Y = Y^{x} \boldsymbol{e}_{x} + Y^{y} \boldsymbol{e}_{y} + Y^{z} \boldsymbol{e}_{z} \end{equation*} \begin{equation*} g_{ij} = \left[\begin{array}{cc}\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{x}\right ) & \left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) \\\left (\boldsymbol{e}_{x}\cdot \boldsymbol{e}_{y}\right ) & \left (\boldsymbol{e}_{y}\cdot \boldsymbol{e}_{y}\right ) \end{array}\right] \end{equation*} \begin{equation*} X = X^{x} \boldsymbol{e}_{x} + X^{y} \boldsymbol{e}_{y} \end{equation*} \begin{equation*} A = A + A^{xy} \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y} \end{equation*} \end{document}
run('simple_check')
u__x*e_x + u__y*e_y + u__z*e_z v__x*e_x + v__y*e_y + v__z*e_z w__x*e_x + w__y*e_y + w__z*e_z (u__x*v__y - u__y*v__x)*e_x^e_y + (u__x*v__z - u__z*v__x)*e_x^e_z + (u__y*v__z - u__z*v__y)*e_y^e_z True (u__x*v__y*w__z - u__x*v__z*w__y - u__y*v__x*w__z + u__y*v__z*w__x + u__z*v__x*w__y - u__z*v__y*w__x)*e_x^e_y^e_z True -u__x**2*v__y**2 - u__x**2*v__z**2 + 2*u__x*u__y*v__x*v__y + 2*u__x*u__z*v__x*v__z - u__y**2*v__x**2 - u__y**2*v__z**2 + 2*u__y*u__z*v__y*v__z - u__z**2*v__x**2 - u__z**2*v__y**2
simple_check.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV simple_check.py:13: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. u = MV('u','vector') simple_check.py:14: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. v = MV('v','vector') simple_check.py:15: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. w = MV('w','vector')
check_latex('spherical_latex')
spherical_latex.py:5: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV spherical_latex.py:14: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) spherical_latex.py:15: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) spherical_latex.py:16: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True)
\documentclass[10pt,fleqn]{report} \usepackage[vcentering]{geometry} \geometry{papersize={14in,11in},total={13in,10in}} \pagestyle{empty} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{tensor} \usepackage{listings} \usepackage{color} \usepackage{xcolor} \usepackage{bm} \usepackage{breqn} \definecolor{gray}{rgb}{0.95,0.95,0.95} \setlength{\parindent}{0pt} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Adj}{Adj} \newcommand{\bfrac}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\lp}{\left (} \newcommand{\rp}{\right )} \newcommand{\paren}[1]{\lp {#1} \rp} \newcommand{\half}{\frac{1}{2}} \newcommand{\llt}{\left <} \newcommand{\rgt}{\right >} \newcommand{\abs}[1]{\left |{#1}\right | } \newcommand{\pdiff}[2]{\bfrac{\partial {#1}}{\partial {#2}}} \newcommand{\lbrc}{\left \{} \newcommand{\rbrc}{\right \}} \newcommand{\W}{\wedge} \newcommand{\prm}[1]{{#1}'} \newcommand{\ddt}[1]{\bfrac{d{#1}}{dt}} \newcommand{\R}{\dagger} \newcommand{\deriv}[3]{\bfrac{d^{#3}#1}{d{#2}^{#3}}} \newcommand{\grade}[1]{\left < {#1} \right >} \newcommand{\f}[2]{{#1}\lp{#2}\rp} \newcommand{\eval}[2]{\left . {#1} \right |_{#2}} \newcommand{\Nabla}{\boldsymbol{\nabla}} \newcommand{\eb}{\boldsymbol{e}} \usepackage{float} \floatstyle{plain} % optionally change the style of the new float \newfloat{Code}{H}{myc} \lstloadlanguages{Python} \begin{document} \begin{lstlisting}[language=Python,showspaces=false,showstringspaces=false,backgroundcolor=\color{gray},frame=single] def derivatives_in_spherical_coordinates(): Print_Function() X = (r,th,phi) = symbols('r theta phi') curv = [[r*cos(phi)*sin(th),r*sin(phi)*sin(th),r*cos(th)],[1,r,r*sin(th)]] (er,eth,ephi,grad) = MV.setup('e_r e_theta e_phi',metric='[1,1,1]',coords=X,curv=curv) f = MV('f','scalar',fct=True) A = MV('A','vector',fct=True) B = MV('B','grade2',fct=True) print('f =',f) print('A =',A) print('B =',B) print('grad*f =',grad*f) print('grad|A =',grad|A) print('-I*(grad^A) =',-MV.I*(grad^A)) print('grad^B =',grad^B) return \end{lstlisting} Code Output: \begin{equation*} f = f \end{equation*} \begin{equation*} A = A^{r} \boldsymbol{e}_{r} + A^{\theta } \boldsymbol{e}_{\theta } + A^{\phi } \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} B = B^{r\theta } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta } + B^{r\phi } \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\phi } + B^{\theta \phi } \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} f = \partial_{r} f \boldsymbol{e}_{r} + \frac{\partial_{\theta } f }{r^{2}} \boldsymbol{e}_{\theta } + \frac{\partial_{\phi } f }{r^{2} {\sin{\left (\theta \right )}}^{2}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \cdot A = \frac{A^{\theta } }{\tan{\left (\theta \right )}} + \partial_{\phi } A^{\phi } + \partial_{r} A^{r} + \partial_{\theta } A^{\theta } + \frac{2 A^{r} }{r} \end{equation*} \begin{equation*} -I (\boldsymbol{\nabla} \W A) = \frac{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}} \cdot \left(\frac{2 A^{\phi } }{\tan{\left (\theta \right )}} + \partial_{\theta } A^{\phi } - \frac{\partial_{\phi } A^{\theta } }{{\sin{\left (\theta \right )}}^{2}}\right)}{r^{2}} \boldsymbol{e}_{r} + \frac{- r^{2} {\sin{\left (\theta \right )}}^{2} \partial_{r} A^{\phi } - 2 r A^{\phi } {\sin{\left (\theta \right )}}^{2} + \partial_{\phi } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\theta } + \frac{r^{2} \partial_{r} A^{\theta } + 2 r A^{\theta } - \partial_{\theta } A^{r} }{\sqrt{r^{4} {\sin{\left (\theta \right )}}^{2}}} \boldsymbol{e}_{\phi } \end{equation*} \begin{equation*} \boldsymbol{\nabla} \W B = \frac{r^{2} \partial_{r} B^{\theta \phi } + 4 r B^{\theta \phi } - \frac{2 B^{r\phi } }{\tan{\left (\theta \right )}} - \partial_{\theta } B^{r\phi } + \frac{\partial_{\phi } B^{r\theta } }{{\sin{\left (\theta \right )}}^{2}}}{r^{2}} \boldsymbol{e}_{r}\wedge \boldsymbol{e}_{\theta }\wedge \boldsymbol{e}_{\phi } \end{equation*} \end{document}
run('terminal_check')
A = A + A__x*e_x + A__y*e_y + A__z*e_z + A__xy*e_x^e_y + A__xz*e_x^e_z + A__yz*e_y^e_z + A__xyz*e_x^e_y^e_z A = A + A__x*e_x + A__y*e_y + A__z*e_z + A__xy*e_x^e_y + A__xz*e_x^e_z + A__yz*e_y^e_z + A__xyz*e_x^e_y^e_z A = A + A__x*e_x + A__y*e_y + A__z*e_z + A__xy*e_x^e_y + A__xz*e_x^e_z + A__yz*e_y^e_z + A__xyz*e_x^e_y^e_z g_{ij} = Matrix([ [(e_x.e_x), (e_x.e_y), (e_x.e_z)], [(e_x.e_y), (e_y.e_y), (e_y.e_z)], [(e_x.e_z), (e_y.e_z), (e_z.e_z)]]) X = X__x*e_x + X__y*e_y + X__z*e_z Y = Y__x*e_x + Y__y*e_y + Y__z*e_z g_{ij} = Matrix([ [(e_x.e_x), (e_x.e_y)], [(e_x.e_y), (e_y.e_y)]]) X = X__x*e_x + X__y*e_y A = A + A__xy*e_x^e_y g_{ii} = Matrix([ [1, 0], [0, 1]]) X = X__x*e_x + X__y*e_y A = A + A__xy*e_x^e_y g_{ij} = Matrix([ [(a.a), (a.b), (a.c), (a.d), (a.e)], [(a.b), (b.b), (b.c), (b.d), (b.e)], [(a.c), (b.c), (c.c), (c.d), (c.e)], [(a.d), (b.d), (c.d), (d.d), (d.e)], [(a.e), (b.e), (c.e), (d.e), (e.e)]]) a|(b*c) = -(a.c)*b + (a.b)*c a|(b^c) = -(a.c)*b + (a.b)*c a|(b^c^d) = (a.d)*b^c - (a.c)*b^d + (a.b)*c^d a|(b^c)+c|(a^b)+b|(c^a) = 0 a*(b^c)-b*(a^c)+c*(a^b) = 3*a^b^c a*(b^c^d)-b*(a^c^d)+c*(a^b^d)-d*(a^b^c) = 4*a^b^c^d (a^b)|(c^d) = -(a.c)*(b.d) + (a.d)*(b.c) ((a^b)|c)|d = -(a.c)*(b.d) + (a.d)*(b.c) (a^b)x(c^d) = -(b.d)*a^c + (b.c)*a^d + (a.d)*b^c - (a.c)*b^d (a|(b^c))|(d^e) = (-(a.b)*(c.e) + (a.c)*(b.e))*d + ((a.b)*(c.d) - (a.c)*(b.d))*e f = f A = A__x*e_x + A__y*e_y + A__z*e_z B = B__xy*e_x^e_y + B__xz*e_x^e_z + B__yz*e_y^e_z C = C + C__x*e_x + C__y*e_y + C__z*e_z + C__xy*e_x^e_y + C__xz*e_x^e_z + C__yz*e_y^e_z + C__xyz*e_x^e_y^e_z grad*f = D{x}f*e_x + D{y}f*e_y + D{z}f*e_z grad|A = D{x}A__x + D{y}A__y + D{z}A__z grad*A = D{x}A__x + D{y}A__y + D{z}A__z + (-D{y}A__x + D{x}A__y)*e_x^e_y + (-D{z}A__x + D{x}A__z)*e_x^e_z + (-D{z}A__y + D{y}A__z)*e_y^e_z -I*(grad^A) = (-D{z}A__y + D{y}A__z)*e_x + (D{z}A__x - D{x}A__z)*e_y + (-D{y}A__x + D{x}A__y)*e_z grad*B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z + (D{z}B__xy - D{y}B__xz + D{x}B__yz)*e_x^e_y^e_z grad^B = (D{z}B__xy - D{y}B__xz + D{x}B__yz)*e_x^e_y^e_z grad|B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z grad<A = D{x}A__x + D{y}A__y + D{z}A__z grad>A = D{x}A__x + D{y}A__y + D{z}A__z grad<B = (-D{y}B__xy - D{z}B__xz)*e_x + (D{x}B__xy - D{z}B__yz)*e_y + (D{x}B__xz + D{y}B__yz)*e_z grad>B = 0 grad<C = D{x}C__x + D{y}C__y + D{z}C__z + (-D{y}C__xy - D{z}C__xz)*e_x + (D{x}C__xy - D{z}C__yz)*e_y + (D{x}C__xz + D{y}C__yz)*e_z + D{z}C__xyz*e_x^e_y - D{y}C__xyz*e_x^e_z + D{x}C__xyz*e_y^e_z grad>C = D{x}C__x + D{y}C__y + D{z}C__z + D{x}C*e_x + D{y}C*e_y + D{z}C*e_z f = f A = A__r*e_r + A__theta*e_theta + A__phi*e_phi B = B__rtheta*e_r^e_theta + B__rphi*e_r^e_phi + B__thetaphi*e_theta^e_phi grad*f = D{r}f*e_r + D{theta}f*e_theta/r**2 + D{phi}f*e_phi/(r**2*sin(theta)**2) grad|A = A__theta/tan(theta) + D{phi}A__phi + D{r}A__r + D{theta}A__theta + 2*A__r/r -I*(grad^A) = sqrt(r**4*sin(theta)**2)*(2*A__phi/tan(theta) + D{theta}A__phi - D{phi}A__theta/sin(theta)**2)*e_r/r**2 + (-r**2*sin(theta)**2*D{r}A__phi - 2*r*A__phi*sin(theta)**2 + D{phi}A__r)*e_theta/sqrt(r**4*sin(theta)**2) + (r**2*D{r}A__theta + 2*r*A__theta - D{theta}A__r)*e_phi/sqrt(r**4*sin(theta)**2) grad^B = (r**2*D{r}B__thetaphi + 4*r*B__thetaphi - 2*B__rphi/tan(theta) - D{theta}B__rphi + D{phi}B__rtheta/sin(theta)**2)*e_r^e_theta^e_phi/r**2 X = 1.2*e_x + 2.34*e_y + 0.555*e_z Nga(X,2) = 1.2*e_x + 2.3*e_y + 0.55*e_z X*Y = 12.7011 + 4.02078*e_x^e_y + 6.175185*e_x^e_z + 10.182*e_y^e_z Nga(X*Y,2) = 13.0 + 4.0*e_x^e_y + 6.2*e_x^e_z + 10.0*e_y^e_z g_{ij} = Matrix([ [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 2], [0, 0, 0, 2, 0]]) F(a) = e_1 + n/2 - nbar/2 F(b) = e_2 + n/2 - nbar/2 F(c) = -e_1 + n/2 - nbar/2 F(d) = e_3 + n/2 - nbar/2 F(x) = x1*e_1 + x2*e_2 + x3*e_3 + (x1**2/2 + x2**2/2 + x3**2/2)*n - nbar/2 a = e1, b = e2, c = -e1, and d = e3 A = F(a) = 1/2*(a*a*n+2*a-nbar), etc. Circle through a, b, and c Circle: A^B^C^X = 0 = -x3*e_1^e_2^e_3^n + x3*e_1^e_2^e_3^nbar + (x1**2/2 + x2**2/2 + x3**2/2 - 1/2)*e_1^e_2^n^nbar Line through a and b Line : A^B^n^X = 0 = -x3*e_1^e_2^e_3^n + (x1/2 + x2/2 - 1/2)*e_1^e_2^n^nbar + x3*e_1^e_3^n^nbar/2 - x3*e_2^e_3^n^nbar/2 Sphere through a, b, c, and d Sphere: A^B^C^D^X = 0 = (-x1**2/2 - x2**2/2 - x3**2/2 + 1/2)*e_1^e_2^e_3^n^nbar Plane through a, b, and d Plane : A^B^n^D^X = 0 = (-x1/2 - x2/2 - x3/2 + 1/2)*e_1^e_2^e_3^n^nbar g_{ij} = Matrix([ [(p1.p1), (p1.p2), (p1.p3), 0, 0], [(p1.p2), (p2.p2), (p2.p3), 0, 0], [(p1.p3), (p2.p3), (p3.p3), 0, 0], [ 0, 0, 0, 0, 2], [ 0, 0, 0, 2, 0]]) Extracting direction of line from L = P1^P2^n (L|n)|nbar = 2*p1 - 2*p2 Extracting plane of circle from C = P1^P2^P3 ((C^n)|n)|nbar = 2*p1^p2 - 2*p1^p3 + 2*p2^p3 (p2-p1)^(p3-p1) = p1^p2 - p1^p3 + p2^p3 g_{ij} = Matrix([ [ 0, -1, (P1.a)], [ -1, 0, (P2.a)], [(P1.a), (P2.a), (a.a)]]) B**2 = 1 a' = a-(a^B)*B = -(P2.a)*P1 - (P1.a)*P2 A+ = a'+a'*B = -2*(P2.a)*P1 A- = a'-a'*B = -2*(P1.a)*P2 (A+)^2 = 0 (A-)^2 = 0 a|B = -(P2.a)*P1 + (P1.a)*P2 g_{ij} = Matrix([ [ 1, (e1.e2), (e1.e3)], [(e1.e2), 1, (e2.e3)], [(e1.e3), (e2.e3), 1]]) E = e1^e2^e3 E**2 = (e1.e2)**2 - 2*(e1.e2)*(e1.e3)*(e2.e3) + (e1.e3)**2 + (e2.e3)**2 - 1 E1 = (e2^e3)*E = ((e2.e3)**2 - 1)*e1 + ((e1.e2) - (e1.e3)*(e2.e3))*e2 + (-(e1.e2)*(e2.e3) + (e1.e3))*e3 E2 =-(e1^e3)*E = ((e1.e2) - (e1.e3)*(e2.e3))*e1 + ((e1.e3)**2 - 1)*e2 + (-(e1.e2)*(e1.e3) + (e2.e3))*e3 E3 = (e1^e2)*E = (-(e1.e2)*(e2.e3) + (e1.e3))*e1 + (-(e1.e2)*(e1.e3) + (e2.e3))*e2 + ((e1.e2)**2 - 1)*e3 E1|e2 = 0 E1|e3 = 0 E2|e1 = 0 E2|e3 = 0 E3|e1 = 0 E3|e2 = 0 (E1|e1)/E**2 = 1 (E2|e2)/E**2 = 1 (E3|e3)/E**2 = 1
terminal_check.py:6: DeprecationWarning: The `galgebra.deprecated` module is deprecated from galgebra.deprecated import MV terminal_check.py:13: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','mv') terminal_check.py:19: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') terminal_check.py:20: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. Y = MV('Y','vector') terminal_check.py:35: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') terminal_check.py:36: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','spinor') terminal_check.py:49: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. X = MV('X','vector') terminal_check.py:50: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','spinor') terminal_check.py:90: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) terminal_check.py:91: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) terminal_check.py:92: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) terminal_check.py:93: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. C = MV('C','mv',fct=True) terminal_check.py:123: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. f = MV('f','scalar',fct=True) terminal_check.py:124: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. A = MV('A','vector',fct=True) terminal_check.py:125: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. B = MV('B','grade2',fct=True) terminal_check.py:267: DeprecationWarning: The `galgebra.deprecated.MV` class is deprecated in favor of `galgebra.mv.Mv`. a = MV(sym_lst,'vector')