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
+ | + | + | + |
+ | + | + | + |
+ | - | + | - |
+ | - | + | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
Table for: D x C
+ | + | + | + |
+ | - | + | - |
+ | - | + | - |
+ | + | + | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x D
+ | + | + | + |
+ | + | + | + |
+ | - | - | + |
+ | - | - | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x C
+ | + | + | + |
+ | - | + | - |
+ | - | - | + |
+ | + | - | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: D x D (i and j commute)
+ | + | + | + |
+ | + | + | + |
+ | + | + | + |
+ | + | + | + |
analysing commutivity: table commutes
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: D x C (i and j commute)
+ | + | + | + |
+ | - | + | - |
+ | + | + | + |
+ | - | + | - |
analysing commutivity: table commutes
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x D (i and j commute)
+ | + | + | + |
+ | + | + | + |
+ | + | - | - |
+ | + | - | - |
analysing commutivity: table commutes
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x C (i and j commute)
+ | + | + | + |
+ | - | + | - |
+ | + | - | - |
+ | - | - | + |
analysing commutivity: table commutes
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: D x D (left hand anticommute)
+ | + | + | + |
+ | + | - | - |
+ | + | + | + |
+ | + | - | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables isomorphic for combination=2Table for: D x C (left hand anticommute)
+ | + | + | + |
+ | - | - | + |
+ | + | + | + |
+ | - | - | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x D (left hand anticommute)
+ | + | + | + |
+ | + | - | - |
+ | + | - | - |
+ | + | + | + |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: C x C (left hand anticommute)
+ | + | + | + |
+ | - | - | + |
+ | + | - | - |
+ | - | + | - |
analysing commutivity: table does not commute: for example: i*j != j*i
analysing associativity: table associates
comparing tables:
tables not isomorphicTable for: G 2,0,0
+ | + | + | + |
+ | + | + | + |
+ | - | + | - |
+ | - | + | - |
analysing commutivity: table does not commute: for example: 1*2 != 2*1
analysing associativity: table associates
comparing tables:
tables isomorphic for combination=0Table for: G 1,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,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 0,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+ 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 isomorphic for combination=0Table 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 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="quaternion" analyse="on" enableLabels="off" content="sign">
<mathTypeHypercomplex name="b" label="quaternion" type="complex" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="complex containing double" type="complex" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing complex" type="doubl" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing double" type="doubl" elementLabels="1,i,j,k">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="quaternion i and j commute" type="complex" elementLabels="1,i,j,k" commute="commute">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="complex containing double i and j commute" type="complex" elementLabels="1,i,j,k" commute="commute">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing complex i and j commute" type="doubl" elementLabels="1,i,j,k" commute="commute">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing double i and j commute" type="doubl" elementLabels="1,i,j,k" commute="commute">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="quaternion left hand anticommute" type="complex" elementLabels="1,i,j,k" commute="antiLeft">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="complex containing double left hand anticommute" type="complex" elementLabels="1,i,j,k" commute="antiLeft">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing complex left hand anticommute" type="doubl" elementLabels="1,i,j,k" commute="antiLeft">
<mathTypeHypercomplex name="c" label="complex" type="complex" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeHypercomplex name="b" label="double containing double left hand anticommute" type="doubl" elementLabels="1,i,j,k" commute="antiLeft">
<mathTypeHypercomplex name="c" label="doubl" type="doubl" elementLabels="1,i">
</mathTypeHypercomplex>
</mathTypeHypercomplex>
<mathTypeMulti name="a" type="2" sign="0" zero="0" label="G 2,0,0"/>
<mathTypeMulti name="b" type="2" sign="1" zero="0" label="G 1,1,0"/>
<mathTypeMulti name="b" type="2" sign="2" zero="0" label="G 1,1,0"/>
<mathTypeMulti name="b" type="2" sign="3" zero="0" label="G 0,2,0"/>
<mathTypeSubtype label="G+ 3,0,0">
<mathTypeMulti name="a" type="3" sign="0" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 2,1,0">
<mathTypeMulti name="b" type="3" sign="1" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 1,2,0">
<mathTypeMulti name="b" type="3" sign="3" zero="0" order="bit"/>
</mathTypeSubtype>
<mathTypeSubtype label="G+ 0,3,0">
<mathTypeMulti name="b" type="3" sign="7" zero="0" order="bit"/>
</mathTypeSubtype>
</outputTable>
</classDef>