Maths - Calculations 1D Euclidean Space

Summary of Results

We will derive the multiplication table for geometric product below, also how to calculate the inverse and transform using sandwich product. We will derive the multiplication table for outer product on this page and inner product on this page.

But first, here are the multipication tables for 1D Euclidean Space:

table for: Geometric Product

a*bb.1b.n0b.nb.n0∞b.n1b.n01b.n∞1b.n0∞1
a.11n0nn0∞n1n01n∞1n0∞1
a.n0n00n0∞*20n010n0∞1*20
a.nn 4-n0∞*20n*2n∞1n1*4-n0∞1*20n∞1*2
a.n0∞n0∞n0*20n0∞*2n0∞1n01*20n0∞1*2
a.n1n1-n01-n∞1n0∞11-n0-nn0∞
a.n01n010-n0∞1*20n00-n0∞*20
a.n∞1n∞1-n1*4+n0∞1*20n∞1*2n-1*4+n0∞*20n*2
a.n0∞1n0∞1-n01*20n0∞1*2n0∞-n0*20n0∞*2

table for: Outer Product

a*bb.1b.n0b.nb.n0∞b.n1b.n01b.n∞1b.n0∞1
a.11n0nn0∞n1n01n∞1n0∞1
a.n0n00n0∞*20n010n0∞1*20
a.nn-n0∞*200n∞1-n0∞1*200
a.n0∞n0∞000n0∞1000
a.n1n1-n01-n∞1n0∞10000
a.n01n010-n0∞1*200000
a.n∞1n∞1n0∞1*2000000
a.n0∞1n0∞10000000

table for: Inner Product

a*bb.1b.n0b.nb.n0∞b.n1b.n01b.n∞1b.n0∞1
a.110000000
a.n0n00000000
a.nn1*4000000
a.n0∞n0∞n0*2000000
a.n1n10001000
a.n01n01000n0000
a.n∞1n∞1-n1*400n-1*400
a.n0∞1n0∞1-n01*200n0∞-n0*200

Multiplication

Here we will derive a general expression for multiplication using the following table:

a*b
b.n b.n0 b.n b.n0∞ b.n1 b.n01 b.n∞1 b.n0∞1
a.n 1 n0
n n0∞ n1 n01 n∞1 n0∞1
a.n0 n0 0 n0∞ 0 n01 0 n0∞1 0
a.n n 1-n0∞ 0 n n∞1 n1-n0∞1 0 n∞1
a.n0∞ n0∞ n0 0 n0∞ n0∞1 n01 0 n0∞1
a.n1 n1 -n01 -n∞1 n0∞1 1 -n0 -n n0∞
a.n01 n01 0 -n0∞1 0 n0 0 -n0∞ 0
a.n∞1 n∞1 n0∞1-n1 0 n∞1 n n0∞-1 0 n
a.n0∞1 n0∞1 -n01 0 n0∞1 n0∞ -n0 0 n0∞

Our multiplcaitiom is represented by:

c=a*b

Where a, b and c are multivectors which may contain scalar, vector and bivector and trivector components.

so multiplying out all the components gives:

(an an+an0 an0+an∞ an+an0 an1+an0∞ an0∞+an01 an01+an∞1 an∞1+an0∞1 an0∞1)*
(bn b n+bn0 bn0+bn∞ bn+bn1 bn1+bn0∞ b n0∞+bn01 b n01+bn∞1 b n∞1+bn0∞1 bn0∞1)

The result is:

cn=an*bn + an0*bn1 + an0*bn∞ - an∞1*bn01
cn0=an*bn0 + an0*bn + an0∞*bn0- an0*bn01+ an01*bn1- an0∞1*bn01
cn=an*bn∞ + an∞*bn + an∞*bn0∞ - an0*bn∞1+ an∞1*bn1 + an∞1*bn0∞1
cn1=an*bn1 + an0*bn+ an∞*bn01- an∞1*bn0
cn0∞=an*bn0∞+an0*bn∞-an∞*bn0+an0∞*bn+an0∞*bn0∞+an0*bn0∞1-an01*bn∞1+an∞1*bn01+an0∞1*bn1+an0∞1*bn0∞1
cn01=an*bn01+an0*bn1+an0∞*bn01-an0*bn0+an01*bn-an0∞1*bn0
cn∞1=an*bn∞1+an∞*bn1+an∞*bn0∞1-an0*bn∞+an∞1*bn+an∞1*bn0∞
cn0∞1=an*bn0∞1+an0*bn∞1-an∞*bn01+an0∞*bn1+an0*bn0∞-an01*bn∞+an∞1*bn0+an0∞1*bn

Multivector Calculator

The following calculator allows you to calculate the multivector arithmetic of our rotated basis. Enter the values into the top two multivectors and then press "+ - or * " to display the result in the bottom multivector:

scalar n    
vector n0 n∞ n1
bivector n0∞ n01 n∞1
tri-vector n0∞1    
scalar n    
vector n0 n n1
bivector n0∞ n01 n∞1
tri-vector n0∞1    
=
scalar n    
vector n0 n n1
bivector n0∞ n01 n∞1
tri-vector n0∞1    

Inverse

With geometric algebra we cannot guarantee that the inverse of any multivector exists. So here we will concentrate on the even subalgebra, to do this we will follow the usual trick of multiplying numerator and denominator by the reversal (similar concept to conjugate). See this page for explanation of these terms.

So we want to find the inverse of:

an an+an0∞ an0∞+an01 an01+an∞1 an∞1

the result is:

a-1= (an an-an0∞ an0∞-an01 an01-an∞1 an∞1)/(an² + an*an0∞ + an∞1*an01)

This is calculated by multiplying numerator and denominator by the reverse. The reverse is:

an an+an0∞(1-an0∞) -an01 an01-an∞1 an∞1

multiplying these gives:

cn=an*bn - an∞1*bn01
cn0=0
cn=0
cn1=0
cn0∞=an*bn0∞+an0∞*bn+an0∞*bn0∞-an01*bn∞1+an∞1*bn01
cn01=an*bn01+an0∞*bn01+an01*bn
cn∞1=an*bn∞1+an∞1*bn+an∞1*bn0∞
cn0∞1=0

substituting the reverse for the 'b' terms gives:

cn=an*(an+an0∞) + an∞1*an01
cn0=0
cn=0
cn1=0
cn0∞= -an*an0∞+an0∞*(an+an0∞)-an0∞*an0∞+an01*an∞1-an∞1*an01
cn01= -an*an01-an0∞*an01+an01*(an+an0∞)
cn∞1= -an*an∞1+an∞1*(an+an0∞)-an∞1*an0∞
cn0∞1=0

expanding out:

cn= an*an + an*an0∞ + an∞1*an01
cn0∞= -an*an0∞+an0∞*an+an0∞*an0∞-an0∞*an0∞+an01*an∞1-an∞1*an01
cn01= -an*an01-an0∞*an01+an01*an+an01*an0∞
cn∞1= -an*an∞1+an∞1*an+an∞1*an0∞-an∞1*an0∞

and cancelling out:

cn= an*an + an*an0∞ + an∞1*an01
cn0∞= 0
cn01= 0
cn∞1= 0

which gives the pure scalar: an*an + an*an0∞ + an∞1*an01

Transform using Sandwich Product

Transforms using sandwich product

c=a*b* †a

Where:

Note: the difference between the conjugate and the inverse is just a scalar multiplier which does not alter the transform represented.

In order to simplify things we will restrict a to (1 + t n∞1) because all transforms are represented by the even subalgebra and also we will set the n0∞ and n01components to zero because rotation is not applicable.

Simarly we will restrict b to (-n0+ u² n + u n1) this ensures that our points are represented by null vectors.

So multiplying out all the components gives:

(1 + t n∞1)(-n0+ u² n + u n1)(1 - t n∞1)

Multipliying first two terms first (the order does not matter because this algebra is associative):

=(-n0+ u² n + u n1 - t (n∞1n0)+ tu² (n∞1n)+ tu (n∞1n1))(1 - t n∞1)
=(-n0+ u² n + u n1 - t (n0∞1-n1)+ tu² (0)+ tu (n))(1 - t n∞1)
=(-n0+ (u²+tu) n + (u+t) n1 - t n0∞1)(1 - t n∞1)
=-n0+ (u²+tu) n + (u+t) n1 - t n0∞1 + t (n0n∞1) - (u²+tu)t(nn∞1) - (u+t) t (n1n∞1) + t² (n0∞1n∞1)
=-n0+ (u²+tu) n + (u+t) n1 - t n0∞1 + t (n0∞1) - (u²+tu)t(0) - (u+t) t (-n) + t² (0)
=-n0+ (u²+tu+ut+t²) n + (u+t) n1
=-n0+ (u+t)² n + (u+t) n1

which represents a point at (u+t).


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 Geometric Algebra for Computer Science: An Object-oriented Approach to Geometry. This book stresses the Geometry in Geometric Algebra, although it is still very mathematically orientated. Programmers using this book will need to have a lot of mathematical knowledge. Its good to have a Geometric Algebra book aimed at computer scientists rather than physicists. There is more information about this book here.

 

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

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