logo back up home forward   further reading more topics »

Maths - Algebra

In order to program 3D simulations, games, etc. it is useful to be able to work with different algebras such as,

Most of these algebras have operations on them such as addition and multiplication. We may be familiar with real number algebra, but when we are working with different algebras different rules may apply, therefore it is useful to explicitly define the rules.

commutative

An operation is commutative if the order of its operands can be reversed without affecting the result. For example:

x * y = y * x

associative

An operation is associative if the order of doing multiple operations is not important. For example:

x * (y * z) = (x * y) * z

distributive

When there are two operations in this algebra say, + and *, then * is said to be distributive over + if:

x * (y + z) = (x * y) + (x * z)

Algebras

  * distributive over + Multiplication commutative Multiplication associative
Real Numbers yes yes yes
Complex Numbers yes yes yes
Quaternions yes no yes
Octonions yes no no
Vectors yes no no
Matricies yes no yes
Multi Vectors yes no no

For further information see group theory.

How do I design an Algebra?

These different algebras listed above all use the same addition and multiplication operations, the difference seems to be the number of dimensions and the way that these dimensions interact.

In all the above cases addition just adds the terms from corresponding dimensions.

Multiplication combines numbers across dimensions, if it did not then we might as well treat each dimension independently. So it is multiplication which differs between each of the above algebras and gives each its own 'flavor'.

In fact, in many cases when applying these algebras in practical cases, we may use only the multiplication operation (see group theory) for example, quaternions when applied to 3D rotations.

So it seems to me that we can define these algebras by a table showing how the multiplication operator combines each dimension with each other dimension.

Some of the key factors seem to be:

From what I can tell the commutative and associative laws for multipication would be determined from the table


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 3D Math Primer - Aimed at complete beginners to vector and matrix algebra.

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 Mathmatica

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.

It would be nice to expand this to cover, for instance, null operator.

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.