Geometric product

https://arbital.com/p/6n8

by Adele Lopez Nov 30 2016 updated Nov 30 2016


Motivation

want to incorporate rotors like eIθ and scalars n in the same system

also want |a|2+|b|2=|a+b|2 to be incorporated into the product

want to follow standard laws of products in algebra as much as possible - distribute over vector sum

but, we don't want it to be commutative, because we've seen that rotations in 3d are not commutative, so it would lose its power to describe geometric relations if we kept that (scalars themselves will always be commutable with everything)

there is a product that satisfies all of these. it was hard to find, carefully designed, and has a lot of built up mathematical insight going into it. we will try to understand why it is the way it is

Contraction rule

key idea - look at (a+b)2=a2+ab+ba+b2 (remember ab and ba should different in general, so we can't combine them into 2ab) pretty close to pythagorean theorem!

if we set a2=|a|2, this will almost get us to the pythagorean theorem: |a+b|2=|a|2+ab+ba+|b|2

it's good that there's the ab+ba in there, because the pythagorean theorem is only true for vectors at right angles so ab+ba should be zero exactly when a and b are at right angles

what about when a and b are in the same direction? then |a+b|2=(|a|+|b|)2=|a|2+2|a||b|+|b|2 so in this case, ab+ba should be 2|a||b|

so for right angles ab=ba

for parallel vectors makes sense to have ab=ba=|a||b|

important consequence: 1a=a|a|2 - actually need to use a1 bc non-commutative

Rotations

from rotor theory, for right angles, aeIπ/2=b for same magnitude so eIπ/2=ab|a|2, so ab=|a|2eIπ/2, when |a|=|b|

then if b is diff magnitude, a|b|/|a|eIπ/2=b, so ab=|a||b|eIπ/2.

this means |b||a|=eIπ/2.

one more thing we have to set, we will identify eIπ/2 with the unit bivector I itself.

so for perpendicular angles, ab=|a||b|I

this means I2=1

so what is ab in general?

write a=axx+ayy, b=bxx+byy ab=(axx+ayy)(bxx+byy)=axbxx2+aybxyx+axbyxy+aybyy2=axbx+aybyaybxI+axbyI

scalar part + bivector part

this gives us an alternate way of writing angles

eIπ/4=1+I2

call the scalar part the cosine, and the bivector part the sine

eIθ=cos(θ)+Isin(θ)

(btw this is where all those trig identities you hated come from - they are much easier to work with in exponential form)

Multivectors

rotor is sum of scalar and bivector

in general - we can add together any type of k-vector

can think of the different parts as different aspects of the transformation

different parts are called grades