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: D x D x D
+ | + | + | + | + | + | + | + |
+ | + | + | + | + | + | - | - |
+ | - | + | - | + | + | + | + |
+ | - | + | - | + | + | - | - |
+ | - | - | - | + | - | - | - |
+ | - | - | - | + | - | + | + |
+ | + | - | + | + | - | - | - |
+ | + | - | + | + | - | + | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table does not associate, for example, (i* j)* l=k* l=lk is not equal to i*(j* l)=i*lj=-lk
Table for: D x D x C
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | - | + |
+ | - | + | - | + | + | + | + |
+ | + | + | + | + | - | - | + |
+ | - | - | - | + | - | - | - |
+ | + | - | + | + | + | + | - |
+ | + | - | + | + | - | - | - |
+ | - | - | - | + | + | + | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table does not associate, for example, (i* j)* l=k* l=lk is not equal to i*(j* l)=i*lj=-lk
comparing tables:
tables not isomorphicTable for: D x C x C
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | - | + |
+ | - | - | + | + | + | - | - |
+ | + | - | - | + | - | + | - |
+ | - | - | - | + | - | - | - |
+ | + | - | + | + | + | + | - |
+ | + | + | - | + | - | + | + |
+ | - | + | + | + | + | - | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table does not associate, for example, (i* j)* l=k* l=lk is not equal to i*(j* l)=i*lj=-lk
comparing tables:
tables not isomorphicTable for: O = C x C x C
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | - | + |
+ | - | - | + | + | + | - | - |
+ | + | - | - | + | - | + | - |
+ | - | - | - | - | + | + | + |
+ | + | - | + | - | - | - | + |
+ | + | + | - | - | + | - | - |
+ | - | + | + | - | - | + | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table does not associate, for example, (i* j)* l=k* l=lk is not equal to i*(j* l)=i*lj=-lk
comparing tables:
tables not isomorphicTable for: G 3,0,0
+ | + | + | + | + | + | + | + |
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | - | - | + | + | - | - |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G 2,1,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | + | - | + | - | + | - |
+ | + | + | + | + | + | + | + |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | - | - | + | + | - | - |
+ | - | - | + | + | - | - | + |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G 1,2,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G 0,3,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | - | - | + | - | + | + | - |
+ | + | - | - | - | - | + | + |
+ | + | + | + | - | - | - | - |
+ | - | + | - | - | + | - | + |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G+ 4,0,0
+ | + | + | + | + | + | + | + |
+ | - | - | + | - | + | + | - |
+ | + | - | - | - | - | + | + |
+ | - | + | - | + | - | + | - |
+ | + | + | + | - | - | - | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | - | + | - | - | + | - | + |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G+ 3,1,0
+ | + | + | + | + | + | + | + |
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | - | - | + | + | - | - |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G+ 2,2,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | + | - | + | - | + | - |
+ | + | + | + | + | + | + | + |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | - | - | + | + | - | - |
+ | - | - | + | + | - | - | + |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G+ 1,3,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G+ 0,4,0
+ | + | + | + | + | + | + | + |
+ | - | + | - | + | - | + | - |
+ | - | - | + | + | - | - | + |
+ | + | - | - | + | + | - | - |
+ | - | - | + | - | + | + | - |
+ | + | - | - | - | - | + | + |
+ | + | + | + | - | - | - | - |
+ | - | + | - | - | + | - | + |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables not isomorphicXML input code
To produce the results the program needs to have an XML input code listed here:
<classDef>
<outputTable type="product" format="html" name="octonion" analyse="on" enableLabels="off" content="sign">
<mathTypeHypercomplex name="a" label="D x D x D" type="doubl" elementLabels="1,i,j,k,l,li,lj,lk">
<mathTypeHypercomplex name="b" label="D x D" type="doubl" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="D" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="a" label="D x D x C" type="doubl" elementLabels="1,i,j,k,l,li,lj,lk">
<mathTypeHypercomplex name="b" label="D x C" type="doubl" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="C" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="a" label="D x C x C" type="doubl" elementLabels="1,i,j,k,l,li,lj,lk">
<mathTypeHypercomplex name="b" label="C x C" type="complex" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="C" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="a" label="O = C x C x C" type="complex" elementLabels="1,i,j,k,l,li,lj,lk">
<mathTypeHypercomplex name="b" label="H = C x C" type="complex" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="C" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeMulti name="a" type="3" sign="0" zero="0" label="G 3,0,0" order="bit"/>
<mathTypeMulti name="b" type="3" sign="1" zero="0" label="G 2,1,0" order="bit"/>
<mathTypeMulti name="b" type="3" sign="3" zero="0" label="G 1,2,0" order="bit"/>
<mathTypeMulti name="b" type="3" sign="7" zero="0" label="G 0,3,0" order="bit"/>
<mathTypeSubtype label="G+ 4,0,0">
<mathTypeMulti name="a" type="4" sign="0" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 3,1,0">
<mathTypeMulti name="b" type="4" sign="1" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 2,2,0">
<mathTypeMulti name="b" type="4" sign="3" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 1,3,0">
<mathTypeMulti name="b" type="4" sign="7" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 0,4,0">
<mathTypeMulti name="b" type="4" sign="15" zero="0" order="bit"/>
</mathTypeSubtype>
</outputTable>
</classDef>