biVector forum

Linear operators to versors

What are the conditions for a general linear operator (e.g. matrix) to be representable as a versor sandwich product? Basically I’m thinking about something like the post Generating a 4x4 Transformation Matrix from PGA3D but in reverse.

It seems there are clear examples for orthogonal and (IIRC) skew-symmetic matrices, but is there a general test? (Full rank, positive definite, something like that?)

The linear operator needs to be an element of the orthogonal group for it to be representable as versor, which means it’s full rank and \det = \pm1 (if it has a unit scaling factor).

Thanks. I knew orthogonal group was sufficient, just wasn’t sure if it was necessary.

Note that the sandwich product used in most GA implementations only works for rotations and not for reflections. In Grassmann.jl and in my paper, I present a more general sandwich product which works on all versors (both reflectors and rotations and rotoreflections).

1 Like

For a linear transformation on an n dimensional vector space to be representable as a sandwich product of a versor generated by vectors in that space, the linear transformation needs to be an orthogonal transformation.

However, Doran et al. have shown that any linear transformation can be represented as an orthogonal transformation on a higher dimensional space. In other words, the general linear group on an n dimensional space is a subgroup of the orthogonal group of a larger space. This means that all linear transformations can be represented as versors in a larger space.

See for details.


Versor transformations are invertible. Not all linear transformations are. So this must be an overinterpretation of Doran.

1 Like