This is used to debug https://github.com/pygae/galgebra/issues/?? .
The following code uses https://github.com/pygae/galgebra/tree/new_printer .
In [1]:
    
from sympy import symbols, sin, cos, Abs
from galgebra.ga import Ga
from galgebra.printer import Format, Fmt
from IPython.display import Latex
Format()
    
    
$$ 
\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{\npdiff}[3]{\bfrac{\partial^{#3} {#1}}{\partial {#2}^{#3}}}
\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{\grd}[1]{\left < {#1} \right >}
\newcommand{\f}[2]{{#1}\lp {#2} \rp}
\newcommand{\eval}[2]{\left . {#1} \right |_{#2}}
\newcommand{\bs}[1]{\boldsymbol{#1}}
\newcommand{\es}[1]{\boldsymbol{e}_{#1}}
\newcommand{\eS}[1]{\boldsymbol{e}^{#1}}
\newcommand{\grade}[2]{\left < {#1} \right >_{#2}}
\newcommand{\lc}{\rfloor}
\newcommand{\rc}{\lfloor}
\newcommand{\T}[1]{\text{#1}}
\newcommand{\lop}[1]{\overleftarrow{#1}}
\newcommand{\rop}[1]{\overrightarrow{#1}}
\newcommand{\ldot}{\lfloor}
\newcommand{\rdot}{\rfloor}
%MacDonald LaTeX macros
\newcommand   {\thalf}    {\textstyle \frac{1}{2}}
\newcommand   {\tthird}   {\textstyle \frac{1}{3}}
\newcommand   {\tquarter} {\textstyle \frac{1}{4}}
\newcommand   {\tsixth}   {\textstyle \frac{1}{6}}
\newcommand   {\RE}       {\mathbb{R}}
\newcommand   {\GA}       {\mathbb{G}}
\newcommand   {\inner}    {\mathbin{\pmb{\cdot}}}
\renewcommand {\outer}    {\mathbin{\wedge}}
\newcommand   {\cross}    {\mathbin{\times}}
\newcommand   {\meet}     {\mathbin{{\,\vee\;}}}
\renewcommand {\iff}              {\Leftrightarrow}
\renewcommand {\impliedby}{\Leftarrow}
\renewcommand {\implies}  {\Rightarrow}
\newcommand   {\perpc}    {\perp}  % Orthogonal complement
\newcommand   {\perpm}    {*}  % Dual of multivector
\newcommand   {\del}      {\mathbf{\nabla}}  %{\boldsymbol\nabla\!}
\newcommand   {\mpart}[2]{\left\langle\, #1 \,\right\rangle_{#2}} % AMS has a \part
\newcommand   {\spart}[1]{\mpart{#1}{0}}
\newcommand   {\ds}       {\displaystyle}
\newcommand   {\os}       {\overset}
\newcommand   {\galgebra} {\mbox{$\mathcal{G\!A}$\hspace{.01in}lgebra}}
\newcommand   {\latex}    {\LaTeX}
 $$
In [2]:
    
xyz_coords = (x, y, z) = symbols('x y z', real=True)
(o3d, ex, ey, ez) = Ga.build('e', g=[1, 1, 1], coords=xyz_coords, norm=True)
o3d.g
    
    Out[2]:
$$\left[\begin{matrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1\end{matrix}\right]$$
In [3]:
    
o3d.basis
    
    Out[3]:
$$\left [ e_{x}, \quad e_{y}, \quad e_{z}\right ]$$
In [4]:
    
# FIXME BUG
o3d.blades
    
    Out[4]:
$$\left [ \left [ \right ], \quad \left [ e_{x}, \quad e_{y}, \quad e_{z}\right ], \quad \left [ e^{e}_{x y}, \quad e^{e}_{x z}, \quad e^{e}_{y z}\right ], \quad \left [ e^{e e}_{x y z}\right ]\right ]$$
In [5]:
    
print(o3d.blades)
    
    
$$ [[], [\boldsymbol{e}_{x}, \boldsymbol{e}_{y}, \boldsymbol{e}_{z}], [\boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}, \boldsymbol{e}_{x}\wedge \boldsymbol{e}_{z}, \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z}], [\boldsymbol{e}_{x}\wedge \boldsymbol{e}_{y}\wedge \boldsymbol{e}_{z}]]  $$
In [6]:
    
def cross(x, y):
    return (x ^ y).dual()
GA = Ga('e*1|2|3')
print('g =',GA.g)
a = GA.mv('a', 'vector')
b = GA.mv('b', 'vector')
c = GA.mv('c', 'vector')
(e1,e2,e3) = GA.mv()
print('a =',a)
print('b =',b)
print('c =',c)
print('I =',GA.i)
e123 = e1^e2^e3
print(r'(e_\W e_2\W e_3)^2 =',e123*e123)
bc = e123*(b^c)
print(r'(e_\W e_2\W e_3)(b\W c) =',bc.Fmt(3))
abc = a^bc
    
    
$$ g =  \left [ \begin{array}{ccc} \left ( e_{1}\cdot e_{1}\right )  & \left ( e_{1}\cdot e_{2}\right )  & \left ( e_{1}\cdot e_{3}\right )   \\ \left ( e_{1}\cdot e_{2}\right )  & \left ( e_{2}\cdot e_{2}\right )  & \left ( e_{2}\cdot e_{3}\right )   \\ \left ( e_{1}\cdot e_{3}\right )  & \left ( e_{2}\cdot e_{3}\right )  & \left ( e_{3}\cdot e_{3}\right )   \end{array}\right ]   $$
    
$$ a = a^{1} \boldsymbol{e}_{1} + a^{2} \boldsymbol{e}_{2} + a^{3} \boldsymbol{e}_{3}  $$
    
$$ b = b^{1} \boldsymbol{e}_{1} + b^{2} \boldsymbol{e}_{2} + b^{3} \boldsymbol{e}_{3}  $$
    
$$ c = c^{1} \boldsymbol{e}_{1} + c^{2} \boldsymbol{e}_{2} + c^{3} \boldsymbol{e}_{3}  $$
    
$$ I = \frac{1}{\sqrt{\left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right ) ^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} \left ( e_{3}\cdot e_{3}\right )  + 2 \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  - \left ( e_{1}\cdot e_{3}\right ) ^{2} \left ( e_{2}\cdot e_{2}\right ) }} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}  $$
    
$$ (e_\W e_2\W e_3)^2 = - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right ) ^{2} + \left ( e_{1}\cdot e_{2}\right ) ^{2} \left ( e_{3}\cdot e_{3}\right )  - 2 \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  + \left ( e_{1}\cdot e_{3}\right ) ^{2} \left ( e_{2}\cdot e_{2}\right )   $$
    
$$ (e_\W e_2\W e_3)(b\W c) =  \begin{align*}  & \left ( - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{1} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{1} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{2} + \left ( e_{2}\cdot e_{3}\right ) ^{2} b^{2} c^{3} - \left ( e_{2}\cdot e_{3}\right ) ^{2} b^{3} c^{2}\right ) \boldsymbol{e}_{1} \\  &  + \left ( \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{2} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{2} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right ) ^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right ) ^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{2}\right ) \boldsymbol{e}_{2} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{3} c^{2}\right ) \boldsymbol{e}_{3}  \end{align*} 
  $$
In [9]:
    
# Mathematically incorrect but printing works
print(r'(e_\W e_2\W e_3)(b\W c) =',bc.Fmt(3))
    
    
$$ (e_\W e_2\W e_3)(b\W c) =  \begin{align*}  & \left ( - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{1} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{1} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{2} + \left ( e_{2}\cdot e_{3}\right ) ^{2} b^{2} c^{3} - \left ( e_{2}\cdot e_{3}\right ) ^{2} b^{3} c^{2}\right ) \boldsymbol{e}_{1} \\  &  + \left ( \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{2} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{2} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right ) ^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right ) ^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{2}\right ) \boldsymbol{e}_{2} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  b^{3} c^{2}\right ) \boldsymbol{e}_{3}  \end{align*} 
  $$
In [13]:
    
# FIXME Printing fails for this combination
print(r'a \W ((e_1 \W e_2 \W e_3)(b \W c)) =',abc.Fmt(3))
    
    
$$ a \W ((e_1 \W e_2 \W e_3)(b \W c)) =  \begin{align*}  & \left ( \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{1} c^{2} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{1} c^{3} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{2} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{3} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{1} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{1} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{1} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{2} c^{3} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{3} c^{2} - \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{2} b^{2} c^{3} + \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{2} b^{3} c^{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{1} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{3} b^{1} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{2} c^{3} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{2} - \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{3} b^{2} c^{3} + \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{3} b^{3} c^{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{2} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{2} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{3} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{3} b^{1} c^{3} - \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{3} c^{2}\right ) \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}  \end{align*} 
  $$
In [11]:
    
print(r'a \wedge ((e_1 \wedge e_2 \wedge e_3)(b \wedge c)) =',abc.Fmt(3))
    
    
$$ a \wedge ((e_1 \wedge e_2 \wedge e_3)(b \wedge c)) =  \begin{align*}  & \left ( \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{1} c^{2} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{1} c^{3} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{1} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{2} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{1} b^{3} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{1} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{1} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{1} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{2} c^{3} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{2} b^{3} c^{2} - \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{2} b^{2} c^{3} + \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{2} b^{3} c^{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{1} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{1} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{1} b^{3} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{1} b^{3} c^{2} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{1} b^{3} c^{2} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{3} b^{1} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{3} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{2} c^{3} - \left ( e_{2}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{2} - \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{3} b^{2} c^{3} + \left ( e_{2}\cdot e_{3}\right ) ^{2} a^{3} b^{3} c^{2}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3} \\  &  + \left ( - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{1} c^{2} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{1} c^{3} + \left ( e_{1}\cdot e_{1}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{2} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right ) ^{2} a^{2} b^{2} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{2} b^{1} c^{3} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{2} b^{3} c^{1} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{3} b^{1} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{1}\cdot e_{3}\right )  a^{3} b^{2} c^{1} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{2} b^{3} c^{2} - \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{2} c^{3} + \left ( e_{1}\cdot e_{2}\right )  \left ( e_{3}\cdot e_{3}\right )  a^{3} b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{3} b^{1} c^{3} - \left ( e_{1}\cdot e_{3}\right ) ^{2} a^{3} b^{3} c^{1} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{2}\right )  a^{2} b^{3} c^{2} + \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{2} c^{3} - \left ( e_{1}\cdot e_{3}\right )  \left ( e_{2}\cdot e_{3}\right )  a^{3} b^{3} c^{2}\right ) \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}  \end{align*} 
  $$
In [ ]:
    
    
Content source: utensil/julia-playground
Similar notebooks: