biVector forum

Very Basic Question II

I am learning GA and am trying things out. I have the “clifford” Python package. It is doing something I don’t understand.

e12*e23 = e13
But
e12|e23 =0 and e12^e23=0

I thought x*y = x|y + x^y

? I’m missing something basic…

Hi @PatrickPowers, welcome to the forum!

The decomposition of the geometric product ab into inner a \cdot b and outer a \wedge b products only holds if at least one of a,b is a vector. In your example, both inputs were bivectors, the general decomposition for bivectors B_1,B_2 is:

B_1B_2 = B_1 \cdot B_2 + B_1 \times B_2 + B_1 \wedge B_2

where B_1 \times B_2 is the commutator product.

Intuitively, when you mutliply two bivectors, there are fwo pairs of vectors in play. These two pairs either have no vectors in common in which case you end up width a quadvector (eg. e_{12}*e_{34}), they can have one vector in common and you end up with a bivector (eg e_{12}*e_{23}) (the commutator product), or they share both vectors (e.g. e_{12}*e_{12}) and you end up with a scalar (the inner product).

In general, the product between a multivector a of grade s and a multivector b of grade t will have terms ranging from grade |s-t| to grade s+t in increments of 2.

Hope that helps,

Steven.

Hi @PatrickPowers, welcome to the forum! As Steven correctly says the fomula x*y = x|y + x^y is only valid for 1-vectors and not nessecarily true for things of higher grade such as bivectors. The best way in my opinion to define derived products (such as the inner and outer products) is in terms of grade selection on the result of the geometric product.

You might find the start (between 2m40s and 5m40s) of our GAME2020 talk useful here where I walk through the definitions of grade selection and from there the inner and outer products ( GAME2020 2. Hugo Hadfield, Eric Wieser. Robots, Ganja & Screw Theory - YouTube ). Here is a link to the slide deck with the inner and outer product definitions (GAME2020 ).

When it comes to the clifford package we implement these formulae directly in the code:

For more thorough reading I would recommend Chapter 4 of the book Geometric Algebra for Physicists by Doran and Lasenby.

Welcome again to the forum :slight_smile:
Hugo