I am attempting to implement a geometric algebra based Rotor in a math code library I am writing. In order to do so, I'm attempting to derive the final result of both pre-multiplying a 'rotor' with a vector and then post-multiplying the inverse of the rotor with the result, i.e.
given a rotor ab which is the geometric product of two vectors a and b, and a third vector v, I want to find
ab v ab
I've worked this out such as the following https://github.com/termhn/ultraviolet/blob/rotors/docs/rotor3_rotate_derivation.txt
however, after implementing it, it doesn't give me the expected results. I would appreciate someone checking my work and/or my theory on how this should be implemented in the first place.
Implementation here: https://github.com/termhn/ultraviolet/blob/rotors/src/rotor.rs#L264-L286
I made a couple of minor errors in both the derivation and implementation that were fixed upon closer inspection on a new day. See this commit diff for details: https://github.com/termhn/ultraviolet/commit/55b2d00a758ed8afd7f2fd509014de82b5f16c91