Maths - 5D Clifford Algebra - Arithmetic

The arithmatic on this page asumes the operands are a general case of a 5D multivector:

first multivector
+ a.e e + a.e1 e1 + a.e2 e2 + a.e3 e3 + a.e4 e4 + a.e5 e5 + a.e12 e12 + a.e13 e13 + a.e14 e14 + a.e15 e15 + a.e23 e23 + a.e24 e24 + a.e25 e25 + a.e34 e34 + a.e35 e35 + a.e45 e45 + a.e123 e123 + a.e214 e214 + a.e125 e125 + a.e134 e134 + a.e315 e315 + a.e145 e145 + a.e324 e324 + a.e235 e235 + a.e425 e425 + a.e345 e345 + a.e1234 e1234 + a.e1253 e1253 + a.e1245 e1245 + a.e3145 e3145 + a.e2345 e2345 + a.e12345 e12345

and a second multivector:

b.e e + b.e1 e1 + b.e2 e2 + b.e3 e3 + b.e4 e4 + b.e5 e5 + b.e12 e12 + b.e13 e13 + b.e14 e14 + b.e15 e15 + b.e23 e23 + b.e24 e24 + b.e25 e25 + b.e34 e34 + b.e35 e35 + b.e45 e45 + b.e123 e123 + b.e214 e214 + b.e125 e125 + b.e134 e134 + b.e315 e315 + b.e145 e145 + b.e324 e324 + b.e235 e235 + b.e425 e425 + b.e345 e345 + b.e1234 e1234 + b.e1253 e1253 + b.e1245 e1245 + b.e3145 e3145 + b.e2345 e2345 + b.e12345 e12345

Adding multi vectors numbers

Just add each component independently as follows:

e = a.e + b.e
e1 = a.e1 + b.e1
e2 = a.e2 + b.e2
e3 = a.e3 + b.e3
e4 = a.e4 + b.e4
e5 = a.e5 + b.e5
e12 = a.e12 + b.e12
e13 = a.e13 + b.e13
e14 = a.e14 + b.e14
e15 = a.e15 + b.e15
e23 = a.e23 + b.e23
e24 = a.e24 + b.e24
e25 = a.e25 + b.e25
e34 = a.e34 + b.e34
e35 = a.e35 + b.e35
e45 = a.e45 + b.e45
e123 = a.e123 + b.e123
e214 = a.e214 + b.e214
e125 = a.e125 + b.e125
e134 = a.e134 + b.e134
e315 = a.e315 + b.e315
e145 = a.e145 + b.e145
e324 = a.e324 + b.e324
e235 = a.e235 + b.e235
e425 = a.e425 + b.e425
e345 = a.e345 + b.e345
e1234 = a.e1234 + b.e1234
e1253 = a.e1253 + b.e1253
e1245 = a.e1245 + b.e1245
e3145 = a.e3145 + b.e3145
e2345 = a.e2345 + b.e2345
e12345 = a.e12345 + b.e12345

This operation will be coded in the multi5d class (see this class here).

When adding blades of different grade then we cant reduce it further and we leave the + in the number.

For example:

3 + 4 e1 + 5 e12

added to

5 + 4 e2 + 3 e12

gives

8 + 4 e1 + 4 e2 + 8 e12

Subtracting multi vectors numbers

Just subtract each component independently as follows:

e = a.e - b.e
e1 = a.e1 - b.e1
e2 = a.e2 - b.e2
e3 = a.e3 - b.e3
e4 = a.e4 - b.e4
e5 = a.e5 - b.e5
e12 = a.e12 - b.e12
e13 = a.e13 - b.e13
e14 = a.e14 - b.e14
e15 = a.e15 - b.e15
e23 = a.e23 - b.e23
e24 = a.e24 - b.e24
e25 = a.e25 - b.e25
e34 = a.e34 - b.e34
e35 = a.e35 - b.e35
e45 = a.e45 - b.e45
e123 = a.e123 - b.e123
e214 = a.e214 - b.e214
e125 = a.e125 - b.e125
e134 = a.e134 - b.e134
e315 = a.e315 - b.e315
e145 = a.e145 - b.e145
e324 = a.e324 - b.e324
e235 = a.e235 - b.e235
e425 = a.e425 - b.e425
e345 = a.e345 - b.e345
e1234 = a.e1234 - b.e1234
e1253 = a.e1253 - b.e1253
e1245 = a.e1245 - b.e1245
e3145 = a.e3145 - b.e3145
e2345 = a.e2345 - b.e2345
e12345 = a.e12345 - b.e12345

This operation will be coded in the multi5d class (see this class here).

Multiplying 5D multivectors numbers (geometric product)

The main type of multiplication, which is described here, is geometric multiplication. Each term can be calculated using simple rules as described here.

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.??

So the finished table is:

ee1e2e3e4e5e12e13e14e15e23e24e25e34e35e45e123e214e125e134e315e145e324e235e425e345e1234e1253e1245e3145e2345e12345
e1ee12e13e14e15e2e3e4e5e123-e214e125e134-e315e145e23-e24e25e34-e35e45-e1234-e1253-e1245-e3145-e324-e235-e425-e345e12345e2345
e2-e12ee23e24e25-e1-e123e214-e125e3e4e5-e324e235-e425-e13e14-e15-e1234-e1253-e1245-e34e35-e45e2345-e134-e315-e145e12345e345e3145
e3-e13-e23ee34e35e123-e1-e134e315-e2e324-e235e4e5e345e12-e1234-e1253-e14e15e3145e24-e25e2345e45-e214-e125e12345e145e425e1245
e4-e14-e24-e34ee45-e214e134-e1-e145-e324-e2e425-e3-e345e5-e1234-e12e1245e13e3145-e15-e23e2345e25-e35-e123e12345e125e315e235e1253
e5-e15-e25-e35-e45ee125-e315e145-e1e235-e425-e2e345-e3-e4e1253e1245e12e3145-e13e14e2345e23-e24e34e12345e123e214e134e324e1234
e12-e2e1e123-e214e125-e-e23-e24-e25e13e14e15e1234-e1253e1245-e3e4-e5e324e235e425-e134-e315-e145e12345-e34e35-e45e2345-e3145-e345
e13-e3-e123e1e134-e315e23-e-e34-e35-e12-e1234e1253e14e15-e3145e2e324e235-e4e5-e345-e214-e125e12345e145e24-e25e2345e45-e1245-e425
e14-e4e214-e134e1e145e24e34-e-e45e1234-e12-e1245-e13e3145e15e324-e2-e425e3-e345-e5-e123e12345e125e315-e23e2345e25-e35-e1253-e235
e15-e5-e125e315-e145e1e25e35e45-e-e1253e1245-e12-e3145-e13-e14-e235-e425e2-e345-e3e4e12345e123e214e134e2345e23-e24e34-e1234-e324
e23e123-e3e2-e324e235-e13e12e1234-e1253-e-e34-e35e24e25e2345-e1e134e315-e214-e125e12345e4-e5e345-e425-e14e15e3145-e1245-e45-e145
e24-e214-e4e324e2-e425-e14-e1234e12e1245e34-e-e45-e23-e2345e25e134e1-e145-e123e12345e125-e3e345e5-e235e13e3145-e15-e1253e35-e315
e25e125-e5-e235e425e2-e15e1253-e1245e12e35e45-ee2345-e23-e24-e315-e145-e1e12345e123e214e345e3-e4-e324e3145-e13e14-e1234-e34-e134
e34e134-e324-e4e3e345e1234-e14e13-e3145-e24e23e2345-e-e45e35e214-e123e12345-e1e145-e315e2e425-e235-e5-e12e1245-e1253e15-e25-e125
e35-e315e235-e5-e345e3-e1253-e15e3145e13-e25-e2345e23e45-e-e34-e125e12345e123e145e1-e134e425-e2-e324e4e1245e12-e1234-e14e24-e214
e45e145-e425e345-e5e4e1245-e3145-e15e14e2345-e25e24-e35e34-ee12345e125-e214e315-e134-e1e235-e324e2-e3e1253-e1234-e12e13-e23-e123
e123e23-e13e12e1234-e1253-e3e2-e324e235-e1-e134e315-e214e125e12345-ee34-e35e24-e25e2345e14-e15-e3145e1245-e4e5-e345e425-e145-e45
e214-e24e14e1234-e12-e1245e4-e324-e2e425-e134e1e145e123e12345-e125-e34-ee45e23-e2345-e25e13e3145-e15-e1253-e3e345e5-e235e315-e35
e125e25-e15e1253-e1245e12-e5-e235e425e2-e315e145-e1e12345-e123e214e35-e45-ee2345e23-e24-e3145e13-e14e1234-e345-e3e4e324-e134-e34
e134e34e1234-e14e13-e3145-e324-e4e3e345e214e123e12345-e1-e145-e315-e24-e23e2345-ee45e35e12-e1245e1253-e15-e2-e425e235e5-e125-e25
e315-e35e1253e15-e3145-e13-e235e5e345-e3e125e12345-e123-e145e1e134e25-e2345-e23-e45-ee34e1245e12-e1234-e14e425-e2-e324e4e214-e24
e145e45e1245-e3145-e15e14-e425e345-e5e4e12345-e125-e214e315e134-e1e2345e25e24-e35-e34-e-e1253e1234e12-e13-e235e324-e2e3-e123-e23
e324e1234-e34e24-e23-e2345e134e214e123e12345e4-e3-e345e2-e425-e235-e14-e13-e3145-e12e1245-e1253-ee45e35e25-e1e145-e315e125e5-e15
e235e1253e35-e25-e2345e23e315e125e12345-e123-e5-e345e3-e425-e2e324e15e3145-e13-e1245-e12e1234-e45-ee34e24-e145-e1e134-e214e4-e14
e425e1245-e45-e2345e25-e24e145e12345-e125-e214-e345e5-e4e235e324e2-e3145e15e14e1253-e1234-e12-e35-e34-ee23e315-e134-e1e123e3-e13
e345e3145-e2345e45-e35e34e12345-e145-e315-e134e425e235e324-e5e4-e3e1245-e1253e1234e15e14e13-e25-e24-e23-e-e125e214-e123-e1e2-e12
e1234e324e134e214e123e12345-e34e24-e23-e2345-e14e13-e3145-e12-e1245-e1253e4e3-e345e2e425-e235e1-e145e315-e125e-e45-e35-e25-e15e5
e1253e235e315e125e12345-e123e35-e25-e2345e23e15-e3145-e13-e1245e12e1234-e5e345e3-e425e2e324e145e1-e134e214e45e-e34-e24-e14e4
e1245e425e145e12345-e125-e214-e45-e2345e25-e24-e3145-e15e14e1253e1234-e12-e345-e5-e4e235-e324e2-e315e134e1-e123e35e34e-e23-e13e3
e3145e345e12345-e145-e315-e134-e2345e45-e35e34e1245e1253e1234e15-e14e13e425-e235e324-e5-e4-e3e125-e214e123e1e25e24e23e-e12e2
e2345e12345-e345-e425-e235-e324e3145e1245e1253e1234-e45e35-e34-e25e24-e23-e145e315-e134-e125e214-e123-e5-e4-e3-e2e15e14e13e12ee1
e12345e2345e3145e1245e1253e1234-e345-e425-e235-e324-e145-e315-e134-e125-e214-e123-e45-e35-e34-e25-e24-e23-e15-e14-e13-e12e5e4e3e2e1e

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.e4*b.e4+a.e5*b.e5-a.e12*b.e12-a.e13*b.e13-a.e14*b.e14
-a.e15*b.e15-a.e23*b.e23-a.e24*b.e24-a.e25*b.e25-a.e34*b.e34-a.e35*b.e35-a.e45*b.e45-a.e123*b.e123-a.e214*b.e214-a.e125*b.e125-a.e134*b.e134-a.e315*b.e315-a.e145*b.e145-a.e324*b.e324-a.e235*b.e235-a.e425*b.e425-a.e345*b.e345+a.e1234*b.e1234+a.e1253*b.e1253+a.e1245*b.e1245+a.e3145*b.e3145+a.e2345*b.e2345+a.e12345*b.e12345

e1 = +a.e*b.e1+a.e1*b.e-a.e2*b.e12-a.e3*b.e13-a.e4*b.e14-a.e5*b.e15+a.e12*b.e2+a.e13*b.e3+a.e14*b.e4
+a.e15*b.e5-a.e23*b.e123+a.e24*b.e214-a.e25*b.e125-a.e34*b.e134+a.e35*b.e315-a.e45*b.e145-a.e123*b.e23+a.e214*b.e24-a.e125*b.e25-a.e134*b.e34+a.e315*b.e35-a.e145*b.e45-a.e324*b.e1234-a.e235*b.e1253-a.e425*b.e1245-a.e345*b.e3145+a.e1234*b.e324+a.e1253*b.e235+a.e1245*b.e425+a.e3145*b.e345+a.e2345*b.e12345+a.e12345*b.e2345

e2 = +a.e*b.e2+a.e1*b.e12+a.e2*b.e-a.e3*b.e23-a.e4*b.e24-a.e5*b.e25-a.e12*b.e1+a.e13*b.e123-a.e14*b.e214
+a.e15*b.e125+a.e23*b.e3+a.e24*b.e4+a.e25*b.e5+a.e34*b.e324-a.e35*b.e235+a.e45*b.e425+a.e123*b.e13-a.e214*b.e14+a.e125*b.e15-a.e134*b.e1234-a.e315*b.e1253-a.e145*b.e1245+a.e324*b.e34-a.e235*b.e35+a.e425*b.e45+a.e345*b.e2345+a.e1234*b.e134+a.e1253*b.e315+a.e1245*b.e145+a.e3145*b.e12345-a.e2345*b.e345+a.e12345*b.e3145

e3 = +a.e*b.e3+a.e1*b.e13+a.e2*b.e23+a.e3*b.e-a.e4*b.e34-a.e5*b.e35-a.e12*b.e123-a.e13*b.e1+a.e14*b.e134
-a.e15*b.e315-a.e23*b.e2-a.e24*b.e324+a.e25*b.e235+a.e34*b.e4+a.e35*b.e5-a.e45*b.e345-a.e123*b.e12-a.e214*b.e1234-a.e125*b.e1253+a.e134*b.e14-a.e315*b.e15+a.e145*b.e3145-a.e324*b.e24+a.e235*b.e25+a.e425*b.e2345-a.e345*b.e45+a.e1234*b.e214+a.e1253*b.e125+a.e1245*b.e12345-a.e3145*b.e145-a.e2345*b.e425+a.e12345*b.e1245

e4 = +a.e*b.e4+a.e1*b.e14+a.e2*b.e24+a.e3*b.e34+a.e4*b.e-a.e5*b.e45+a.e12*b.e214-a.e13*b.e134-a.e14*b.e1
+a.e15*b.e145+a.e23*b.e324-a.e24*b.e2-a.e25*b.e425-a.e34*b.e3+a.e35*b.e345+a.e45*b.e5-a.e123*b.e1234+a.e214*b.e12+a.e125*b.e1245-a.e134*b.e13+a.e315*b.e3145+a.e145*b.e15+a.e324*b.e23+a.e235*b.e2345-a.e425*b.e25+a.e345*b.e35+a.e1234*b.e123+a.e1253*b.e12345-a.e1245*b.e125-a.e3145*b.e315-a.e2345*b.e235+a.e12345*b.e1253

e5 = +a.e*b.e5+a.e1*b.e15+a.e2*b.e25+a.e3*b.e35+a.e4*b.e45+a.e5*b.e-a.e12*b.e125+a.e13*b.e315-a.e14*b.e145
-a.e15*b.e1-a.e23*b.e235+a.e24*b.e425-a.e25*b.e2-a.e34*b.e345-a.e35*b.e3-a.e45*b.e4+a.e123*b.e1253+a.e214*b.e1245-a.e125*b.e12+a.e134*b.e3145+a.e315*b.e13-a.e145*b.e14+a.e324*b.e2345-a.e235*b.e23+a.e425*b.e24-a.e345*b.e34+a.e1234*b.e12345-a.e1253*b.e123-a.e1245*b.e214-a.e3145*b.e134-a.e2345*b.e324+a.e12345*b.e1234

e12 = +a.e*b.e12+a.e1*b.e2-a.e2*b.e1+a.e3*b.e123-a.e4*b.e214+a.e5*b.e125+a.e12*b.e-a.e13*b.e23-a.e14*b.e24
-a.e15*b.e25+a.e23*b.e13+a.e24*b.e14+a.e25*b.e15-a.e34*b.e1234+a.e35*b.e1253-a.e45*b.e1245+a.e123*b.e3-a.e214*b.e4+a.e125*b.e5+a.e134*b.e324+a.e315*b.e235+a.e145*b.e425-a.e324*b.e134-a.e235*b.e315-a.e425*b.e145-a.e345*b.e12345-a.e1234*b.e34+a.e1253*b.e35-a.e1245*b.e45-a.e3145*b.e2345+a.e2345*b.e3145-a.e12345*b.e345

e13 = +a.e*b.e13+a.e1*b.e3-a.e2*b.e123-a.e3*b.e1+a.e4*b.e134-a.e5*b.e315+a.e12*b.e23+a.e13*b.e-a.e14*b.e34
-a.e15*b.e35-a.e23*b.e12+a.e24*b.e1234-a.e25*b.e1253+a.e34*b.e14+a.e35*b.e15+a.e45*b.e3145-a.e123*b.e2+a.e214*b.e324+a.e125*b.e235+a.e134*b.e4-a.e315*b.e5-a.e145*b.e345-a.e324*b.e214-a.e235*b.e125-a.e425*b.e12345+a.e345*b.e145+a.e1234*b.e24-a.e1253*b.e25-a.e1245*b.e2345+a.e3145*b.e45+a.e2345*b.e1245-a.e12345*b.e425

e14 = +a.e*b.e14+a.e1*b.e4+a.e2*b.e214-a.e3*b.e134-a.e4*b.e1+a.e5*b.e145+a.e12*b.e24+a.e13*b.e34+a.e14*b.e
-a.e15*b.e45-a.e23*b.e1234-a.e24*b.e12+a.e25*b.e1245-a.e34*b.e13-a.e35*b.e3145+a.e45*b.e15+a.e123*b.e324+a.e214*b.e2-a.e125*b.e425-a.e134*b.e3-a.e315*b.e345+a.e145*b.e5-a.e324*b.e123-a.e235*b.e12345+a.e425*b.e125+a.e345*b.e315-a.e1234*b.e23-a.e1253*b.e2345+a.e1245*b.e25-a.e3145*b.e35+a.e2345*b.e1253-a.e12345*b.e235

e15 = +a.e*b.e15+a.e1*b.e5-a.e2*b.e125+a.e3*b.e315-a.e4*b.e145-a.e5*b.e1+a.e12*b.e25+a.e13*b.e35+a.e14*b.e45
+a.e15*b.e+a.e23*b.e1253-a.e24*b.e1245-a.e25*b.e12+a.e34*b.e3145-a.e35*b.e13-a.e45*b.e14-a.e123*b.e235-a.e214*b.e425-a.e125*b.e2-a.e134*b.e345+a.e315*b.e3-a.e145*b.e4-a.e324*b.e12345+a.e235*b.e123+a.e425*b.e214+a.e345*b.e134-a.e1234*b.e2345+a.e1253*b.e23-a.e1245*b.e24+a.e3145*b.e34+a.e2345*b.e1234-a.e12345*b.e324

e23 = +a.e*b.e23+a.e1*b.e123+a.e2*b.e3-a.e3*b.e2-a.e4*b.e324+a.e5*b.e235-a.e12*b.e13+a.e13*b.e12-a.e14*b.e1234
+a.e15*b.e1253+a.e23*b.e-a.e24*b.e34-a.e25*b.e35+a.e34*b.e24+a.e35*b.e25-a.e45*b.e2345+a.e123*b.e1+a.e214*b.e134+a.e125*b.e315-a.e134*b.e214-a.e315*b.e125-a.e145*b.e12345-a.e324*b.e4+a.e235*b.e5+a.e425*b.e345-a.e345*b.e425-a.e1234*b.e14+a.e1253*b.e15-a.e1245*b.e3145+a.e3145*b.e1245-a.e2345*b.e45-a.e12345*b.e145

e24 = +a.e*b.e24-a.e1*b.e214+a.e2*b.e4+a.e3*b.e324-a.e4*b.e2-a.e5*b.e425-a.e12*b.e14+a.e13*b.e1234+a.e14*b.e12
-a.e15*b.e1245+a.e23*b.e34+a.e24*b.e-a.e25*b.e45-a.e34*b.e23+a.e35*b.e2345+a.e45*b.e25+a.e123*b.e134-a.e214*b.e1-a.e125*b.e145-a.e134*b.e123-a.e315*b.e12345+a.e145*b.e125+a.e324*b.e3+a.e235*b.e345-a.e425*b.e5-a.e345*b.e235+a.e1234*b.e13-a.e1253*b.e3145-a.e1245*b.e15+a.e3145*b.e1253+a.e2345*b.e35-a.e12345*b.e315

e25 = +a.e*b.e25+a.e1*b.e125+a.e2*b.e5-a.e3*b.e235+a.e4*b.e425-a.e5*b.e2-a.e12*b.e15-a.e13*b.e1253+a.e14*b.e1245
+a.e15*b.e12+a.e23*b.e35+a.e24*b.e45+a.e25*b.e-a.e34*b.e2345-a.e35*b.e23-a.e45*b.e24-a.e123*b.e315-a.e214*b.e145+a.e125*b.e1-a.e134*b.e12345+a.e315*b.e123+a.e145*b.e214+a.e324*b.e345-a.e235*b.e3+a.e425*b.e4-a.e345*b.e324-a.e1234*b.e3145-a.e1253*b.e13+a.e1245*b.e14+a.e3145*b.e1234-a.e2345*b.e34-a.e12345*b.e134

e34 = +a.e*b.e34+a.e1*b.e134-a.e2*b.e324+a.e3*b.e4-a.e4*b.e3+a.e5*b.e345-a.e12*b.e1234-a.e13*b.e14+a.e14*b.e13
+a.e15*b.e3145-a.e23*b.e24+a.e24*b.e23-a.e25*b.e2345+a.e34*b.e-a.e35*b.e45+a.e45*b.e35+a.e123*b.e214-a.e214*b.e123-a.e125*b.e12345+a.e134*b.e1+a.e315*b.e145-a.e145*b.e315-a.e324*b.e2+a.e235*b.e425-a.e425*b.e235+a.e345*b.e5-a.e1234*b.e12-a.e1253*b.e1245+a.e1245*b.e1253+a.e3145*b.e15-a.e2345*b.e25-a.e12345*b.e125

e35 = +a.e*b.e35-a.e1*b.e315+a.e2*b.e235+a.e3*b.e5-a.e4*b.e345-a.e5*b.e3+a.e12*b.e1253-a.e13*b.e15-a.e14*b.e3145
+a.e15*b.e13-a.e23*b.e25+a.e24*b.e2345+a.e25*b.e23+a.e34*b.e45+a.e35*b.e-a.e45*b.e34-a.e123*b.e125-a.e214*b.e12345+a.e125*b.e123+a.e134*b.e145-a.e315*b.e1-a.e145*b.e134+a.e324*b.e425+a.e235*b.e2-a.e425*b.e324-a.e345*b.e4-a.e1234*b.e1245+a.e1253*b.e12+a.e1245*b.e1234-a.e3145*b.e14+a.e2345*b.e24-a.e12345*b.e214

e45 = +a.e*b.e45+a.e1*b.e145-a.e2*b.e425+a.e3*b.e345+a.e4*b.e5-a.e5*b.e4-a.e12*b.e1245+a.e13*b.e3145-a.e14*b.e15
+a.e15*b.e14-a.e23*b.e2345-a.e24*b.e25+a.e25*b.e24-a.e34*b.e35+a.e35*b.e34+a.e45*b.e-a.e123*b.e12345+a.e214*b.e125-a.e125*b.e214+a.e134*b.e315-a.e315*b.e134+a.e145*b.e1+a.e324*b.e235-a.e235*b.e324-a.e425*b.e2+a.e345*b.e3-a.e1234*b.e1253+a.e1253*b.e1234-a.e1245*b.e12+a.e3145*b.e13-a.e2345*b.e23-a.e12345*b.e123

e123 = +a.e*b.e123+a.e1*b.e23-a.e2*b.e13+a.e3*b.e12-a.e4*b.e1234+a.e5*b.e1253+a.e12*b.e3-a.e13*b.e2-a.e14*b.e324
+a.e15*b.e235+a.e23*b.e1-a.e24*b.e134+a.e25*b.e315-a.e34*b.e214+a.e35*b.e125-a.e45*b.e12345+a.e123*b.e+a.e214*b.e34-a.e125*b.e35+a.e134*b.e24-a.e315*b.e25-a.e145*b.e2345+a.e324*b.e14-a.e235*b.e15+a.e425*b.e3145-a.e345*b.e1245+a.e1234*b.e4-a.e1253*b.e5-a.e1245*b.e345+a.e3145*b.e425-a.e2345*b.e145-a.e12345*b.e45

e214 = +a.e*b.e214-a.e1*b.e24+a.e2*b.e14-a.e3*b.e1234-a.e4*b.e12+a.e5*b.e1245-a.e12*b.e4-a.e13*b.e324+a.e14*b.e2
+a.e15*b.e425-a.e23*b.e134-a.e24*b.e1+a.e25*b.e145+a.e34*b.e123-a.e35*b.e12345-a.e45*b.e125-a.e123*b.e34+a.e214*b.e+a.e125*b.e45+a.e134*b.e23+a.e315*b.e2345-a.e145*b.e25+a.e324*b.e13-a.e235*b.e3145-a.e425*b.e15+a.e345*b.e1253+a.e1234*b.e3+a.e1253*b.e345-a.e1245*b.e5-a.e3145*b.e235+a.e2345*b.e315-a.e12345*b.e35

e125 = +a.e*b.e125+a.e1*b.e25-a.e2*b.e15-a.e3*b.e1253+a.e4*b.e1245+a.e5*b.e12+a.e12*b.e5-a.e13*b.e235+a.e14*b.e425
-a.e15*b.e2-a.e23*b.e315+a.e24*b.e145+a.e25*b.e1-a.e34*b.e12345-a.e35*b.e123+a.e45*b.e214+a.e123*b.e35-a.e214*b.e45+a.e125*b.e-a.e134*b.e2345+a.e315*b.e23-a.e145*b.e24+a.e324*b.e3145+a.e235*b.e13-a.e425*b.e14-a.e345*b.e1234-a.e1234*b.e345+a.e1253*b.e3-a.e1245*b.e4+a.e3145*b.e324-a.e2345*b.e134-a.e12345*b.e34

e134 = +a.e*b.e134+a.e1*b.e34-a.e2*b.e1234-a.e3*b.e14+a.e4*b.e13+a.e5*b.e3145-a.e12*b.e324+a.e13*b.e4-a.e14*b.e3
+a.e15*b.e345+a.e23*b.e214+a.e24*b.e123-a.e25*b.e12345+a.e34*b.e1-a.e35*b.e145-a.e45*b.e315-a.e123*b.e24-a.e214*b.e23-a.e125*b.e2345+a.e134*b.e+a.e315*b.e45+a.e145*b.e35+a.e324*b.e12+a.e235*b.e1245-a.e425*b.e1253-a.e345*b.e15+a.e1234*b.e2-a.e1253*b.e425+a.e1245*b.e235-a.e3145*b.e5-a.e2345*b.e125-a.e12345*b.e25

e315 = +a.e*b.e315-a.e1*b.e35-a.e2*b.e1253+a.e3*b.e15+a.e4*b.e3145-a.e5*b.e13-a.e12*b.e235-a.e13*b.e5+a.e14*b.e345
+a.e15*b.e3+a.e23*b.e125-a.e24*b.e12345-a.e25*b.e123-a.e34*b.e145-a.e35*b.e1+a.e45*b.e134+a.e123*b.e25+a.e214*b.e2345-a.e125*b.e23-a.e134*b.e45+a.e315*b.e+a.e145*b.e34-a.e324*b.e1245+a.e235*b.e12+a.e425*b.e1234-a.e345*b.e14+a.e1234*b.e425+a.e1253*b.e2-a.e1245*b.e324-a.e3145*b.e4+a.e2345*b.e214-a.e12345*b.e24

e145 = +a.e*b.e145+a.e1*b.e45-a.e2*b.e1245+a.e3*b.e3145-a.e4*b.e15+a.e5*b.e14-a.e12*b.e425+a.e13*b.e345+a.e14*b.e5
-a.e15*b.e4-a.e23*b.e12345-a.e24*b.e125-a.e25*b.e214+a.e34*b.e315+a.e35*b.e134+a.e45*b.e1-a.e123*b.e2345+a.e214*b.e25+a.e125*b.e24-a.e134*b.e35-a.e315*b.e34+a.e145*b.e+a.e324*b.e1253-a.e235*b.e1234+a.e425*b.e12-a.e345*b.e13-a.e1234*b.e235+a.e1253*b.e324+a.e1245*b.e2-a.e3145*b.e3-a.e2345*b.e123-a.e12345*b.e23

e324 = +a.e*b.e324-a.e1*b.e1234-a.e2*b.e34+a.e3*b.e24-a.e4*b.e23+a.e5*b.e2345+a.e12*b.e134+a.e13*b.e214+a.e14*b.e123
-a.e15*b.e12345-a.e23*b.e4+a.e24*b.e3-a.e25*b.e345-a.e34*b.e2-a.e35*b.e425-a.e45*b.e235-a.e123*b.e14-a.e214*b.e13+a.e125*b.e3145-a.e134*b.e12-a.e315*b.e1245+a.e145*b.e1253+a.e324*b.e+a.e235*b.e45+a.e425*b.e35+a.e345*b.e25+a.e1234*b.e1+a.e1253*b.e145-a.e1245*b.e315+a.e3145*b.e125-a.e2345*b.e5-a.e12345*b.e15

e235 = +a.e*b.e235-a.e1*b.e1253+a.e2*b.e35-a.e3*b.e25+a.e4*b.e2345+a.e5*b.e23+a.e12*b.e315+a.e13*b.e125-a.e14*b.e12345
-a.e15*b.e123+a.e23*b.e5-a.e24*b.e345-a.e25*b.e3-a.e34*b.e425+a.e35*b.e2+a.e45*b.e324+a.e123*b.e15-a.e214*b.e3145-a.e125*b.e13+a.e134*b.e1245-a.e315*b.e12-a.e145*b.e1234-a.e324*b.e45+a.e235*b.e+a.e425*b.e34+a.e345*b.e24-a.e1234*b.e145+a.e1253*b.e1+a.e1245*b.e134-a.e3145*b.e214-a.e2345*b.e4-a.e12345*b.e14

e425 = +a.e*b.e425-a.e1*b.e1245-a.e2*b.e45+a.e3*b.e2345+a.e4*b.e25-a.e5*b.e24+a.e12*b.e145-a.e13*b.e12345-a.e14*b.e125
-a.e15*b.e214-a.e23*b.e345-a.e24*b.e5+a.e25*b.e4+a.e34*b.e235+a.e35*b.e324-a.e45*b.e2+a.e123*b.e3145+a.e214*b.e15+a.e125*b.e14-a.e134*b.e1253+a.e315*b.e1234-a.e145*b.e12-a.e324*b.e35-a.e235*b.e34+a.e425*b.e+a.e345*b.e23+a.e1234*b.e315-a.e1253*b.e134+a.e1245*b.e1+a.e3145*b.e123-a.e2345*b.e3-a.e12345*b.e13

e345 = +a.e*b.e345-a.e1*b.e3145+a.e2*b.e2345+a.e3*b.e45-a.e4*b.e35+a.e5*b.e34-a.e12*b.e12345-a.e13*b.e145-a.e14*b.e315
-a.e15*b.e134+a.e23*b.e425+a.e24*b.e235+a.e25*b.e324+a.e34*b.e5-a.e35*b.e4+a.e45*b.e3-a.e123*b.e1245+a.e214*b.e1253-a.e125*b.e1234+a.e134*b.e15+a.e315*b.e14+a.e145*b.e13-a.e324*b.e25-a.e235*b.e24-a.e425*b.e23+a.e345*b.e-a.e1234*b.e125+a.e1253*b.e214-a.e1245*b.e123+a.e3145*b.e1-a.e2345*b.e2-a.e12345*b.e12

e1234 = +a.e*b.e1234-a.e1*b.e324-a.e2*b.e134-a.e3*b.e214-a.e4*b.e123+a.e5*b.e12345+a.e12*b.e34-a.e13*b.e24+a.e14*b.e23
-a.e15*b.e2345+a.e23*b.e14-a.e24*b.e13-a.e25*b.e3145+a.e34*b.e12-a.e35*b.e1245-a.e45*b.e1253+a.e123*b.e4+a.e214*b.e3+a.e125*b.e345+a.e134*b.e2-a.e315*b.e425+a.e145*b.e235+a.e324*b.e1+a.e235*b.e145-a.e425*b.e315+a.e345*b.e125+a.e1234*b.e+a.e1253*b.e45+a.e1245*b.e35+a.e3145*b.e25+a.e2345*b.e15+a.e12345*b.e5

e1253 = +a.e*b.e1253-a.e1*b.e235-a.e2*b.e315-a.e3*b.e125+a.e4*b.e12345+a.e5*b.e123-a.e12*b.e35+a.e13*b.e25-a.e14*b.e2345
-a.e15*b.e23-a.e23*b.e15-a.e24*b.e3145+a.e25*b.e13-a.e34*b.e1245-a.e35*b.e12+a.e45*b.e1234-a.e123*b.e5-a.e214*b.e345+a.e125*b.e3+a.e134*b.e425+a.e315*b.e2-a.e145*b.e324-a.e324*b.e145+a.e235*b.e1+a.e425*b.e134-a.e345*b.e214-a.e1234*b.e45+a.e1253*b.e+a.e1245*b.e34+a.e3145*b.e24+a.e2345*b.e14+a.e12345*b.e4

e1245 = +a.e*b.e1245-a.e1*b.e425-a.e2*b.e145+a.e3*b.e12345+a.e4*b.e125+a.e5*b.e214+a.e12*b.e45-a.e13*b.e2345-a.e14*b.e25
+a.e15*b.e24-a.e23*b.e3145+a.e24*b.e15-a.e25*b.e14+a.e34*b.e1253+a.e35*b.e1234+a.e45*b.e12+a.e123*b.e345-a.e214*b.e5-a.e125*b.e4-a.e134*b.e235+a.e315*b.e324+a.e145*b.e2+a.e324*b.e315-a.e235*b.e134+a.e425*b.e1+a.e345*b.e123-a.e1234*b.e35-a.e1253*b.e34+a.e1245*b.e+a.e3145*b.e23+a.e2345*b.e13+a.e12345*b.e3

e3145 = +a.e*b.e3145-a.e1*b.e345+a.e2*b.e12345+a.e3*b.e145+a.e4*b.e315+a.e5*b.e134-a.e12*b.e2345-a.e13*b.e45+a.e14*b.e35
-a.e15*b.e34+a.e23*b.e1245+a.e24*b.e1253+a.e25*b.e1234-a.e34*b.e15+a.e35*b.e14-a.e45*b.e13-a.e123*b.e425+a.e214*b.e235-a.e125*b.e324-a.e134*b.e5-a.e315*b.e4-a.e145*b.e3-a.e324*b.e125+a.e235*b.e214-a.e425*b.e123+a.e345*b.e1-a.e1234*b.e25-a.e1253*b.e24-a.e1245*b.e23+a.e3145*b.e+a.e2345*b.e12+a.e12345*b.e2

e2345 = +a.e*b.e2345+a.e1*b.e12345+a.e2*b.e345+a.e3*b.e425+a.e4*b.e235+a.e5*b.e324+a.e12*b.e3145+a.e13*b.e1245+a.e14*b.e1253
+a.e15*b.e1234+a.e23*b.e45-a.e24*b.e35+a.e25*b.e34+a.e34*b.e25-a.e35*b.e24+a.e45*b.e23+a.e123*b.e145-a.e214*b.e315+a.e125*b.e134+a.e134*b.e125-a.e315*b.e214+a.e145*b.e123-a.e324*b.e5-a.e235*b.e4-a.e425*b.e3-a.e345*b.e2-a.e1234*b.e15-a.e1253*b.e14-a.e1245*b.e13-a.e3145*b.e12+a.e2345*b.e+a.e12345*b.e1

e12345 = +a.e*b.e12345+a.e1*b.e2345+a.e2*b.e3145+a.e3*b.e1245+a.e4*b.e1253+a.e5*b.e1234+a.e12*b.e345+a.e13*b.e425+a.e14*b.e235
+a.e15*b.e324+a.e23*b.e145+a.e24*b.e315+a.e25*b.e134+a.e34*b.e125+a.e35*b.e214+a.e45*b.e123+a.e123*b.e45+a.e214*b.e35+a.e125*b.e34+a.e134*b.e25+a.e315*b.e24+a.e145*b.e23+a.e324*b.e15+a.e235*b.e14+a.e425*b.e13+a.e345*b.e12+a.e1234*b.e5+a.e1253*b.e4+a.e1245*b.e3+a.e3145*b.e2+a.e2345*b.e1+a.e12345*b.e

Inner and Outer products

trasitions

In addition to the geometric product there are two more types of multiplication used in Geometric Algebra. These extend and generalise the 'dot' and 'cross' products used in 3D vector algebra.

Inner product by a vector reduces the grade of a multivector. It is related to the dot product.

Outer product by a vector increases the grade of a multivector. It is related to the cross product.

Division

We don't tend to use the divide notation for division, since multivector multiplication is not commutative we need to be able to distinguish between [a][b]-1 and [b]-1[a]. So instead of a divide operation we tend to multiply by the inverse.

So the problem is, how to calculate the inverse of a multivector, this is discussed here.


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.

flag flag flag flag flag flag Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics (Fundamental Theories of Physics). This book is intended for mathematicians and physicists rather than programmers, it is very theoretical. It covers the algebra and calculus of multivectors of any dimension and is not specific to 3D modelling.

 

flag flag flag flag flag flag New Foundations for Classical Mechanics (Fundamental Theories of Physics). This is very good on the geometric interpretation of this algebra. It has lots of insights into the mechanics of solid bodies. I still cant work out if the position, velocity, etc. of solid bodies can be represented by a 3D multivector or if 4 or 5D multivectors are required to represent translation and rotation.

 

Terminology and Notation

Specific to this page here:

 

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

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