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