logo back up home forward   further reading more topics »

Maths - Octonion and Clifford Algebra - Code to generate the tables

Here is how I generated the tables for this page.

The tables were generated using this program.

To produce the results the program needs to have an XML input code. Here I have listed this input code next to the output of the program:

 

code program output
<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<varDef name="a" type="oct" sign="0" subAlgebra="all"/>
</outputTable>
</classDef>

Octonion

This is the table often given for octonions:
e e1 e2 e3 e4 e5 e6 e7
e1 -e e4 e7 -e2 e6 -e5 -e3
e2 -e4 -e e5 e1 -e3 e7 -e6
e3 -e7 -e5 -e e6 e2 -e4 e1
e4 e2 -e1 -e6 -e e7 e3 -e5
e5 -e6 e3 -e2 -e7 -e e1 e4
e6 e5 -e7 e4 -e3 -e1 -e e2
e7 e6 e6 -e1 e5 -e3 -e2 -e

analysing commutivity: table does not commute:
for example: e1*e2 != e2*e1

analysing associativity: table does not associate,
for example, (e1* e2)* e3=e4* e3=-e6
is not equal to e1*(e2* e3)=e1*e5=e6

<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<varDef name="a" type="oct2" sign="0" subAlgebra="all"/>
</outputTable>
</classDef>

Octonion (rearranged)

The table can be rearranged to give a table which looks closer to the Clifford algebras for easier comparison:
e e1 e2 e3 e4 e5 e6 e7
e1 -e -e3 e2 -e5 e4 e7 -e6
e2 e3 -e -e1 -e6 -e7 e4 e5
e3 -e2 e1 -e -e7 e6 -e5 e4
e4 e5 e6 e7 -e -e1 -e2 -e3
e5 -e4 e7 -e6 e1 -e e3 -e2
e6 -e7 -e4 e5 e2 -e3 -e e1
e7 e6 -e5 -e4 e3 e2 -e1 -e

analysing commutivity: table does not commute:

for example: e1*e2 != e2*e1

analysing associativity:

table does not associate,
for example, (e1* e2)* e4=-e3* e4=e7
is not equal to e1*(e2* e4)=e1*-e6=-e7

<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<mathTypeMulti name="a" type="4" sign="0" subAlgebra="even"/>
</outputTable>
</classDef>

Multivector 4D Even

table
e e12 e31 e23 e41 e42 e43 e1234
e12 -e e23 -e31 -e42 e41 -e1234 e43
e31 -e23 -e e12 e43 -e1234 -e41 e42
e23 e31 -e12 -e -e1234 -e43 e42 e41
e41 e42 -e43 -e1234 -e -e12 e31 e23
e42 -e41 -e1234 e43 e12 -e -e23 e31
e43 -e1234 e41 -e42 -e31 e23 -e e12
e1234 e43 e42 e41 e23 e31 e12 e

analysing commutivity:

table does not commute: for example: e1*e2 != e2*e1

analysing associativity: table associates

<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<mathTypeMulti name="a" type="4" sign="1" subAlgebra="even"/>
</outputTable>
</classDef>

Multivector 4D Even(1 dimension squares to -ve)

table
e e12 e31 e23 e41 e42 e43 e1234
e12 e -e23 -e31 e42 e41 -e1234 -e43
e31 e23 e e12 -e43 -e1234 -e41 -e42
e23 e31 -e12 -e -e1234 -e43 e42 e41
e41 -e42 e43 -e1234 e -e12 e31 -e23
e42 -e41 -e1234 e43 e12 -e -e23 e31
e43 -e1234 e41 -e42 -e31 e23 -e e12
e1234 -e43 -e42 e41 -e23 e31 e12 -e
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1 analysing associativity: table associates
<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<mathTypeMulti name="a" type="4" sign="3" subAlgebra="even"/>
</outputTable>
</classDef>

Multivector 4D Even(2 dimensions squares to -ve)

table:
e e12 e31 e23 e41 e42 e43 e1234
e12 -e -e23 e31 e42 -e41 -e1234 e43
e31 e23 e e12 -e43 -e1234 -e41 -e42
e23 -e31 -e12 e -e1234 e43 e42 -e41
e41 -e42 e43 -e1234 e -e12 e31 -e23
e42 e41 -e1234 -e43 e12 e -e23 -e31
e43 -e1234 e41 -e42 -e31 e23 -e e12
e1234 e43 -e42 -e41 -e23 -e31 e12 e
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1 analysing associativity: table associates
<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<mathTypeMulti name="a" type="4" sign="7" subAlgebra="even"/>
</outputTable>
</classDef>

Multivector 4D Even(3 dimensions squares to -ve)

table
e e12 e31 e23 e41 e42 e43 e1234
e12 -e -e23 e31 e42 -e41 -e1234 e43
e31 e23 -e -e12 -e43 -e1234 e41 e42
e23 -e31 e12 -e -e1234 e43 -e42 e41
e41 -e42 e43 -e1234 e -e12 e31 -e23
e42 e41 -e1234 -e43 e12 e -e23 -e31
e43 -e1234 -e41 e42 -e31 e23 e -e12
e1234 e43 e42 e41 -e23 -e31 -e12 -e
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1 analysing associativity: table associates
<classDef>
<outputTable type="product" format="html" name="table" analyse="on">
<mathTypeMulti name="a" type="4" sign="15" subAlgebra="even"/>
</outputTable>
</classDef>

Multivector 4D Even(4 dimension squares to -ve)

table
e e12 e31 e23 e41 e42 e43 e1234
e12 -e -e23 e31 e42 -e41 -e1234 e43
e31 e23 -e -e12 -e43 -e1234 e41 e42
e23 -e31 e12 -e -e1234 e43 -e42 e41
e41 -e42 e43 -e1234 -e e12 -e31 e23
e42 e41 -e1234 -e43 -e12 -e e23 e31
e43 -e1234 -e41 e42 e31 -e23 -e e12
e1234 e43 e42 e41 e23 e31 e12 e
analysing commutivity: table does not commute: for example: e1*e2 != e2*e1 analysing associativity: table associates.

go back to original page


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover us uk de jp fr ca Quaternions and Rotation Sequences.

 

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

cover Dark Basic Professional Edition - It is better to get this professional edition

cover This is a version of basic designed for building games, for example to rotate a cube you might do the following:
make object cube 1,100
for x=1 to 360
rotate object 1,x,x,0
next x

cover Game Programming with Darkbasic - book for above software

 

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

Terminology and Notation

Specific to this page here:

 

program

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2008 Martin John Baker - All rights reserved - privacy policy.