Hi @vincent,

Both the point and hyperplane based views are equally valuable. In my opinion, going from \mathbb R_3, where the point based view is a good starting point, over \mathbb R^*_{n,0,1}, where you can introduce the hyperplane based view is the perfect step-up for \mathbb R_{4,1}, where both views are inherently tied into one another (both 1-vectors and 4-vectors are always both points (spheres with zero radius), as well as spheres and planes (spheres with infinite radius)). After that I feel it is very useful to go back and consider for example the hyperplane based view in \mathbb R_3 (to understand why in \mathbb R_3 we can only rotate around the origin), just as one can pick a GA to match the problem, the same goes for the geometry.

@elengyel,

Welcome and thank you for joining the forum! This is a great place for an open discussion on a topic that is clearly important to all of us. As I’ve told you before, I was very happy to see your use of the degenerate metric (which is still considered controversial), and I’ve appreciated your writeup on PGA very much. I hope we can continue a constructive conversation here as I strongly feel that our messages are very close together. Although the casual reader right now might miss that

So, importantly, and still in contrast to popular belief, it is possible to do Euclidean Geometry, with

versor representations for \mathfrak{SE}(n), the translations and rotations, using just a 1-D up Geometric Algebra. This has eluded us for many years and I feel we all agree on the key points :

- The projective model only works in the dual algebra / dual space.
- for Euclidean geometry this projective model needs a
**degenerate** projective dimension.
- The non-invertibility of the pss under the GP is no problem for a dual.

Let me stress that these three points are **not generally obvious** to others, and it remains our main responsibility to convey their importance. It would be a shame to have these points be lost in the the crossfire.

To implement these points I think we can summarize both methods as follows :

## \mathbb R^*_{3,0,1}

- elements are defined dually (perhaps contrary to what some expect).
- rotors/motors are defined in the primary space (resulting in e.g. the expected value for identity etc).

## \mathbb R_{3,0,1}

- elements are defined in the primary space.
- rotors/motors are defined dually. (perhaps contrary to what some expect).

In practice, these choices really are almost about notation only. Both algebras are trivially isomorphic and it is perhaps good for readers to understand this. Whether or not you dualize your elements and take the normal GP, or not dualize your elements but use the anti-GP is just a matter of brackets.

I’d suggest that in a situation where it makes more sense to have your transformations in the primary space, pick \mathbb R^*_{n,0,1}, and in the other case pick \mathbb R_{n,0,1}.

I’m not sure I get the matrix argument? The memory layout of \mathbb R^*_{3,0,1} 3-vectors is exactly the same as that of \mathbb R_{3,0,1} 1-vectors, I’m using the standard projection matrices and have never had one complain the four floats passed in used to be called a trivector. It seems to me that when going to LA one loses these types either way and it always comes with the bookkeeping of providing the correct matrix?

In closing, welcome again to the forum (although fair warning - those who dare suggest the projective model have been called ‘the degenerate club’), and looking forward to a continued productive cooperation !

S.

** edit - fixed some latex