| further reading | more topics » |
| mjbWorld program | 3D theory |
3D physics |
3D maths |
3D programming | technology |
about site |
sitemap A-Z |
| index | algebra | geometry | calculus | graph theory | statistics | principles | standards |
| index | equations | multi-dim | vector | matrix | complex | clifford |
| index | theory | algebra | geometry | 2D | 3D | 4D | 5D |
| index | basis | arithmetic | geometry | functions | transform | code | pauli |
| index | derivation | inner&outer | inner |
Derivation
Each term can be calculated as follows, for example when working out the 5th term in the first multivector a.e12 e1^ e2 multiplied by the 6th term in the second multivector b.e31 e3^ e1 we get the magnitude a.e12*b.e31 and the type e1^ e2 * e3^ e1 which can be calculated as follows:
The type of each term can be calculated by following these rules:
As an example, using 3D vectors, we can use the above rules to calculate a table showing all possible combinations:
In order to make sure we work out all possible combinations of products, I suggest using a table. The entries in the table only shows the type and sign change of the product, it does not show its absolute value. We therefore need to prefix the product by its numerical value which is the real number which is the product of the numbers at the top and left headings.
So we can start by entering the above results in the table, the value to the left of the * is represented by the columns and the value to the right of the * is represented by the rows. So when calculating a^b the column headings are denoted by a.?? and the rows are denoted by b.??
a*b |
b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
| a.e | 1 | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
| a.e1 | e1 | e11 = 1 [rule 5] | e12 | e13 = -e31 [rule 4] | e112 = e2 [rule 3] | e131 =-e113 [rule 2] = -e3 [rule 3] |
e123 | e1123 = e23 [rule 3] |
| a.e2 | e2 | a21 = -e12 [rule 4] | e22 = 1 [rule 5] | e23 | e212 = -e221 [rule 2] = -e1 [rule 3] |
e231 = -e132 [rule 4] e123 [rule 4] |
e223 = e3 [rule 3] | e2123 = -e2213 [rule 2] = e31 [rule 4] |
| a.e3 | e3 | e31 | e32 = -e23 [rule 4] | e33 = 1 [rule 5] | e312 = -e132 [rule 4] = e123 [rule 4] |
e331 = e1 [rule 3] | e323 = -e332 [rule 2] = -e2 [rule 3] |
e3123 = -e3321 [rule 2] = e12 [rule 4] |
| a.e12 | e12 | e121 = -e112 [rule 2] = -e2 [rule 3] |
e122 = e1 [rule 3] | e123 | e1212 = -e1122 [rule 2] = -1 [rule 5] |
e1231 = -e1132 [rule 2] = e23 [rule 3 & 4] |
e1223 = e13 [rule 3] -e31 [rule 4] |
e12123 =-e11223 [rule 2] = -e3 [rule 3] |
| a.e31 | e31 | e311 = e3 [rule 3] | e312 = -e132 [rule 4] = e123 [rule 4] |
e313 = -e331 [rule 2] = -e1 [rule 3] |
e3112 = e32 [rule 3] = -e23 [rule 4] |
e3131 = -e1133 [rule 2] = -1 [rule 5] |
e3123 = -e3321 [rule 2] = e12 [rule 3&4] |
e31123 = e323 [rule 3] = -e332 = -e2 |
| a.e23 | e23 | e231 =-e132 [rule 4] = e123 [rule 4] |
e232 = -e223 [rule 2] = -e3 [rule 3] |
e233 = e2 [rule 3] | e2312 = -e2213 [rule 2] = e31 [rule 3&4] |
e2331 = e21 [rule 3] = -e12 [rule 4] |
e2323 = -e3322 [rule 2] = -1 [rule 5] |
e23123 = -e22133 [rule 2] = -e1 [rule 3] |
| a.e123 | e123 | e1231 = -e1123 [rule 2] = e23 [rule 3&4] |
e1232 =-e1223 [rule 2] = e31 [rule 3&4] |
e1233 = e12 [rule 3] | e12312 = -e11322 [rule 2] = -e3 [rule 3] |
e12331 = e121 [rule 2] =-e112 = -e2 |
e12323 = -e12233 [rule 2] =-e1 [rule 3] |
e123123 = -e113223 [rule 2] = -1 [rule 5] |
So the finished table is:
a*b |
b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
| a.e | 1 | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
| a.e1 | e1 | 1 | e12 | -e31 | e2 | -e3 | e123 | e23 |
| a.e2 | e2 | -e12 | 1 | e23 | -e1 | e123 | e3 | e31 |
| a.e3 | e3 | e31 | -e23 | 1 | e123 | e1 | -e2 | e12 |
| a.e12 | e12 | -e2 | e1 | e123 | -1 | e23 | -e31 | -e3 |
| a.e31 | e31 | e3 | e123 | -e1 | -e23 | -1 | e12 | -e2 |
| a.e23 | e23 | e123 | -e3 | e2 | e31 | -e12 | -1 | -e1 |
| a.e123 | e123 | e23 | e31 | e12 | -e3 | -e2 | -e1 | -1 |
In the above table we can see that some entries are commutative and some are anti-commutative, that is, if we swap rows and columns (or reflect in leading diagonal) some values remain the same and the others have their sign changed. We can also see that (A * B)† = B†* A† because if we rotate the whole table by 90 degrees then the entry will become its reversal.
I guess what we really need to know is that, given a multivector with numerical values: a.e, a.e1, a.e2, a.e3, a.e12, a.e31, a.e23 and a.e123 multiplied by a second multivector with numerical values: b.e, b.e1, b.e2, b.e3, b.e12, b.e31, b.e23 and b.e123 then what are the resulting numerical values. Multiplying out each term gives the following result:
| e = | a.e * b.e | + a.e1 * b.e1 | + a.e2 * b.e2 | + a.e3 * b.e3 | - a.e12 * b.e12 | - a.e31 * b.e31 | - a.e23 * b.e23 | - a.e123 * b.e123 |
| e1 = | a.e1 * b.e | + a.e * b.e1 | - a.e12 * b.e2 | + a.e31 * b.e3 | + a.e2 * b.e12 | - a.e3 * b.e31 | - a.e123 * b.e23 | - a.e23 * b.e123 |
| e2 = | a.e2 * b.e | + a.e12 * b.e1 | + a.e * b.e2 | - a.e23 * b.e3 | - a.e1 * b.e12 | - a.e123 * b.e31 | + a.e3 * b.e23 | - a.e31 * b.e123 |
| e3 = | a.e3 * b.e | - a.e31 * b.e1 | + a.e23 * b.e2 | + a.e * b.e3 | - a.e123 * b.e12 | + a.e1 * b.e31 | - a.e2 * b.e23 | - a.e12 * b.e123 |
| e12 = | a.e12 * b.e | + a.e2 * b.e1 | - a.e1 * b.e2 | + a.e123 * b.e3 | + a.e * b.e12 | + a.e23 * b.e31 | - a.e31 * b.e23 | + a.e3 * b.e123 |
| e31 = | a.e31 * b.e | - a.e3 * b.e1 | + a.e123 * b.e2 | + a.e1 * b.e3 | - a.e23 * b.e12 | + a.e * b.e31 | + a.e12 * b.e23 | + a.e2 * b.e123 |
| e23 = | a.e23 * b.e | + a.e123 * b.e1 | + a.e3 * b.e2 | - a.e2 * b.e3 | + a.e31 * b.e12 | - a.e12 * b.e31 | + a.e * b.e23 | + a.e1 * b.e123 |
| e123 = | a.e123 * b.e | + a.e23 * b.e1 | + a.e31 * b.e2 | + a.e12 * b.e3 | + a.e3 * b.e12 | + a.e2 * b.e31 | + a.e1 * b.e23 | + a.e * b.e123 |
Some programs implement multiplication by using Eddington Basis
Eddington Basis for aMonad E Number 1 : 0, 0, 0, *0 E Number 2 : 0, 0, 1, *1 E Number 3 : 0, 0, 2, *2 E Number 4 : 0, 0, 3, *3 E Number 5 : 0, 1, 2, *6 E Number 6 : 0, 1, 3, *7 E Number 7 : 0, 2, 3, *11 E Number 8 : 1, 2, 3, *27 Basis products for aMonad E Number 1 : 1, 2, 3, 4, 5, 6, 7, 8, *0 E Number 2 : 2, 1, 5, 6, 3, 4, 8, 7, *1 E Number 3 : 3, -5, 1, 7, -2, -8, 4, -6, *2 E Number 4 : 4, -6, -7, 1, 8, -2, -3, 5, *3 E Number 5 : 5, -3, 2, 8, -1, -7, 6, -4, *6 E Number 6 : 6, -4, -8, 2, 7, -1, -5, 3, *7 E Number 7 : 7, 8, -4, 3, -6, 5, -1, -2, *11 E Number 8 : 8, 7, -6, 5, -4, 3, -2, -1, *27 Basis products for aMonad E Number 1 : 1, 2, 3, 4, 5, 6, 7, 8, *0 E Number 2 : 2, -1, 5, 6, -3, -4, 8, -7, *1 E Number 3 : 3, -5, -1, 7, 2, -8, -4, 6, *2 E Number 4 : 4, -6, -7, -1, 8, 2, 3, -5, *3 E Number 5 : 5, 3, -2, 8, -1, 7, -6, -4, *6 E Number 6 : 6, 4, -8, -2, -7, -1, 5, 3, *7 E Number 7 : 7, 8, 4, -3, 6, -5, -1, -2, *11 E Number 8 : 8, -7, 6, -5, -4, 3, -2, 1, *27
|
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. |
|
|
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. |
|
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: |
|
This site may have errors. Don't use for critical systems.
Copyright (c) 1998-2008 Martin John Baker - All rights reserved - privacy policy.