Here is how I generated the tables for this page.
The tables were generated using this program.
The output of this program is shown below. To produce the results the program needs to have an XML input code. At the bottom of this page I have listed this input code.
Table for: g 3,0,0
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | e | e12 | -e31 | e2 | -e3 | e123 | e23 |
a.e2 | e2 | -e12 | e | e23 | -e1 | e123 | e3 | e31 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | -e2 | e1 | e123 | -e | e23 | -e31 | -e3 |
a.e31 | e31 | e3 | e123 | -e1 | -e23 | -e | e12 | -e2 |
a.e23 | e23 | e123 | -e3 | e2 | e31 | -e12 | -e | -e1 |
a.e123 | e123 | e23 | e31 | e12 | -e3 | -e2 | -e1 | -e |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 3,0,0
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | -e | e23 | -e31 |
a.e31 | e31 | -e23 | -e | e12 |
a.e23 | e23 | e31 | -e12 | -e |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 2,1,0
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | -e | e12 | -e31 | -e2 | e3 | e123 | -e23 |
a.e2 | e2 | -e12 | e | e23 | -e1 | e123 | e3 | e31 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | e2 | e1 | e123 | e | -e23 | -e31 | e3 |
a.e31 | e31 | -e3 | e123 | -e1 | e23 | e | e12 | e2 |
a.e23 | e23 | e123 | -e3 | e2 | e31 | -e12 | -e | -e1 |
a.e123 | e123 | -e23 | e31 | e12 | e3 | e2 | -e1 | e |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 2,1,0
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | e | -e23 | -e31 |
a.e31 | e31 | e23 | e | e12 |
a.e23 | e23 | e31 | -e12 | -e |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 1,2,0
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | -e | e12 | -e31 | -e2 | e3 | e123 | -e23 |
a.e2 | e2 | -e12 | -e | e23 | e1 | e123 | -e3 | -e31 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | e2 | -e1 | e123 | -e | -e23 | e31 | -e3 |
a.e31 | e31 | -e3 | e123 | -e1 | e23 | e | e12 | e2 |
a.e23 | e23 | e123 | e3 | e2 | -e31 | -e12 | e | e1 |
a.e123 | e123 | -e23 | -e31 | e12 | -e3 | e2 | e1 | -e |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 1,2,0
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | -e | -e23 | e31 |
a.e31 | e31 | e23 | e | e12 |
a.e23 | e23 | -e31 | -e12 | e |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 0,3,0
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | -e | e12 | -e31 | -e2 | e3 | e123 | -e23 |
a.e2 | e2 | -e12 | -e | e23 | e1 | e123 | -e3 | -e31 |
a.e3 | e3 | e31 | -e23 | -e | e123 | -e1 | e2 | -e12 |
a.e12 | e12 | e2 | -e1 | e123 | -e | -e23 | e31 | -e3 |
a.e31 | e31 | -e3 | e123 | e1 | e23 | -e | -e12 | -e2 |
a.e23 | e23 | e123 | e3 | -e2 | -e31 | e12 | -e | -e1 |
a.e123 | e123 | -e23 | -e31 | -e12 | -e3 | -e2 | -e1 | e |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 0,3,0
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | -e | -e23 | e31 |
a.e31 | e31 | e23 | -e | -e12 |
a.e23 | e23 | -e31 | e12 | -e |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 2,0,1
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | e | e12 | -e31 | e2 | -e3 | e123 | e23 |
a.e2 | e2 | -e12 | 0 | e23 | 0 | e123 | 0 | 0 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | -e2 | 0 | e123 | 0 | e23 | 0 | 0 |
a.e31 | e31 | e3 | e123 | -e1 | -e23 | -e | e12 | -e2 |
a.e23 | e23 | e123 | 0 | e2 | 0 | -e12 | 0 | 0 |
a.e123 | e123 | e23 | 0 | e12 | 0 | -e2 | 0 | 0 |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 2,0,1
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | 0 | e23 | 0 |
a.e31 | e31 | -e23 | -e | e12 |
a.e23 | e23 | 0 | -e12 | 0 |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 1,1,1
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | -e | e12 | -e31 | -e2 | e3 | e123 | -e23 |
a.e2 | e2 | -e12 | 0 | e23 | 0 | e123 | 0 | 0 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | e2 | 0 | e123 | 0 | -e23 | 0 | 0 |
a.e31 | e31 | -e3 | e123 | -e1 | e23 | e | e12 | e2 |
a.e23 | e23 | e123 | 0 | e2 | 0 | -e12 | 0 | 0 |
a.e123 | e123 | -e23 | 0 | e12 | 0 | e2 | 0 | 0 |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 1,1,1
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | 0 | -e23 | 0 |
a.e31 | e31 | e23 | e | e12 |
a.e23 | e23 | 0 | -e12 | 0 |
analysing commutivity: table does not commute: for example: e12*e31 != e31*e12
analysing associativity: table associates
Table for: g 1,0,2
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | 0 | e12 | -e31 | 0 | 0 | e123 | 0 |
a.e2 | e2 | -e12 | 0 | e23 | 0 | e123 | 0 | 0 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | 0 | 0 | e123 | 0 | 0 | 0 | 0 |
a.e31 | e31 | 0 | e123 | -e1 | 0 | 0 | e12 | 0 |
a.e23 | e23 | e123 | 0 | e2 | 0 | -e12 | 0 | 0 |
a.e123 | e123 | 0 | 0 | e12 | 0 | 0 | 0 | 0 |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
Table for: g+ 1,0,2
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | 0 | 0 | 0 |
a.e31 | e31 | 0 | 0 | e12 |
a.e23 | e23 | 0 | -e12 | 0 |
analysing commutivity: table does not commute: for example: e31*e23 != e23*e31
analysing associativity: table associates
Table for: g 0,0,3
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | 0 | e12 | -e31 | 0 | 0 | e123 | 0 |
a.e2 | e2 | -e12 | 0 | e23 | 0 | e123 | 0 | 0 |
a.e3 | e3 | e31 | -e23 | 0 | e123 | 0 | 0 | 0 |
a.e12 | e12 | 0 | 0 | e123 | 0 | 0 | 0 | 0 |
a.e31 | e31 | 0 | e123 | 0 | 0 | 0 | 0 | 0 |
a.e23 | e23 | e123 | 0 | 0 | 0 | 0 | 0 | 0 |
a.e123 | e123 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1
analysing associativity: table associates
XML input code
To produce the results the program needs to have an XML input code listed here:
<classDef>
<outputTable type="product" format="html" name="g 3,0,0" analyse="on" enableLabels="on">
<mathTypeMulti name="a" type="3" sign="0" zero="0" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 3,0,0" analyse="on" enableLabels="on">
<mathTypeMulti name="a" type="3" sign="0" zero="0" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 2,1,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="1" zero="0" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 2,1,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="1" zero="0" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 1,2,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="3" zero="0" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 1,2,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="3" zero="0" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 0,3,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="7" zero="0" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 0,3,0" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="7" zero="0" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 2,0,1" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="0" zero="2" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 2,0,1" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="0" zero="2" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 1,1,1" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="1" zero="2" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 1,1,1" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="1" zero="2" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 1,0,2" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="0" zero="3" subAlgebra="all"/>
</outputTable>
<outputTable type="product" format="html" name="g+ 1,0,2" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="0" zero="3" subAlgebra="even"/>
</outputTable>
<outputTable type="product" format="html" name="g 0,0,3" analyse="on" enableLabels="on">
<mathTypeMulti name="b" type="3" sign="0" zero="7" subAlgebra="all"/>
</outputTable>
</classDef>