0

Given a 4x4 orthonormal matrix with a determinant of 1, when interpreting this matrix as a rotation basis in 4D space, there exists a 4D geometric algebra rotor with scalar and bivector components (1 scalar number, 6 bivector numbers), and possibly a pseudoscalar, that describes the rotation of this matrix relative to a 4x4 identity matrix. How can this be computed?

The Wikipedia article about 4D rotations is completely missing information on geometric algebra rotors: https://en.wikipedia.org/wiki/Rotations_in_4-dimensional_Euclidean_space

The Wikipedia article about Quaternions and spatial rotation explains how to convert from a matrix, but does not explain how this generalizes to higher dimensions with rotors: https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

This question is related to Recover a 4D Rotor in geometric algebra from rotated vectors, since a 4x4 matrix can be thought of as a set of 4 rotated column vectors. However, an operation on 2 vectors would only allow for getting the rotation from the identity to one of the columns, while this question is asking for a general solution of the entire matrix at once.

This question is related to Decomposition of a single 4D rotation, however this question is not looking for a solution involving Euler angles, rather geometric algebra rotors and bivectors. I actually already have an algorithm for converting a 4D basis into 4D Euler angles, but then I also have no way to convert that to a 4D rotor.

  • Also related: https://math.stackexchange.com/questions/4361458/how-to-recover-a-rotor-in-higher-dimensions-from-the-vectors – mr_e_man Apr 10 '25 at 20:19
  • This answer of mine is related and perhaps answers your question. Here the $v_i$ would be the standard basis and the $v^{\prime i}$ would be columns of your rotation matrix. – Nicholas Todoroff Apr 21 '25 at 15:28
  • "get a third vector with the cross product" doesn't apply to 4 dimensions. Also, any solution will require handling of double rotations. – Aaron Franke Apr 23 '25 at 14:22
  • @AaronFranke Maybe read past the first section before offering criticism. – Nicholas Todoroff Apr 24 '25 at 13:22
  • All you need are a frame and its image under rotation. The specific question I linked to was in 3D and specified a frame using only two vectors; but how you get a frame is irrelevant to the method itself. I told you in my previous comment what the frame $v_i$ and its (reciprocal) image $v^{\prime i}$ should be – Nicholas Todoroff Apr 24 '25 at 13:28
  • I also give an explicit formula for 4D rotors with nonzero scalar part. I am not sure at the moment exactly what this restricts us to in terms of rotations (I think rotations which don't have a $180^\circ$ component), but it covers the vast majority of them, including double rotations. – Nicholas Todoroff Apr 24 '25 at 13:36
  • I'm confused, if it's simple enough that you have a solution, why not post it as an answer? – Aaron Franke Apr 26 '25 at 20:45
  • That's a strange thing to be "confused" about. (1) It's not a solution because it doesn't cover $180^\circ$ rotations, and handling that as a separate case is work I don't want to do right now. (2) In you're particular case, there are probably nice simplifications that can be made, and that's not work that I want to do right now. (3) I only have access to my phone right now, and don't want to do all of that on a mobile keyboard. (4) You're more than welcome to write your own answer based off my link if you feel like you can satisfactorily answer your own question. – Nicholas Todoroff Apr 26 '25 at 21:58

0 Answers0